†Linuxなんて大キライ†
作成開始日 2021.06.18
最終更新日 2024.04.16
機能はスクリプトとして記述される
たとえば、BackeSpaceは「keyboard.send_keys("<backspace>")」という1行で記述可能。無論、より複雑なスクリプトを記述することができる。試してはいないが、2ストロークキーのエミュレーションなんかも出来るんじゃないかと思う。
キー変更は特定アプリに対してのみ有効にできる
グローバルにも設定可能だが、VirtualBoxのゲストOSにまで影響が及び、V-OS/2のキー入力が異常動作をする(AutoKeyでの設定とも異なった異常状態になる)。なので、VirtualBoxを使用する以上、実質的に特定アプリとの紐付けが必須となる。
設定は少し面倒
実際の作業と言うより、考え方に慣れるのがちと面倒臭い。たとえば、AutoKeyのキー設定はフォルダで管理するのが一般的。なぜ、キー設定にフォルダが必要?と言う異和感は拭えないのだが、これはキー設定をグループ化するため。適用するアプリケーションごとにキー設定フォルダを作成すれば、アプリケーションによって異なったキー設定群を使用することができるし、使用環境によってキー設定を切り替えることも楽。
A前準備
デフォルトで登録されているctrl+fやctrl+f7等を削除しておく。これらはグローバルに設定されていて、けっこう邪魔になる。画面左側の一覧でhotkeyが登録されている項目を選んで、右側のHotkeyの項目を[クリア]しておく。クリアのあとにツールバーにある[Save]をクリックして、変更を有効にする。
Bフォルダの作成
ツールバーの[新規|Folder]で新しいファイルを作成する。保存ダイアログが開くので、適当な場所(自分のルートディレクトリ?)に適当な名称をつけて作成する。
C新たなキーの作成
AutoKey上の作成された新規フォルダを選択した状態で[新規|Script]を選bび、スクリプトに適当な名称を付ける(ここでは仮に「BackSpace」とする)。
Dキーの登録
「BackSpace」を選択した状態で、ウィンドウの右パンのHotkeyの[Set]ボタンを押す。
次に、表示されたダイアログの[Press to set]を押し、登録したいキーコンビネーションを押す(例えばCtrl+h)(大文字小文字センシティブ?)。なお、最初にhのみを押して、後から[ctrl]ボタンを押してもctrl+hとなるようだ
E機能の登録
右パンの「#Enter script code」の下の行に、機能のスクリプトを記述する。たとえば、BackSpaceならば;
#Enter script code keyboard.send_keys("<backspace>")
F対応アプリの登録
まず、事前に対象としたいアプリのウィンドウを開いておく。次に、AutoKeyの[Window Filter]の[Set]ボタンを押す。で、出て来たダイアログで[Detect Window Properties]ボタンを押す。更に、事前に立ち上げたアプリのウィンドウをクリックする。最後に、「Window class」を確認して[OK]ボタンを押す。けっこう面倒臭い。
G設定を有効にする
ツールバーの[Save]ボタンを押す。Saveしないと設定は有効にならない。
HAutoKeyを最小化する
[File|Close window]で最小化すれば邪魔にならない。パネル右端の通知領域にAutoKeyのアイコンが表示される
対処方法としては、IME側の設定を変更して、変換確定からctrl+mを外すと、想定通りの動作をしてくれる。ただし、それはAutoKeyが有効なアプリに限定される。それ以外のアプリでは、単にIMEのctrl+mキー設定が無効になるだけ。これはこれで不便なので、どうしたものかと…使用するアプリを片っ端から登録するのは非現実的だし、前述のようにグローバル設定にしてしまうと弊害が大きい。Anthyはデフォ設定でCtrl+Jでも確定可能なので、こちらを使うと言う選択肢もあるが…
とりあえず弥縫策;leafpad/mousepadでは、Enter/Ctrl+mの両方を出力すればよい。
#Enter script code keyboard.send_keys("<enter>") keyboard.send_keys("<ctrl>+m")leafpad/mousepadには、ctrl+mに割り付けられている機能はない。したがって、Anthyが起動していない状態では、このコマンドは単に[Enter]として機能する。また、Anthyが起動している状況では[Enter]が無効化され、[Ctrl+m]=[確定]として機能する。