[macOS]「\ _」キーが付けられない?

[macOS]「\ _」キーが付けられない?
  • macOSでは「¥」と「\」が区別されており、外付けキーボードで両方を使い分けたいと考えました。
  • Ergodoxにキーマッピングを試みましたが、キーコードの解釈がmacOS側で行われるため意図した挙動になりませんでした。
  • 最終的にGoogle日本語入力の設定で「¥」を「\」に変更することで対応しましたが、「¥」の入力が不便になってしまいました。
sns_share_buttons
\記事が役に立ったらシェアしてね/
【スポンサーリンク】

1. 外付けキーボードの「¥ |」「\ _」キーを使い分けたい

外付けキーボードの「¥ |」「\ _」キーを使い分けたい

最近、プログラミングの機会が増え、「\」を入力したいことが増えました。
いちいち「¥」変換するのも面倒です。
MacBookの外付けキーボードで「\ _」キーを追加しようとしたら、うまくいかず困りました。

Windowsと異なり、macOSでは、「¥」と「\」は区別されています。
プログラミングなどでメタ文字として「\」を入力したいときに、「¥」キーを押しても正しく動作しません。

一般のJISキーボードには「¥ |」「\ _」キーがあります。
そこで、外付けキーボードで使い分けられるようにしたいと思いました。

外付けキーボードの「¥ |」「\ _」キーを使い分けたい

しかし、「\ _」キーを押すと、Shiftキーを押していない通常の状態でも「_(アンダースコア)」が入力されてしまいます。

2. Onyxでキーマッピング

Ergodox にOnyxでキーマッピングをして、「\(ja)」にしても思った挙動になりません。
「\」にしても、「¥(ja)」にしても微妙に意図と違ってしまうのです。

Onyxでキーマッピング

2-1. International キーコードとは?

International キーコードは、異なるキーボードレイアウトや言語間での特殊キーを扱うためのものです。
これらは通常、OS側での設定やキーマップによって異なる文字や機能に割り当てられます1

JISキーボードの一種OADG109AとJIS配列のApple Proキーボードを比較すると、

キー番号OADG109A
キーボード2
Apple Pro
キーボード (JIS配列)
Usage Name
(HID Usage Tables 1.11)
USB キーコード (hex)
Usage Page / Usage ID
14¥ |¥ |Keyboard International307 / 89
56\ **Keyboard International107 / 87
131無変換—–Keyboard International507 / 8B
132変換—–Keyboard International407 / 8A
133ひらがな カタカナ—–Keyboard International207 / 88
305—–英数Keyboard LANG207 / 91
306—–かな カナKeyboard LANG107 / 90
USBキーボードのキーコード
International キーコードとは?

特に日本語キーボード(JISレイアウト)は英語キーボード(USレイアウト)と比較して追加キーや異なる配置があるため、これらの International キーコードが使用されています。

3. MacBookのmacOSでのキーコードの解釈

Karabiner EventViewerでキーコードを調べてみると、記録されるキーコードと実際に出力される文字が違っていました。

MacBookのmacOSでのキーコードの解釈
  • 「¥」に対応するキーは、international3で「¥」
  • 「\」に対応するキーは、international1で、「_」
  • 「]」に対応するキーは、「backslash」で、「:」

どうも、MacBookの内部的には英字キーボードが動作していて、keycodeをmacOSでの出力時に変換しているようです3
つまり、ハードウェアから送信されるキーコードは、macOSによって「解釈」されているわけです。

キートップの印字keycode通常シフト
期待するキー\_
¥ |international3¥|
\ _international1__
]backslash]*

ですので、Onyxでキーマッピングするときには、逆算する必要があるようですが、期待するキー」に対応するキーコードが見つかりません。

仕方がないので、Google 日本語入力の「¥」を「\」に設定することにしました4

MacBookのmacOSでのキーコードの解釈

本当は、キーによって「\」と「¥」を使い分けたかったのですが、この方法だと「¥」を入力するのが面倒です。
Karabiner Elementsで、むりやり置き換えるしかないのかな

