MacのJIS配列でUS配列を超える
⌨️

MacのJIS配列でUS配列を超える

2022/08/01公開

JIS配列かUS配列か

どっちも良いと思います。

ノートPCの苦悩

ノートPCだと、キーボードの物理的な配列を後から変えられないですよね。昔のMacBookシリーズではキーボード配列の換装サービスがあったようなんですが、ユニボディ化された現在ではあり得ません。

今の私は、JIS配列のMacBookシリーズばかりを持ちつつもUS配列に凝ってしまっているので、「物理的なJIS配列キーボードを論理的にUS配列っぽく使う」ことを試してみました。

以下、物理的なキーボードのキー配列と論理的に設定した配列との混同を防ぎたいので「物理JIS配列」「物理US配列」「論理JIS配列」「論理US配列」と回りくどい書き方をします。

物理JIS配列と物理US配列の私用比較

物理JIS配列は左寄り

物理JIS配列は物理US配列に比べて総じて左側に寄ってしまっているため、昨今のMacBookで巨大化しているトラックパッドを右手の小指球(小指の付け根から手首までの部位)で誤作動させてしまうことがあります。

物理JIS配列のキー数>物理US配列のキー数

右手小指球によるトラックパッド誤動作の予防にはならないものの、物理US配列よりもキー数が多いという物理JIS配列の特徴を活かして、物理JIS配列で論理US配列を模して物理US配列を超えられるんじゃねーの?と思うわけです。

とはいえ、どちらが優れているというものでも無いので、超える超えないという表現は本質的ではありませんが。

Karabiner-Elements

ここで登場するのが定番ソフトウェアKarabiner-Elementsです。はい来た定番中の定番。これを使えばキー配列をいい感じにできます。

以上です。

優れた解説サイト(私が参考にさせていただいたサイトは後述します)が多数がありますので、そちらをご覧ください。本サイトをこれ以上ご覧いただく必要はありません。とはいえもしもお暇ならば、もう少しお付き合いいただければ嬉しいです。

参考サイト

次のサイトを参考にさせていただきました。ありがとうございます。

  • Karabinarのキー置換定義に独自の例外アプリ指定を設定する
  • Karabiner-Elementsで特定アプリの使用時のみキーバインドを変更する
  • JISキーボード上でUSキー配列を実現し、さらにセミコロンをエンターにする
  • 快適キーボード操作のためのキーカスタマイズ ~Mac編~
  • Karabiner-Elementsの設定項目をまとめました

私の設定

macOS標準機能での配列変更

システム環境設定 - キーボード - キーボードの種類を変更… で論理的な配列設定をJIS配列からUS配列(ANSI配列)に変更するだけで大体論理US配列になります。但し物理JIS配列である以上次のような制限が生じます。

  • バッククォートキーが存在しないので直接入力できない。
  • 「¥|」キーが機能しないので勿体無い。
    • そして、「¥|」キーに該当するキーは「む」キーとなって個人的には分かりづらい。
  • 「ろ」キーが機能しないので勿体無い。

そこでKarabiner-Elementsの出番となるので、macOS標準機能での修飾キー機能変更は行なわないでおきます。

