Blog

neigeの練習で愕然とした話

使い始めると新たな気づきがあります

何事も慣れが大事だけど…

 最近はneigeでの操作に慣れるために日本語入力切替やかな漢字変換の練習をしています。これらの操作の練習はタイ速などのタイピング練習サイトではできないため,Blogの記事の下書きなど,ちょっと長めの文章を作成するときにneigeを使っています。実際に練習してみると,ホームポジションに指を置けば目視しなくても操作ができることがわかり,少しずつ慣れてきています。
その副作用(?!)として久しぶりにHHKBを使うと,かな漢字変換するときにCtrlキーを押していることに気づいて愕然としました。

HHKBでCtrlキー短押しをSpaceキーにする

 解決策として,HHKBでもneigeと同じようにCtrlキー短押しでかな漢字変換ができるようにすればよいと考え,実行することにしました。
簡単に設定できるかと思いきや,私にとってはなかなか難しく,2日ほどはまり込みました。

Windows用設定

 AutoHotKeyを使って,以下のスクリプトを設定しました。

~LCtrl up::

if (A_PriorKey = "LControl") {
  Send, {Space}
}
Return

参考サイト1 / 参考サイト2

参考サイト1の情報をもとにしてスクリプトを作りましたが動作せず,他のサイトを参考にしたスクリプトも動かなかったので途方に暮れていましたが,参考サイト2の情報を見てスクリプトをA_PriorKey = "LCtrl"から,A_PriorKey = "LControl"書き直したら何と動作しました。

Mac用設定

 Karabiner-Elementsで以下のスクリプトを設定しました。

{
  "description": "Controlキー短押しでSpace、長押しで通常のControlキー",
  "manipulators": [
  {
    "conditions": [
    {
      "identifiers": [
      {
        "description": "HHKB Classic",
        "product_id": 32,
        "vendor_id": 1278
      }
      ],
      "type": "device_if"
    }
    ],
    "from": {
      "key_code": "left_control",
      "modifiers": { "optional": ["any"] }
    },
    "parameters": {
      "basic.to_if_alone_timeout_milliseconds": 250,
      "basic.to_if_held_down_threshold_milliseconds": 100
    },
    "to": [
    {
      "key_code": "left_control",
      "lazy": true
    }
    ],
    "to_if_alone": [{ "key_code": "spacebar" }],
    "to_if_held_down": [{ "key_code": "left_control" }],
    "type": "basic"
  }
  ]
}

参考サイト3 / 参考サイト4 / 参考サイト5

メインは参考サイト3のスクリプトを書き換えたものです。Ctrlキー短押しでSpaceキーが出力されるようになった後に,HHKBを接続したときだけこのスクリプトが動くようにしようと参考サイト4と5の記事を見ながら追加しました。

細かい設定ができるソフトウェア

 上記で設定した内容は,私が使っているHHKB以外のキーボード(EPOMAKER TH40とneige)ではスクリプトなしで動作するので,Karabiner-ElementsのスクリプトはHHKB Classicを接続しているときだけ動作するようにしています。AutoHotKeyは特定のキーボードだけを指定してスクリプトを動かすことができないようなので,今のところは未設定です。
AutoHotKey,Karabiner-Elementsはどちらも細かいキーマップ設定ができて便利なソフトウェアです。Web上の情報も豊富なので,設定したい内容について調べると解決できるところも素晴らしいです。

Comment on this article

コメントはまだありません。

Send comments

Required
 
※ Your email address will not be published
Any
Required
Loading...  Please enter the letters of the image
9
10
11
12
13
14
15
16