こちらもどうぞ。
[mac] Bluetoothキーボードをつないだら修飾キーの変更がスムーズでびっくりした【logi K370S】
[mac] Bluetoothキーボードをつないだら修飾キーの変更がスムーズでびっくりした【logi K370S】
これまで MacBookにキーボードを接続するのをためらっていました。それは、標準的な外付けキーボードは Windows向けで、キー配置がMacと微妙に異なっているからです。しかし、試しにつないでみると、「システム環境設定」から「修飾キー」の配置は簡単に変更できました。「システム環境設定」ー「キーボード」ー「修飾キー」を選択するWindows/Mac兼用のキーボード K370MacBook本体のキーボードが傷んできました。また、外付けだと好みのキーボードを使うことができます。...

[AMP] 投稿タイトルにバックスラッシュが含まれていたら【無効なエスケープシーケンス】
[AMP] 投稿タイトルにバックスラッシュが含まれていたら【無効なエスケープシーケンス】
Google Search Console で「解析不能な構造化データの問題」というエラーが表示されました。これは 記事タイトルの中に、エスケープ文字であるバックスラッシュ(0x5C「\」)が入っていたからです。別の文字コードのバックスラッシュ(U+FE68:﹨)に変更したらエラーは消えました。Google Search Console での2つのエラーGoogle Search Consoleの通知で、エラーが表示されました。「解析不能な構造化データの問題」と「AMPの問題...

[Mac] Windows用キーボードRealForceをつないだら思いのほか面倒だった(変換キーとかなキー)
[Mac] Windows用キーボードRealForceをつないだら思いのほか面倒だった(変換キーとかなキー)
MacBookに外付けキーボード RealForce をつないでみました。USB-Type Cの変換アダプターを使います。一般的なWindows用のキー配置になっているで、そのままでは ControlキーやCommandキーの動作がおかしくなってしまいます。しかし、これは「システム設定」の「キーボード」・「ショートカット」から変更できます。詳しくはこちら。困ったのが、「かな」「英数」キーです。「変換」「無変換」キーがそのまま置き換わってくれるわけではないのですね。仕方がないの...

Karabiner-ElementsとChrome Remote Desktop 【controlキーの扱い】
Karabiner-ElementsとChrome Remote Desktop 【controlキーの扱い】
Mac PC で Karabiner-Elements を有効にして、Chrome Remote Desktop で Windows PC に接続すると、コントロールキーのショートカットが動作しなくなるんですね。仕方がないので、いったん Karabiner-Elements を無効にして接続しています。キーの役割とキーコードキーボードショートカットは、Windows PCでは、Ctrlキーの組み合わせになります。一方、Mac PCでは、commandキーの組み合わせになります...

ErgoDoxのキー配列の変遷
ErgoDoxのキー配列の変遷
ErgoDoxは自由にキー配列をプログラムできるので、試行錯誤の沼にハマりやすいです。そのときどきのキー配列の試行錯誤とその理由をまとめておきます。前提条件ノートPCのキーボードを使ったときにそんなに差がないこと(なるべく上位互換にしたい)親指シフトでの日本語入力に適していること(かなキー・英数キーは必須)矢印キーの配置配列は、普段使っている MacBookの日本語配列キーボードとなるべく違いがないようにしました。しかし、矢印キーと右上の記号群のキーが足りないので、適切な場所...

(補足)

  1. USBキーボードのキーコード
  2. 日本語109キーボードはOADGが標準化したが、当初の配列(OADG 109型)と、Windowsでの利用にあわせて刻印を変えたキーボード(OADG 109A型)の2種類があり、~(チルダ、波ダッシュ)の刻印位置などが若干異なる – OADG109AキーボードとJISキーボードの違いを教えてください。 … – Yahoo!知恵袋
  3. キーコードの解釈はOS側に任されているようで、「どの種類のキーボードが認識されているか」によってキーコードが変わります。-【QMK】JPキーコードでキーマップを定義する – 天高工房
  4. Mac は ‘¥’ と ‘\’ を区別していて、プログラミングを行う場合、¥ キーで直接バックスラッシュが入力できたほうが良いため、そのように変更します。 – Mac Book Pro セットアップメモ #Mac – Qiita
QRコードを読み込むと、関連記事を確認できます。

[macOS]「\ _」キーが付けられない?
タイトルとURLをコピーしました