LoginSignup
0
3

More than 3 years have passed since last update.

MacでUSキーボードの左右Cmdを英/かな設定した際のことえりバグを回避する

Last updated at Posted at 2019-06-06
環境:

MacBookPro(10.13.6|US) + 外付けWinUSキーボード
MacBookPro(10.13.6|JIS) + 外付けWinUSキーボード
MacBookPro(10.13.6|JIS) + 外付けMacUSキーボード

問題:

USキーの左右Commandキーを英数/かなに変更して文字入力していると、不可視文字が入力されていることがある。これを回避する。

原因:

Command/Control/Option/Shift + EISSU もしくは、Command/Control/Option/Shift + KANA の入力で、不可視の0x08(バックスペース)の制御コードが挿入される。
img.png
これはMacOSと、ことえり(日本語IM)のバグでかなり前からあるけどずっと解消されていない。とのこと。
https://blog.right-apps.com/develop/2018/post-62/
http://kawaken.hateblo.jp/entry/2018/04/02/234339

解決法:

Karabiner-Elements の complex_modifications で調整する。


Karabiner-Elements をインストールし、一旦キー配列のみ変更。
https://pqrs.org/osx/karabiner/ (記事時点では、v12.4.0)

▼ キーリマップ

キーボードDIPスイッチ: 左Alt ←→ 左Command (入れ替え)
Karabiner-Elements: 右Alt → 右Command 
スクリーンショット 2019-06-06 19.16.13.png

▼ complex_modifications での調整

https://pqrs.org/osx/karabiner/complex_modifications/
↑ここから、 For Japanese (日本語環境向けの設定) (rev 4) をダウンロードしてインストールして使っていたのですが、デフォルトの設定だと、 Control/Option/Shift + Command の一度押しで、0x08(バックスペース)の制御コードが入力されてしまう。
スクリーンショット 2019-06-06 19.19.54.png

設定をよく見ると、modifiers でほかのキーを押している状態でも、コマンドの1回押しで数・かなキーが送られるようになっていた。modifiers を丸っと削除したところ、不可視文字の入力を回避することに成功。

デフォルト

          "from": {
            "key_code": "left_command",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },

調整後

          "from": {
            "key_code": "left_command"
          },

以上。同じ状況で困っている人の参考になれば幸いです。

メモ

▼ 自分の環境でのMacUSキーの左右Commandキーを英数/かなに変更する方法の変遷。
  1. KeyRemap4MacBook(~10.8)
  2. Karabiner(~10.11) [このKarabinerにはこのバグをFixするアセットがデフォルトで入っていたのですが、Elementsだと無い。]
  3. ⌘英かなApp[https://ei-kana.appspot.com/] (~10.12)
  4. Karabiner-Elements(~10.13)

参考リンク
https://qiita.com/s-show/items/40ad22c4ee4a0465fad5
https://qiita.com/nekoneko_mon/items/4450646fe1dbb052bd6c

▼ しかしながら、option+control+記号以外の文字 で DEL が入力される問題は解消できず…。

▼ 追記

MacBookPro側のキーボードが JISキーの場合、Karabiner-Elements が立ち上がっていると、USキーとして認識されてちょっとパニクる。
→ Karabiner-Elementでコントロールしたい外部キーボード以外を、Devicesから外してあげるとうまくいく。
karabiner_E_LEO98_4_Devices.png

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3