🔶🔷単発押し
A というキーを C に割り当てたいなら、シンプルに
A::C
Send をつけた書き方。A 単発 で押した場合のみ C として機能。
A::Send 'C'
🔷A と B を組み合わせ
A & B::C
A を 押しながら B と押す、という意味です。 A と B の同時押しとは少し違います。
注意点:A 単発で A を入力することができなくなります。
この事象を解決するには、以下のような記述が必要です。
A::A ; A の単発押しは A
🔷無変換vk1Dとの組み合わせに対して、なんらかのコマンドを割り当て。
vk1D::vk1Dと書いておかないと、無変換を単発で利用できなくなってしまいます。
vk1D & Left::Home
vk1D & Right::End
vk1D & Up::PgUp
vk1D & Down::PgDn
^!Up::Send "!{Up 50}"
^!Down::Send "!{Down 50}"
無効化、別キーに割り当て
;.ahkファイルの中身
NumLock::Return ;NumLockを無効化
vkF0::Return ;CapsLockを無効化
Ins::Return ;Insertを無効化
vk1D::Return ;無変換キーを無効化(修飾キー化するため)
vkF2::Enter ;ひらがな/カタカナキーにEnterを割り当て
vk1D & vkF2::Tab ;無変換+ひらがな/カタカナでTab
vk1D & Space::+Tab ;無変換+スペースでShift+Tab
Ins & N::Run, Notepad.exe ;Insertはアプリケーションの起動やフォルダを開くのに使用
;(実際にはメモ帳ではなく他のアプリケーションを設定しています)
;変換キーにCtrlを割り当て
*vk1C:: Send,{Blind}{Ctrl DownTemp}
*vk1C Up:: Send,{Blind}{Ctrl Up}
AutoHotkey v2 でキーボードのキーをカスタマイズする
https://note.com/naruru_cosmos/n/n43985449b86d
#Requires AutoHotkey v2.0
;「無変換キー+wasdで矢印キー」無変換キーはvk1D 矢印キーの設定
vk1D & w::Send "{Up}"
vk1D & a::Send "{Left}"
vk1D & s::Send "{Down}"
vk1D & d::Send "{Right}"
;「変換キー+jでエンター、+kでバックスペース」変換キーはvk1C 矢印キーの設定 遠いEnter と backspaceを移動する
vk1C & j::Send "{ENTER}"
vk1C & k::Send "{BS}"
;「無変換+上段キー」でファンクションキーの動作をさせる
vk1D & 1::Send "{F1}"
vk1D & 2::Send "{F2}"
vk1D & 3::Send "{F3}"
vk1D & 4::Send "{F4}"
vk1D & 5::Send "{F5}"
vk1D & 6::Send "{F6}"
vk1D & 7::Send "{F7}"
vk1D & 8::Send "{F8}"
vk1D & 9::Send "{F9}"
vk1D & 0::Send "{F10}"
vk1D & -::Send "{F11}"
vk1D & ^::Send "{F12}"
;「無変換キー+wasdで矢印キー」無変換キーはvk1D 矢印キーの設定
vk1D & w::Send "{Up}"
vk1D & a::Send "{Left}"
vk1D & s::Send "{Down}"
vk1D & d::Send "{Right}"
;「変換キー+jでエンター、+kでバックスペース」変換キーはvk1C 矢印キーの設定 遠いEnter と backspaceを移動する
vk1C & j::Send "{ENTER}"
vk1C & k::Send "{BS}"
;「無変換+上段キー」でファンクションキーの動作をさせる
vk1D & 1::Send "{F1}"
vk1D & 2::Send "{F2}"
vk1D & 3::Send "{F3}"
vk1D & 4::Send "{F4}"
vk1D & 5::Send "{F5}"
vk1D & 6::Send "{F6}"
vk1D & 7::Send "{F7}"
vk1D & 8::Send "{F8}"
vk1D & 9::Send "{F9}"
vk1D & 0::Send "{F10}"
vk1D & -::Send "{F11}"
vk1D & ^::Send "{F12}"
AutoHotKeyのコードをV1からV2に移行する
https://note.com/l3ia/n/nbc3e2c37b59a
#Requires AutoHotkey v2.0
vk1D:: return
vk1D & i:: Send "{Blind}{Up}"
vk1D & j:: Send "{Blind}{Left}"
vk1D & k:: Send "{Blind}{Down}"
vk1D & l:: Send "{Blind}{Right}"
vk1D & u:: Send "{Blind}{Backspace}"
vk1D & o:: Send "{Blind}{Delete}"
vk1D & Space:: Send "{Blind}{Enter}"
*vk1C:: Send("{Blind}{Ctrl DownR}")
*vk1C up:: Send("{Blind}{Ctrl Up}")
~vk1C & LAlt::#^F1
~vk1C & Space::Send("{Escape}")
~vk1C & q::Send("{Alt Down}{F4}{Alt Up}")
~LAlt & i:: Send "{Blind}{Alt Down}{Up}"
~LAlt & j:: Send "{Blind}{Alt Down}{Left}"
~LAlt & k:: Send "{Blind}{Alt Down}{Down}"
~LAlt & l:: Send "{Blind}{Alt Down}{Right}"
~LAlt up:: {
if (A_PriorKey = "LAlt") {
Send("{vkF2sc070}{vkF3sc029}")
}
return
}
【AutoHotkey】自分のカスタマイズ内容
https://maru-note.net/entry/2022/02/20/234816
; 無変換の単発押しは無変換
vk1D::vk1D
;「無変換 + Space」で「Enter」
vk1D & Space::Enter
;「無変換 + J 」で「←」
;「無変換 + I 」で「↑」
;「無変換 + K 」で「↓」
;「無変換 + L 」で「→」
vk1D & I::Up
vk1D & J::Left
vk1D & K::Down
vk1D & L::Right
;「無変換 + H 」で「Back Space」
;「無変換 + ; 」で「Delete」
vk1D & H::BS
vk1D & vkBB::Delete
;「無変換 + A 」で「Home」
;「無変換 + E 」で「End」
vk1D & A::Home
vk1D & E::End
AutoHotkey v2の使い方
https://eastline.jp/autohotkey/
60%キーボード
;HotKeyのループを防ぐディレクティブ。例えばa::Send "a" がループになるのを防ぐ
#UseHook true
;vk1Dは無変換キーの仮想コード
;Functionキーを数値に割り当て
vk1D & 1::Run("explorer") ;F1キーは使わないので,explorer起動に割り当て
vk1D & 2::Send("{Blind}{F2}")
vk1D & 3::Send("{Blind}{F3}")
vk1D & 4::Send("{Blind}{F4}")
vk1D & 5::Send("{Blind}{F5}")
vk1D & 6::Send("{Blind}{F6}")
vk1D & 7::Send("{Blind}{F7}")
vk1D & 8::Send("{Blind}{F8}")
vk1D & 9::Send("{Blind}{F9}")
vk1D & 0::Send("{Blind}{F10}")
vk1D & -::Send("{Blind}{F11}")
vk1D & ^::Send("{Blind}{F12}")
;矢印キーをviエディタ風に割り当て
vk1D & h::Send("{Blind}{Left}")
vk1D & j::Send("{Blind}{Down}")
vk1D & k::Send("{Blind}{Up}")
vk1D & l::Send("{Blind}{Right}")
;その他の割り当て
vk1D & n::Send("{Blind}{Home}")
vk1D & m::Send("{Blind}{End}")
vk1D & ,::Send("{Blind}{PgUp}")
vk1D & .::Send("{Blind}{PgDn}")
;アプリキーはキーボードによって位置が違ったり無かったりするのでaに割り当て
vk1D & a::AppsKey
;無変換キー単独クリックの割り当て。これが無いとカナ変換が機能しない。UP時にSendされる
vk1D::Send("{vk1D}")
;Delの割り当て
+BS::Send("{Del}")
^+BS::Send("^{Del}")
;SC029は半角全角キーのスキャンコード。「1」キーの左のキーが半角全角キーである想定。1回押下はIME切り替えで、2連打はEscの機能とする。チルダ(~)があるのでSend("{SC029}")の記述は不要。
~SC029::
{
If (A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey < 400) {
Send("{Esc}")
}
}
AutoHotkey v2で実現するViエディタ風モーダル機能
https://eastline.jp/autohotkey3/
;;;;;;;;;;; VIM風のモーダル機能の実装 ;;;;;;;;;;;;;;
;Ctrlキーをキーストローク(Down+Up)でVimのように挿入モードとコマンドモード(当スクリプトではFuncionModeと呼ぶ)を行き来する。
;また、無変換キーの押下中(Down中)でもVimのコマンドモード(当スクリプトではFuncionModeと呼ぶ)のようになる。無変換キーを離した状態だと通常の挿入モードになる。
; ctrlでFuncionModeにする場合、Excel等のオブジェクトの複数選択のctrl+マウスクリックや、ブラウザのリンククリックによるタブ追加のCtrl+マウスクリック時に意図せずFuncionModeになるので、これを防ぐ。
global mouse_count1 := 0
global mouse_count2 := 0
; FnModeフラグ 0:通常モード 1:Fnモード
global FnMode_f := 0
; FnMode_fがFnモードである事を示すGUI
global FnModeGui := "" ;
; ctrlでFuncionModeにする場合、Excel等のオブジェクトの複数選択のctrl+マウスクリックや、ブラウザのリンククリックによるタブ追加のCtrl+マウスクリック時に意図せずFuncionModeになるので、これを防ぐ。
~^LButton up::
~^RButton up::
{
global
mouse_count1 += 1
}
; 左CtrlでFnModeを切り替える
~LCtrl UP::
{
global
if ((A_PriorKey = "LControl" and mouse_count1 = mouse_count2 )) {
if (FnMode_f>0) {
sub_FnModeEnd()
} else {
sub_FnModeStartP()
}
}
mouse_count2 := mouse_count1
}
; 無変換キーvk1D をFnキーとして使用する。
vk1D::
{
sub_FnModeStart()
; KeyWaitはT秒待ち、タイムアウトしたら 0(偽)を、そうでないなら 1(真)を返す
; 無変換キーを0.2秒で離すならカナ変換を意図する
if (KeyWait("vk1D", "T0.2")) {
; 無変換キーを0.2秒で離す間に別キーを押下している場合はカナ変換の意図なし
if (A_ThisHotkey= "vk1D") {
Send("{vk1D}")
}
} Else {
KeyWait("vk1D")
}
sub_FnModeEnd()
}
#HotIf (FnMode_f=1)
;Functionキーを数値に割り当て
*1::Send("{Blind}{F1}")
*2::Send("{Blind}{F2}")
*3::Send("{Blind}{F3}")
*4::Send("{Blind}{F4}")
*5::Send("{Blind}{F5}")
*6::Send("{Blind}{F6}")
*7::Send("{Blind}{F7}")
*8::Send("{Blind}{F8}")
*9::Send("{Blind}{F9}")
*0::Send("{Blind}{F10}")
*-::Send("{Blind}{F11}")
*^::Send("{Blind}{F12}")
;矢印キーをviエディタ風に割り当て
*h::Send("{Blind}{Left}")
*j::Send("{Blind}{Down}")
*k::Send("{Blind}{Up}")
*l::Send("{Blind}{Right}")
;その他の割り当て
*n::Send("{Blind}{Home}")
*m::Send("{Blind}{End}")
*,::Send("{Blind}{PgUp}")
*.::Send("{Blind}{PgDn}")
;アプリキーはキーボードによって位置が違ったり無かったりするのでaに割り当て
a::AppsKey
#HotIf
;Delの割り当て
+BS::Send("{Del}")
^+BS::Send("^{Del}")
;SC029は半角全角キーのスキャンコード。「1」キーの左のキーが半角全角キーである想定。1回押下はIME切り替えで、2連打はEscの機能とする。チルダ(~)があるのでSend("{SC029}")の記述は不要。
~SC029::
{
If (A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey < 400) {
Send("{Esc}")
sub_FnModeEnd()
}
}
;;;;;;;;;;; Function ;;;;;;;;;;;;;;
sub_FnModeStart()
{ global ;グローバル変数を使えるよう記載
FnMode_f := 1
ToolTip("FnMode_f:" FnMode_f , 5, 100, 1)
}
sub_FnModeStartP()
{
global
FnMode_f := 1
A_NowFmt := FormatTime(A_Now, "HHmmss")
;画面全体のサイズを取得し、FnMode中である事を画面上部中央に表示する https://ahkscript.github.io/ja/docs/v2/lib/SysGet.htm
w := SysGet(0) ;SM_CXSCREEN
h := SysGet(1) ;SM_CYSCREEN
bar_size := "800"
x_cent := (w / 2)
y_cent := (h / 2)
x_loc := x_cent - bar_size/2
y_loc := 80
; FnModeGui の作成と設定 +ToolWindowはGUIをタスクバーに表示させない +AlwaysOnTopは最上位に表示
FnModeGui := Gui("-Caption +ToolWindow +AlwaysOnTop")
FnModeGui.Title := "fmtip"
FnModeGui.MarginY := 5
FnModeGui.MarginX := 5
FnModeGui.SetFont("s14", "Segoe UI Black")
FnModeGui.BackColor := "883322"
FnModeGui.AddText("x0 w" bar_size " Center cWhite", "FnMode_f" FnMode_f " " A_NowFmt "】") ; Textコントロールの追加(変数の埋め込みを修正)
FnModeGui.Show("NoActivate X" x_loc " Y" y_loc " W" bar_size) ;表示位置とサイズを設定して表示 NoActivateはフォーカスが現在のアプリから移動しないようにする。
WinSetTransparent(50, "fmtip") ;半透明
}
sub_FnModeEnd()
{ global ;グローバル変数を使えるよう記載
FnMode_f := 0
ToolTip() ;ToolTipを消す
if IsObject(FnModeGui) {
FnModeGui.Destroy
}
}
単独で押した時と他のキーと組み合わせ
🔶🔷[Autohotkey]一つのキーに対して、単独で押した時と他のキーと組み合わせて押した時の挙動を変える
https://qiita.com/awaha/items/ab46d61e75c31cee661b
ブラウザの開発ツール (DevTools) を無効化
なるほど。「ブラウザの開発ツール (DevTools) を無効化しているサイトで、それを解除する方法」ですね。
まず前提として:
開発者ツールを完全に無効化することは ブラウザ側で不可能 です。サイト側がやっているのは JavaScriptで妨害する仕組み にすぎません。
具体的には、...などが使われます。
F12 キーや Ctrl+Shift+I にイベントを仕掛けて無効化
document.onkeydown でショートカットを潰す
console.log にループを仕掛けてブラウザを重くする
右クリック禁止(contextmenu イベント)
回避方法(一般的な対処)
ブラウザ側のメニューから直接開く
Chrome: メニュー > その他のツール > デベロッパーツール
Firefox: メニュー > ウェブ開発 > 開発ツールを切り替え
→ JavaScriptでのショートカット封じは効きません。
ショートカットの上書きを無効化
ページを開いたらアドレスバーに...これで keydown の無効化スクリプトが解除されます。
javascript:void(document.onkeydown = null)
を打ち込んで Enter。
JavaScriptを一時的に無効化
これで妨害スクリプトが動かなくなり、普通に開発ツールが使えます。
Chromeなら「開発者モード拡張」や「DevTools Settings > Disable JavaScript」から。
ブックマークレットで右クリック禁止や妨害解除
javascript:(function(){document.oncontextmenu=null;document.onkeydown=null;document.onkeypress=null;document.onkeyup=null;})()
→ ブックマークに登録しておくと便利です。
Transform
⚠️ 注意点:
❶❷❸❹①②③④⭕✅🌒🌔🌕🌗🌘
🅰️🅱️🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹🅺🅻🅼🅽🄰🄱🄲🄳🄴🄵🄶🄷🄸🄹🄺🄻🄼🄽
//🔴🔵🟠️🟡️🟢️🟣️🟤️🟥️🟦️🟧️🟨️🟩️🟪️🟫️🔶🔷🔸🔹🔺🔻🔼🔽
`${sat} ${pos} ●[s0, s1]=\n🔺${s0},\n🔺${s1}`
`\t${sat} 🔄EACH:${iInd} [str0]=\n${Left(str0,100)}...`