夢見るようにPCを操作したい①
「ジュン、パソコンの操作が煩雑で鬱陶しいのだわ」
これは、たんにデフォルト状態のPC操作って使いにくすぎるので、なるべく簡単にしたいというだけの話である。
ただ私の流儀がある。
それは高価なデバイスを使わないこと。なぜならそれに依存してしまうといろいろ難儀なので。
千円のメンブレンキーボード、もしくはテンキーを使う。
それにAutoHotKeyでキーの再割り当てをする。
システムの操作
まず変換キーで日本語入力、無変換でローマ字入力を行う。OSの設定で可能なはずだが正常に動作しないのでAutoHotKeyから設定。
次に「BackSpace」キーが「マジかよ!?」という位置にあるので、無変換+spaceキーで代用。
(使用しない)caps lockキーでウィンドウを閉じるショートカットキーを割り当て
(余談だが、キーボードには不要なキーがいくつかある)。
あとは「カナ/かな ローマ字」キー+wasdで方向キー代用。
ブラウザ操作
shift+Enterで次のタブ、alt+Enterで前のタブに移動させる。
ブラウザにvimiumというアドオンを入れる。fキーを押すと、ページの要素にショートカットキーが割り当てられて、マウスを使わずにリンクを押せる(youtubeではもともとのショートカットキーと干渉する。その場合は無効化などする)。
以上を反映したコードが以下。
#InstallKeybdHook
#UseHook
IME_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
}
;無変換で半/全。WinのIME設定ではうまくいかないため。
sc07B::IME_SET(0)
;Caps Lockでウィンドウを閉じる
vkF0::Send,!{F4}
;無変換・スペースでバックスペース
sc07B & Space::Backspace
;shift+Enterでブラウザタブ移動(右)
+Enter::Send,^{PgDn}
;alt+Enterでブラウザタブ移動(左)
!Enter::Send,^{PgUp}
;マウス:進むボタン→ミドルクリック
XButton2::MButton
;マウス:戻るボタン→ブラウザタブ閉じる(alt+W)
XButton1::^w
;「カナ/かな ローマ字」キー+wasdで方向キー代用
sc070 & a::Left
sc070 & w::Up
sc070 & s::Down
sc070 & d::Right
IME_SET関数は次のサイトから引用
https://namayakegadget.com/765/
ただしバグる局面があるので改善中。
あとはListaryというファイル検索&ランチャーソフトを入れる(公式版もある)。
アイデアとしてはファイルやソフトを開くのはコマンドとして呼び出すだけにして、保存場所を辿ってクリックはしないようにする。エクスプローラーを開くのはファイルを削除するときとファイル名を忘れたときとフォルダ構成を確認するときだけ。だからファイル名はタグ付けの要領で関連した語を複数つけて、検索に引っ掛かりやすくしておく。