macOS Big Sur(ベータ版)でキー入力をリマップする
はじめに
macOS Big Surのデベロッパ向けベータ版が公開されましたね。
早速インストールしてみたところ、愛用しているKarabiner-Elementsが動作しなかったため1、macOS標準の機能を利用してキー入力をリマップする方法について調査し、本記事としてまとめました。
macOS Big Surのデベロッパ向けベータ版は、本日より、developer.apple.com/jpを通じてApple Developer Programのメンバーに提供されます。Macユーザーに対しては来月中にパブリックベータプログラムがbeta.apple.comで提供されます。macOS Big Surは今秋、無料のソフトウェア·アップデートとして提供されます。互換性のあるMacのモデルを含む詳しい情報は、apple.com/macos/big-sur-previewをご覧ください。提供される機能は変更される場合があります。一部の機能は、国や地域、言語によっては利用できない場合があります。
https://www.apple.com/jp/newsroom/2020/06/apple-introduces-macos-big-sur-with-a-beautiful-new-design/
本記事では、次のmacOS標準の機能2つを組み合わせてリマップを実現しています。2
- 修飾キーのアクション変更
- hidutil3を利用したリマップ
リマップ元の物理キー | 1. 修飾キーのアクション変更 | 2. hidutilを利用したリマップ | リマップ先の論理キー |
---|---|---|---|
Caps Lock4 | Caps Lock ↓ Left Command |
ー | Left Command |
Left Command | Left Command ↓ Left Control |
Left Control ↓ 英数 |
英数 |
Right Command | Right Command ↓ Right Control |
Right Control ↓ かな カナ |
かな カナ |
この方法は、macOS Sierraで導入されたhidutilを利用しているため、macOS Sierra以降で動作します。
なお、macOS CatalinaおよびBig Sur(ベータ版)については動作検証も実施済です。
修飾キーのアクション変更
- 「システム環境設定」アプリで、「キーボード」を選択。
- 「修飾キー...」を選択。
- 次のように「修飾キー」のアクションを変更します。(Caps Lockについてはお好みで。)5
hidutilを利用したリマップ
hidutilにリマップ元およびリマップ先のキーコード(hex)6を指定して実行します。
$hidutil property --set '{"UserKeyMapping":[
{
"HIDKeyboardModifierMappingSrc": 0x7000000E0,
"HIDKeyboardModifierMappingDst": 0x700000091
},
{
"HIDKeyboardModifierMappingSrc": 0x7000000E4,
"HIDKeyboardModifierMappingDst": 0x700000090
},
]}'
今回利用したキーコード(hex)は以下となります。
キー | キーコード(hex) |
---|---|
Left Control | 0x7000000E0 |
Right Control | 0x700000091 |
英数 | 0x7000000E4 |
かな カナ | 0x700000090 |
なお、hidutilで設定した値はmacOSの再起動時にクリアされてしまいます。
対処方法としては、~/Library/LaunchAgents
に以下の com.example.KeyRemapping.plist
7 を配置することで、macOS起動時に毎回hidutilが実行されるようになります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.KeyRemapping</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/hidutil</string>
<string>property</string>
<string>--set</string>
<string>{"UserKeyMapping":[
{
"HIDKeyboardModifierMappingSrc": 0x7000000E0,
"HIDKeyboardModifierMappingDst": 0x700000091
},
{
"HIDKeyboardModifierMappingSrc": 0x7000000E4,
"HIDKeyboardModifierMappingDst": 0x700000090
}
]}</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
macOS Big Sur beta 5 で日本語入力への切替ができなくなった場合の対応方法(追記)
macOS Big Sur beta 5 にアップデートしたところ、日本語入力への切替ができなくなるという現象が発生しました。
同様の現象が発生した方がいましたら、現象発生時の対応方法をまとめたので参考にしてください。
参考文献
- macOS Big Sur
- Karabiner-Elements
- Karabiner completely broken on macOS Big Sur #2331
- Remapping keys on macOS
- USBキーボードのキーコード
- Technical Note TN2450 Remapping Keys in macOS 10.12 Sierra
- macOS Big Sur beta 5 で日本語入力への切替ができなくなった場合の対応方法
-
Karabiner-ElementsでBig Surがサポートされました。詳細はKarabiner-Elements 13.0.0のリリースノートを参照してください。 ↩
-
今回の「Left Command」のように、リマップ元とリマップ先に同じキーがあるとhidutilだけでは実現できなかったため、修飾キーのリマップを組み合わせています。リマップ元とリマップ先に同じキーがないリマップの場合はhidutilだけで事足りると思います。 ↩
-
hidutilはmacOS Sierraから導入されているキーリマップツールです。 ↩
-
Apple内蔵キーボードはCaps Lock。外付けのHHKB Professionalも利用しているので、そちらはLeft Controlをリマップしています。 ↩
-
macOS Big Surはまだベータ版のため、スクリーンショットはmacOS Catalinaで採取したものになります。 ↩
-
USBキーボードのキーコード はTechnical Note TN2450 Remapping Keys in macOS 10.12 Sierraにも載っていなかった「英数」、「かな カナ」キーの記載もあり、とてもわかりやすかったです。 ↩
-
https://gist.github.com/chuyeow/2ab2d3e6a649389cea58f4d31f7f6d53#file-com-example-keyremapping-plist を参考にしています。また、好みの問題ですが私はexampleの部分をuserIdに変更して利用しています。 ↩
-
Karabiner-ElementsでBig Surがサポートされました。詳細はKarabiner-Elements 13.0.0のリリースノートを参照してください。 ↩
-
今回の「Left Command」のように、リマップ元とリマップ先に同じキーがあるとhidutilだけでは実現できなかったため、修飾キーのリマップを組み合わせています。リマップ元とリマップ先に同じキーがないリマップの場合はhidutilだけで事足りると思います。 ↩
-
hidutilはmacOS Sierraから導入されているキーリマップツールです。 ↩
-
Apple内蔵キーボードはCaps Lock。外付けのHHKB Professionalも利用しているので、そちらはLeft Controlをリマップしています。 ↩
-
macOS Big Surはまだベータ版のため、スクリーンショットはmacOS Catalinaで採取したものになります。 ↩
-
USBキーボードのキーコード はTechnical Note TN2450 Remapping Keys in macOS 10.12 Sierraにも載っていなかった「英数」、「かな カナ」キーの記載もあり、とてもわかりやすかったです。 ↩
-
https://gist.github.com/chuyeow/2ab2d3e6a649389cea58f4d31f7f6d53#file-com-example-keyremapping-plist を参考にしています。また、好みの問題ですが私はexampleの部分をuserIdに変更して利用しています。 ↩
Author And Source
この問題について(macOS Big Sur(ベータ版)でキー入力をリマップする), 我々は、より多くの情報をここで見つけました https://qiita.com/zizi4n5/items/7974d4751212214dab4e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .