夢見るようにPCを操作したい③
「ジュン、いい加減このネタは飽きたのだわ」
なるべく簡単にPCを操作したいがための、キーボードのマッピングの変更なのだが、なんだか逆に難しくなっているような気がする…。vimを覚えた時のように
(そういや現実でvim使いって見たことないわ)。
ChangeKeyの設定
※赤枠が他のキーに変更した部分
Caps Lockは他のキーとは内部的に異なる挙動をするため、いったん使用しないキーに割り当ててからAutoHotKeyでカスタマイズする。
Autohotkeyの設定
#InstallKeybdHook
#UseHookIME_SET(SetSts, WinTitle="A") {
ControlGet,hwnd,HWND,,,%WinTitle%
if (WinActive(WinTitle)) {
ptrSize := !A_PtrSize ? 4 : A_PtrSize
VarSetCapacity(stGTI, cbSize:=4+4+(PtrSize*6)+16, 0)
NumPut(cbSize, stGTI, 0, "UInt") ; DWORD cbSize;
hwnd := DllCall("GetGUIThreadInfo", Uint,0, Uint,&stGTI)
? NumGet(stGTI,8+PtrSize,"UInt") : hwnd
}return DllCall("SendMessage"
, UInt, DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hwnd)
, UInt, 0x0283 ;Message : WM_IME_CONTROL
, Int, 0x006 ;wParam : IMC_SETOPENSTATUS
, Int, SetSts) ;lParam : 0 or 1
};Insert(Caps lock)でウィンドウを閉じる
Insert::Send,!{F4};無変換で半/全。WinのIME設定ではうまくいかないため。
sc07B::IME_SET(0);無変換・スペースでバックスペース
sc07B & Space::Backspace
;変換・スペースでdelete
sc079 & Space::Delete
;変換で日本語入力
sc079::IME_SET(1)
;無変換・LでEndキー押下
sc07B & l::End
;無変換・HでHomeキー押下
sc07B & h::Home;右shiftキーで文字をまとめて選択して削除(shift+←のちにバックスペース押下)
RShift::
Send, ^+{Left Down}{Left Up}
Send, {Backspace Down}{Backspace Up}
return;無変換+wasdで方向キー代替
sc07B & a::Left
sc07B & w::Up
sc07B & s::Down
sc07B & d::Right;shift+Enterでブラウザタブ移動(右)
+Enter::Send,^{PgDn}
;alt+Enterでブラウザタブ移動(左)
!Enter::Send,^{PgUp};マウス:進むボタン→ミドルクリック
XButton2::MButton
;マウス:戻るボタン→ブラウザタブ閉じる(alt+W)
XButton1::^w
※IME_SET()関数は次のサイトから引用
https://namayakegadget.com/765/