やりたいこと:
使い慣れたThinkpadキーボードを良い感じにMacで使いたい。Mac:MacBook Pro Retina, 13-inch, Late 2013 US配列キーボード
OS:OSX 10.9.5
ThinkPadキーボードって?:
ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボード US配列製品番号: 0B47189、本体には Model(型番/型号):KT-1255 と記載あり。
この機種を使う前提でこの記事を書きました。
USB接続の別の機種(型番:SK8855)はファンクションキーについて問題はなかったので、control、option、commandキー配置の変更だけ適用すればいい感じに使えると思います。Bluetoothキーボードに買いかえる前はその設定で使ってましたので。
何が問題か?:
・ファンクションキーの割り当てファンクションキー(F1〜F9)が標準のファンクションキーではなく、特殊機能(ボリューム調整、画面明度調整とか)に割り当てられて変更できない。
これはシステム環境設定での切り替え設定
では反映されない。
※Fnキーを押すことで標準のファンクションキーとしては機能する。
具体的に影響を感じる点は、
Cmd+F1:OSX標準のウィンドウ切り替え(同一アプリ内でのウィンドウ切り替え)
F7:カタカナ変換
F11:デスクトップを表示(個人的に割り当てていた設定)
・本体文字入力以外のキー配列が違う
主にcontrol、option(alt)、commandの並びに対するものですが、本体キーボードとは微妙に異なっています。
WindowsとMacの違いとも言えるかもしれませんが、外部キーボードだからといって操作感が変わるのはストレスを感じます。
スペースキーの隣はcommandキーで、その隣はoption(alt)キーでといったMac側の配置に合わせたい。
今回の対策でやれないこと:
全てのファンクションキーを標準のファンクションキーとして機能させることはKarabinerを使っても無理そうです。debugモードにしてキーイベントを確認しましたが、Fnキーを押さない状態の「F4〜F6、F8、F10、F12キー」は何もイベントが発生しない為です。
元々Windowsで使用されることのみを想定しているキーボードなので、しょうがないでしょう。キーボードドライバーを自作する位しか解決案が浮かびません。
Macのアプリは文化的にファンクションキーに機能を割り当てられていることが少ないようなので、影響を実害として感じる人は少数かもしれません。
また、本来なら特殊キーを全て本体キーボードと合わせたかったですが、個人的に使用頻度がある画面輝度変更(F1、F2)、音量変更(F10〜F12)の内、前述した拾えないキーに該当する為、諦めました。
画面輝度へに関しては今回対象のキーボードではデフォルトでFn+Pで輝度の増加、Fn+Kで輝度の減少が割り当てられていたので、そのまま使うことにしました。
副作用:
「opt+P」がF7に割り当てられます。(πが入力できなくなります、キーバインド割当に注意)「ctrl+cmd+TAB」がF11に割り当てられます。(このキーバインドを何かに割り当てている人がいるとは思えませんが)
対策方法:
Karabiner(現時点での最新版10.10.0)を使わせてもらうことである程度対策できました。使い方などはしっかりとした公式ドキュメントがあるので省略。
一番手間だったカスタマイズ設定ファイル(private.xml)の内容だけ貼っておきます。
設定は本体側キーボードに対しては影響が無いです。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<root> | |
<devicevendordef> | |
<vendorname>Lenovo</vendorname> | |
<vendorid>0x17EF</vendorid> | |
</devicevendordef> | |
<item> | |
<name>ThinkPad Keyboard</name> | |
<item> | |
<name>Change Command_L & Option_L Keys</name> | |
<identifier>private.lenovo.change_l_cmd_and_l_opt</identifier> | |
<device_only>DeviceVendor::Lenovo</device_only> | |
<autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen> | |
<autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen> | |
</item> | |
<item> | |
<name>Arrange Option_R & Command_R</name> | |
<identifier>private.lenovo.adjust_key_r_cmd_opt</identifier> | |
<device_only>DeviceVendor::Lenovo</device_only> | |
<autogen>__KeyToKey__ KeyCode::CONTROL_R, KeyCode::OPTION_R</autogen> | |
<autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::COMMAND_R</autogen> | |
</item> | |
<item> | |
<name>Arrange function keys</name> | |
<identifier>private.lenovo.arrange_function_keys</identifier> | |
<device_only>DeviceVendor::Lenovo</device_only> | |
<!-- F1 --> | |
<autogen>__KeyToKey__ ConsumerKeyCode::VOLUME_MUTE, KeyCode::F1</autogen> | |
<autogen>__KeyToKey__ KeyCode::F1, ConsumerKeyCode::VOLUME_MUTE</autogen> | |
<!-- F2--> | |
<autogen>__KeyToKey__ ConsumerKeyCode::VOLUME_DOWN, KeyCode::F2</autogen> | |
<autogen>__KeyToKey__ KeyCode::F2, ConsumerKeyCode::VOLUME_DOWN</autogen> | |
<!-- F3--> | |
<autogen>__KeyToKey__ ConsumerKeyCode::VOLUME_UP, KeyCode::F3</autogen> | |
<autogen>__KeyToKey__ KeyCode::F3, ConsumerKeyCode::VOLUME_UP</autogen> | |
<!-- F7--> | |
<autogen> | |
__KeyToKey__ | |
KeyCode::P | ModifierFlag::OPTION_L, | |
KeyCode::F7 | |
</autogen> | |
<!-- F11 --> | |
<autogen> | |
__KeyToKey__ | |
KeyCode::TAB , ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L , | |
KeyCode::F11 | |
</autogen> | |
</item> | |
</item> | |
</root> |
Ctrl、Alt、Commandキーの変更
割当元(外部キーボード) | 割当先キー |
---|---|
Win | option(alt) |
Alt | command |
右Ctrl | option(alt) |
ファンクションキーの変更
※Fnなしの場合は標準のファンクションキーとして挙動
Fn + F1 | ミュート |
Fn + F2 | 音量増加 |
Fn + F3 | 音量減少 |
Fn + F7 | 未変更(F7キーとして機能) |
Fn + F11 | 未変更(F11キーとして機能) |
補足:
トラックポイントでの操作感もそのままだと問題があって、2つのツールを導入して解決しました。・ポインタの動きが遅いんで、速度改善とverocityの無効化
→ SmoothMouse for OS X
※ このツールを入れることで、Karabiner側から競合/衝突してると名指しで警告が。
でもまぁKarabiner側でポインティングデバイスとしてのカスタマイズをしてる訳でないので影響も特に感じない為、無視させてもらう。(キーボードに関するKarabinerの設定は生きてるので)
・スクロールの方向が何か違う。
→ USB Overdrive
スクロールの違和感はトラックパッドの環境設定で「スクロールの方向:ナチュラル」をオンにしていることの影響なので、環境と好みの問題ですね。
雑記:
今回対象としたThinkpadのキーボードはAmazonのレビューでもファンクションキーの割当云々が叩かれてて買うのを躊躇してましたが、Karabinerのようなキーカスタマイズのツールを使えば問題ないとだろうと軽い気持ちで買ってみたら思いの他苦戦。副作用の影響よりも今回の対策で得られるメリットのほうが遥かに大きかったので個人的にはまぁまぁ満足。
これを機会にキーボードドライバの開発をしてみたいんですが、Appleの公式ドキュメント読んだ感じ敷居が高い。英語的な意味でも、技術的な知識/素養の足りなさとしても。
0 件のコメント:
コメントを投稿