;; ;; レジストリが変更できずCapsLock⇔無変換をしない場合用 ;; ;; エクスプローラでアドレスバーにカーソルを移動させる「Alt+d」と ;; 削除を表す「無変換+d」とを押し間違えないように、「無変換+d」は ;; 二連打した場合に削除として動作させる。 ;; ;; ;; グローバル変数 ;; ;; 選択状態を格納する。(1:選択中) is_space := 0 ;; ;; 移動系(標準) ;; ;; 無変換 + F => 1文字右へ移動 sc07B & f:: { If is_space Send "{Shift Down}{Right}{Shift Up}" Else Send "{Right}" Return } ;; 無変換 + B => 1文字左へ移動 sc07B & b:: { If is_space Send "{Shift Down}{Left}{Shift Up}" Else Send "{Left}" Return } ;; 無変換 + N => 1行下へ移動 sc07B & n:: { If is_space Send "{Shift Down}{Down}{Shift Up}" Else Send "{Down}" Return } ;; 無変換 + P => 1行上へ移動 sc07B & p:: { If is_space Send "{Shift Down}{Up}{Shift Up}" Else Send "{Up}" Return } ;; 変換 + F => 1単語右へ移動 sc079 & f:: { If is_space Send "{Shift Down}^{Right}{Shift Up}" Else Send "^{Right}" Return } ;; 変換 + B => 1単語左へ移動 sc079 & b:: { If is_space Send "{Shift Down}^{Left}{Shift Up}" Else Send "^{Left}" Return } ;; 無変換 + A => 行頭へ移動 sc07B & a:: { If is_space Send "{Shift Down}{Home}{Shift Up}" Else Send "{Home}" Return } ;; 無変換 + E => 行末へ移動 sc07B & e:: { If is_space Send "{Shift Down}{End}{Shift Up}" Else Send "{End}" Return } ;; 無変換 + V => 次頁へ移動 sc07B & v:: { If is_space Send "{Shift Down}{PgDn}{Shift Up}" Else Send "{PgDn}" Return } ;; 変換 + V => 前頁へ移動 sc079 & v:: { If is_space Send "{Shift Down}{PgUp}{Shift Up}" Else Send "{PgUp}" Return } ;; 変換 + , => ファイルの先頭へ移動 sc079 & ,:: { If is_space Send "{Shift Down}^{Home}{Shift Up}" Else Send "^{Home}" Return } ;; 変換 + . => ファイルの末尾へ移動 sc079 & .:: { If is_space Send "{Shift Down}^{End}{Shift Up}" Else Send "^{End}" Return } ;; 変換 + L => スクリーン中央へ移動…としたいが15行上下に移動する sc07B & L:: { global is_space := 0 Loop 15 Send "{Up}" Loop 15 Send "{Down}" Loop 15 Send "{Down}" Loop 15 Send "{Up}" Return } ;; ;; 編集系(標準) ;; ;; 無変換 + Space => 選択開始 sc07B & Space:: global is_space := 1 ;; Alt => 選択解除 ~Alt:: global is_space := 0 ;; 無変換 + G => 選択解除 sc07B & g:: global is_space := 0 ;; 無変換 + M => 改行の入力 sc07B & m:: { global is_space := 0 Send "{Enter}" Return } ;; 無変換 + I => タブの入力 sc07B & i:: { global is_space := 0 Send "{Tab}" Return } ;; 無変換 + d => Deleteの入力 sc07B & d:: { ;; Alt+dの押し間違い防止のために押下2回とする。 if (A_PriorHotkey == A_ThisHotkey And A_TimeSincePriorHotkey < 300) { global is_space := 0 Send "{Del}" Return } } ;; 無変換 + h => BackSpaceの入力 sc07B & h:: { global is_space := 0 Send "{BackSpace}" Return } ;; 無変換 + W => 切り取り sc07B & w:: { global is_space := 0 Send "^x" Return } ;; 変換 + W => コピー sc079 & w:: { global is_space := 0 Send "^c" Return } ;; 無変換 + K => 行末までをコピー sc07B & k:: { global is_space := 0 Send "{Shift Down}{End}{Shift Up}^x" Return } ;; 無変換 + Y => 貼り付け sc07B & y:: { global is_space := 0 Send "^v" Return } ;; 無変換 + / => 元に戻す sc07B & /:: { global is_space := 0 Send "^z" Return } ;; 無変換 + O => 半角/全角 sc07B & o:: { global is_space := 0 Send "!{vkF3sc029}" Return } ;; ;; その他(Emacsとは無関係) ;; ;; 変換 + N => 次のタブへ移動 sc079 & n:: { global is_space := 0 Send "^{PgDn}" Return } ;; 変換 + P => 前のタブへ移動 sc079 & p:: { global is_space := 0 Send "^{PgUp}" Return } ;; 無変換 + Enter => Alt + Enter sc07B & Enter:: { global is_space := 0 Send "!{Enter}" Return } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; 以降はCapsLockと無変換を入れ替えない場合は利用価値が無いのでコメントアウト ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; 変換 + 1 => F1 ;; sc079 & 1:: ;; { ;; global is_space := 0 ;; Send "{F1}" ;; Return ;; } ;; ;; ;; 変換 + 2 => F2 ;; sc079 & 2:: ;; { ;; global is_space := 0 ;; Send "{F2}" ;; Return ;; } ;; ;; ;; 変換 + 3 => F3 ;; sc079 & 3:: ;; { ;; global is_space := 0 ;; Send "{F3}" ;; Return ;; } ;; ;; ;; 変換 + 4 => F4 ;; sc079 & 4:: ;; { ;; global is_space := 0 ;; Send "{F4}" ;; Return ;; } ;; ;; 変換 + 5 => F5 ;; sc079 & 5:: ;; { ;; global is_space := 0 ;; Send "{F5}" ;; Return ;; } ;; ;; ;; 変換 + 6 => F6 ;; sc079 & 6:: ;; { ;; global is_space := 0 ;; Send "{F6}" ;; Return ;; } ;; ;; ;; 変換 + 7 => F7 ;; sc079 & 7:: ;; { ;; global is_space := 0 ;; Send "{F7}" ;; Return ;; } ;; ;; ;; 変換 + 8 => F8 ;; sc079 & 8:: ;; { ;; global is_space := 0 ;; Send "{F8}" ;; Return ;; } ;; ;; ;; 変換 + 9 => F9 ;; sc079 & 9:: ;; { ;; global is_space := 0 ;; Send "{F9}" ;; Return ;; } ;; ;; ;; 変換 + 10 => F10 ;; sc079 & 0:: ;; { ;; global is_space := 0 ;; Send "{F10}" ;; Return ;; } ;; ;; ;; 変換 + 11 => F11 ;; sc079 & -:: ;; { ;; global is_space := 0 ;; Send "{F11}" ;; Return ;; } ;; ;; ;; 変換 + 12 => F12 ;; sc079 & ^:: ;; { ;; global is_space := 0 ;; Send "{F12}" ;; Return ;; } ;; ;; ;; ;; ;; Windows標準のCtrlショートカットキーと同じ動作 ;; ;; ;; ;; ;; 無変換 + Z => Ctrl + Z ;; sc07B & z:: ;; { ;; global is_space := 0 ;; Send "^z" ;; Return ;; } ;; ;; ;; 無変換 + X => Ctrl + X ;; sc07B & x:: ;; { ;; global is_space := 0 ;; Send "^x" ;; Return ;; } ;; ;; ;; 無変換 + C => Ctrl + C ;; sc07B & c:: ;; { ;; global is_space := 0 ;; Send "^c" ;; Return ;; } ;; ;; ;; 無変換 + R => Ctrl + R ;; sc07B & r:: ;; { ;; global is_space := 0 ;; Send "^r" ;; Return ;; } ;; ;; ;; 無変換 + ; => Ctrl + ; ;; sc07B & vkBB:: ;; { ;; global is_space := 0 ;; Send "^;" ;; Return ;; } ;; ;; ;; 無変換 + : => Ctrl + : ;; sc07B & vkBA:: ;; { ;; global is_space := 0 ;; Send "^:" ;; Return ;; } ;; ;; ;; 無変換 + WheelDown => Ctrl + WheelDown ;; sc07B & WheelDown:: ;; { ;; global is_space := 0 ;; Send "^{WheelDown}" ;; Return ;; } ;; ;; ;; 無変換 + WheelUp => Ctrl + WheelUp ;; sc07B & WheelUp:: ;; { ;; global is_space := 0 ;; Send "^{WheelUp}" ;; Return ;; } ;;