Karabiner-Elementsでの設定

  • Virtual Keyboardタブ
    • Country code: 0
      • ANSI (North America, most of Asia and others) に該当)のままにしておきます。もしも違うキーボードタイプが選択されていたら0にしておきましょう。
  • Simple modificationsタブ
    • caps_lock → left_control
      • もしもこの設定がデフォルトで入っていたら、物理JIS配列を使用している場合には削除しておきましょう。
      • 物理US配列の場合には「A」キーの左隣のcaps lockキーをcontrolキーとして使いたいので必要ですが、物理JIS配列は最初から「A」の左隣がcontrolキーというステキ仕様なので不要です。
    • caps lock → fn
      • 物理JIS配列ではカーソルキーの近くにあるfn(地球儀)キーをバッククォートに割り当てたいので、先にcaps lockをfnに変更しておきます。
      • この辺りから個人的趣味に入ってきますが、物理US配列だと左下隅がfn(地球儀)キーになっているので、それに揃えるのも良いかな、と。
    • fn → grave_accent_andtilde (`)
      • fnキーでバッククォートを直接入力できるようになります。
      • 物理US配列では「1」キーの左隣にはバッククォートキーが配置されているのですが、物理JIS配列では「1」キーが左端なので置き場所を考えなければなりません。個人的趣味で、「,」や「.」といった記号に近い場所に置いてみようかと。
    • international3 → delete_or_backspace
      • 物理JIS配列での「¥|」キーは international3 というキー名称に該当します。
      • macOS標準機能で論理US配列にした場合「¥|」キーには機能が割り当てられませんので、ここでbackslash (\)を割り当てるのではなく、敢えてbackspaceを割り当てる変態カスタマイズ。これで本来のbackspaceと組み合わせてbackspaceキーが大きくなったような気になります。物理JIS配列が左寄りなので、物理JIS配列だと小さなサイズのbackspaceキーを左側に広げてしまいます。
      • 個人的趣味ですけど。でも他に用途無いんですよ、物理JIS配列だとキーが多過ぎて。
    • backslash (\) → return_or_enter
      • 物理的JIS配列をmacOS標準機能に論理US配列化すると、「む」キーが「¥|」キーとなります。これをreturnキーにしてしまいましょう。backspaceキーを左に広げたのですから、returnキーも左に広げましょう。物理JIS配列が左寄りなのは仕方が無いので、もう手全体を左側に寄せることにします。backspaceとreturnにも付き合ってもらいます。
      • 「¥|」キーをどうすんじゃい、という点は次の設定で対応します。
    • international1 → backslash (\)
      • 物理JIS配列での「ろ」キーは international1 というキー名称に該当します。
      • macOS標準機能で論理US配列に変えただけでは¥つまりバックスラッシュが「む」キーというよく分からないところに割り当てられてしまうので、どうせなら「/ ?」キーの右隣に「¥|」キーをおきましょう。
      • 最初から international3 に backslashを割り当てたらキートップと同じキー値になるだろ、っていう話なのですが、スラッシュとバックスラッシュが隣り合って美しいと思います。個人の感想です。それに、キートップとキー値とが異なりまくるので、後述の方法でキートップを隠蔽してしまいます。
  • Complex modificationsタブ
    • For Japanese (JIS配列をASCII配列風にする設定)
      • 英数・かなキーを他のキーと組み合わせて押したときに、コマンドキーを送信する。
        • 物理JIS配列を論理US配列として使う場合におすすめの設定です。
        • 物理US配列を論理JIS配列っぽく使うため、左commandキー単独押下時に英数キーとして、右commandキー単独押下時にかなキーとして設定する、という方法論は結構メジャーです(Karabiner-Elementsの利用目的がこの設定である人が多いと思います)。この設定は、その逆バージョンです。英数キーとかなキーをcommandキーとして使えるようにしてくれます。
      • コマンドキーをオプションキーに置き換える。
        • 英数・かなキーをcommandキーとしても使えるようにすると、本来のcommandキーが邪魔になります。そして、optionキーが左側に遠いこと、そして物理US配列ではoptionキーが左右に1個ずつあるのに、物理JIS配列ではなんで右側に無いんじゃい、という話になります。
        • そこで、この設定を有効にします。これで物理JIS配列でも左右にcommandキーとoptionキーを完備できることになります。
  • Simple Modificationsタブ
    • left_option → Set mouse cursor position to the center of the first screen
      • ここでSimple Modificationsに戻ります。英数・かなキーをcommandキー兼用とし、commandキーをoptionキーに変えると、物理JIS配列ではoptionキーが余ってしまうのです。好きな機能を割り当てると良いと思うのですが、Karabiner-Elementsではちょっと面白いことができます。
      • Karabiner-Elemetnsでは設定によりキー操作でマウスカーソルを瞬間移動させたりできるようになります。上述の設定を行うと、optionキー一発でマウスカーソルを1番目のモニタの中央に移動させることができます。
      • 私だけかも知れませんが、Windowsの場合よりもmacOSではマウスカーソルを見失い易いので(白抜きカーソルがあると良いのですが)、結構便利です。
      • 物理JIS配列では本当にキー数が潤沢です。
      • 但し、ユニバーサルコントロールが有効で別のMacにカーソルが移っていると、このキーを押してもマウスカーソルは戻ってきません。きっとiPadとの組み合わせでも同様だと想像します。iPad持っていないので試せていませんが。

JIS配列でUS配列を超えられたか

それは分からないです。

Karabiner-Elementsでの設定自作

目的

あまり一般的な状況ではありませんが、私は勤め先のリモートワークでCitrix Workspaces/Citrix ViewerによるVDIを利用しています。Mac上でCitrixを動かして、勤め先のWindowsリモートデスクトップに接続する、という形態です。

CitrixはWindowsとの親和性は高くて、手元のローカル環境もWindowsにすれば色々な面倒無く快適にリモートデスクトップ環境を利用できます。ところがローカル環境をMacにすると操作性がかなり落ちてしまい、その最たるものがローカル環境の日本語変換システムとリモートデスクトップの日本語変換システム(MS-IME)とが同時に有効になり競合するという点です。リモートデスクトップ上で日本語を入力しようとすると、キー入力内容を双方の日本語変換システムが取り合ってひっちゃっかめっちゃかになってしまうのです(入力した文字が二倍に増えたり、全く文字が入らなかったり)。Citrix自身がローカル環境の日本語変換システムによる割り込みを制御してくれれば良いのですが、まだ対応できていません。

そこで、Karabiner-Elementsを活用して、Citrixを使う場合だけMacの英数・かなキーを無効化します。

なお、リモートデスクトップ側の日本語変換システムのオンオフを切り替えるキー設定などは、リモートデスクトップのWindowsで設定する必要があります。

また、Karabiner-Elementsで英数・かなキーを無効化しても、Citrix起動時にmacOSが勝手に日本語変換システムをオンにしてしまう場合があります。この時、英数キーは既に無効になっていますのでキー操作だけで日本語変換システムをオフにできません。このような状況に陥ったら、メニューバー上の「あ」アイコンをマウスカーソルで操作してオフにする手間が発生します。macOSでの日本語変換システムのオンオフ挙動がよく分かっていないので、放置しています。

設定方法

下記のJSONによる設定をテキストファイルに保存します。例えばMyRules.jsonとして保存して、

~/.config/karabiner/assets/complex_modifications/ に配置します。

蛇足だと思いますが、~/ はホームディレクトリで /Users/自分のユーザ名/ というフォルダになります。

Karabiner-Elementsの設定画面(Preferences)のComplex modificationsタブでAdd ruleボタンを押下すると、complex_modificationsフォルダ中のJSONファイルが自動的に探されて、ルール候補で表示されます。これを有効化します。

有効化したルールは、念のため最上位に配置してください。Karabiner-ElementsのComplex modificationsルールは並び順に優先されるため、他のルールと仮に競合したとしても本ルールが効果を発揮できるようにしておきます。

設定ファイル内容

{
		    "title": "自分用ルール",
		    "rules": [
		        {
		            "description": "Citrix利用時は英数・かなキーを完全にコマンドキーとする(ルール最上位に配置)",
		            "manipulators": [
		                {
		                    "type": "basic",
		                    "from":{
		                        "key_code": "japanese_eisuu",
		                        "modifiers": {
		                            "optional": [
		                                "any"
		                            ]
		                        }
		                    },
		                    "to": [
		                        {
		                            "key_code": "left_command"
		                        }
		                    ],
		                    "conditions": [
		                        {
		                            "type": "frontmost_application_if",
		                            "bundle_identifiers": [
		                                "^com\\.citrix\\.XenAppViewer$",
		                                "^com\\.citrix\\.receiver\\.icaviewer\\.mac$"
		                            ]
		                        }
		                    ]
		                },
		                {
		                    "type": "basic",
		                    "from": {
		                        "key_code": "japanese_kana",
		                        "modifiers": {
		                            "optional": [
		                                "any"
		                            ]
		                        }
		                    },
		                    "to": [
		                        {
		                            "key_code": "right_command"
		                        }
		                    ],
		                    "conditions": [
		                        {
		                            "type": "frontmost_application_if",
		                            "bundle_identifiers": [
		                                "^com\\.citrix\\.XenAppViewer$",
		                                "^com\\.citrix\\.receiver\\.icaviewer\\.mac$"
		                            ]
		                        }
		                    ]
		                }
		            ]
		        }
		    ]
		}

キートップの隠蔽

上記のようにKarabiner-Elementsを活用してキー配列を色々いじったのですが、キートップに元々の機能が刻印されているといつまでも混乱が発生しがちです。

そこで、キートップを真っ黒に隠蔽することにしました。その様子の写真も掲載しています(照明グダグダで分かり辛いですが)。

FAR EAST GADGETさんのBlackout stickerというシールをキー一つ一つに貼り付けます。

このシールは丈夫な素材で、更に表面が梨地のように加工されているため、キートップのテカリを防止しながら触り心地の良さを実現できます。MacBookシリーズの素のキートップよりかなり質感が良くなると思います。ハンドクリームを使っているような場合にも本体の汚れやキートップの劣化を心配しなくて良くなりますし。

キートップは真っ黒になりますが、Blackout stickerには目印となる独特の切り欠きが設けられているので、ワケが分からなくってもキー機能を確認することができます。Blackout sticker Proという名称の製品にはこの切り欠きが一切ありませんので、更に変態玄人好みです。

なお、注意点が幾つかあります。

  • 物理JIS配列を無理矢理論理US配列化しているので、Blackout stickerはJIS配列用とUS配列用の2枚購入する必要があります。
  • optionキーの大きさが物理JIS配列と物理US配列とで異なりますので、サイズが合うシールを選択してください。シールの数が不足することはありませんが、optionキー用の切り欠きは自分でカッターナイフなどで作成する必要があります。結構粘って切りにくい素材なので、頑張りましょう。
  • 物理JIS配列と物理US配列とでは刻印(シースルーバックライト部分)の位置が異なっているため、US配列用のシールを物理JIS配列に貼ると、切り欠き部分からバックライトが漏れることがあります。我慢しましょう。
  • 物理JIS配列と物理US配列とでは「F」「J」の目印突起の位置と形が違っていることに今更気付きました。つまりシールの流用ができません。
  • 物理JIS配列をトリッキーに使っているので、目印の切り欠きがうまく合致するシールが見当たらないこともあります。切り欠きが全く無い予備シールは多数残りますので、適当に貼ってください。

切り欠きの目印が不要な方は、Blackout sticker ProのJIS配列用を1枚買えば済む話ですね。

なお、Blackout sticker(Pro)は1枚から送料無料です。

また全商品が100円引きになったり、2,160円以上の場合に200円引きになるクーポンがページ最下部に用意されていますので、お忘れ無くご活用ください。

因みに、本件は「案件」でもアフィリエイトでもありません。純粋に便利だしかっこいいし応援したいので、勝手に宣伝しています。

MacBook Pro (2021)に貼った様子です。

image

ご参考になれば幸いです。

おしまい。