Keychron V5 のリマッピング再考

ANSI である Keychron V5 で日本語を入力するのはわけもない。 けれども入力ソースの切り替えが大変に面倒だという問題が発生。 そこで LED モード切替キー(右上の)を半角/全角キーに割当て、page up/down をそれぞれ「英数」と「かな」に割り当てましたよ・・・というのが前回の投稿。 でも忘れることにしました。 忘れついでに余談ですが、なんでキーコンビネーション(ctrl + space)を使わないのかっていう話なんですけど、それだと反映がキーを押し上げた時だからなんですよね。 ということで忘れました。

VIA も一旦すべての設定を戻し、やり直しました。 パッと見でわからないかもしれないんですけど、 Layer 0 と 1 とで F キーの内容を入れ替えました。 これで F7 でカナに変換されるようになります。 すごく便利だった、これ。

Karabiner Elements もすべての設定を削除しました。 その上で左⌘を「英数」に、右⌘を「かな」にしました。 以前、簡単設定で割り当て直したところ、キーボードショートカットが効かなくなるという不幸すぎる事態に陥ったのでさっさと諦めてしまったのですが、そっちじゃないんですね。

Complex Modifications から Add rule をクリック。

下にある Import more rules … ボタンをクリックしますとブラウザが立ち上がります。

International (Language Specific) リンクから、

RDF for Japanese, US Keyboard … の Import ボタンをクリックしますと、

許可を求められるので Karabiner-Elements.app で開く。

こっちでもインポートするか訊かれるのでインポート。

新たに追加された設定の、上の「[RDP] RDP アプリ以外では、コマンドキーを単体で押したときに、英数・かなキーを送信する。…」を Enable します。 これで完了。 たったこれだけで完了!

次に、懐かしの半角/全角キーの復活なんですが、現在ここは「`/~」キーになってるんですよね。 これは温存しておきたいので(そうじゃないと他のキーボードを使う場面で苦労しそう)、その上の esc キーを割り当てます。

{
 "title": "esc -> F13 ただし0.5秒押しで esc"
,"rules": [{
	 "description": "esc -> F13 ただし0.5秒押しで esc"
	,"manipulators": [{
		 "type": "basic"
		,"from": {	 "key_code": "escape"
					,"modifiers": { "optional": ["any"] }
					}
		,"parameters": {	 "basic.to_if_alone_timeout_milliseconds": 500
							,"basic.to_if_held_down_threshold_milliseconds": 500
							}
		,"to_if_alone": [{ "key_code": "f13" }]
		,"to_if_held_down": [{ "key_code": "escape" }]
		,"conditions": [{
			"type": "device_if",
			"identifiers": [{
				 "vendor_id": 13364
				,"product_id": 848
				,"description": "Keychron V5"
				}]
			}]
		}]
	}]
}

こういう json ファイルを用意して、 ~/Users/(username)/.config/karabiner/assets/complex_modifications/ の中に入れます。 そしてさっきの Complex Modifications を開くと、

設定が追加されているので Enable する。

これで、トンっとタップすると esc はもはや 半角/全角 になります。 0.5秒長押しすれば元の esc キーを押したのと同じになります。

これで完成かな。 もうこれ以上はいいかな。

追記:システム環境設定で入力ソースの切り替えに F13 を割り当ててあります。 素の状態から設定するのであれば、この F13(というかキーボード上にない)キーの割当を行う必要があります。

2023.05.09 追記:ずいぶんタイピングにも慣れてきて、この esc キーのカスタマイズはオフにしました。 様々な環境下で半角/全角キーを押すということがなくなりました。