キー配列 を替えたい!
親指シフターです。まだ始めてから4ヶ月ですが、その魅力にとりつかれました。ローマ字を経由しない思考は素晴らしいです。タッチタイピングになって、ATOKの推測変換の威力を知りました。いままで、キーを打つためにキーボードを見ていて、画面を見てなかったのです。
Macで親指シフトを使うにはキー配列を変更する必要があります。この時に便利なソフトが、「KeyRemap4MacBook」です。あっTesla野良ビルドもです。素晴らしいソフトを開発された作者さんに感謝です。ドネーションウェアです。使って評価できる!と感じたなら、寄附できるようですよ。
本記事では「KeyRemap4MacBook」を使って、自分専用のキー配置を設定する方法を説明します。キー配置を変更するなんて”OS X”の奥深いところの設定を変更するんじゃと、Alも思っていました。しかし、このソフトを使えば、OSやハードウェアレベルの変更なく配列を変えられます。
設定ファイルが、xmlファイルというのも難しく感じます。Alはそうでした。変更しようと考えても、出来るのか?不安でした。ところが、やってみたら「あら、出来た!」でした。
迷いながらの作業も多くあったので、まとめました。
復活の呪文
このようなカスタマイズ(変更)をトライするときに頭をよぎるのは、「失敗して元に戻せなくなったらどうしよう!」です。特にキーボードのカスタマイズ、戻すにもキー操作ができなくなったらと考えると腰が引けます。
ご安心を。KeyRemap4MacBokkなら、マウス操作1つで元通り。設定をONにしたチェックを外すのみです。安心してトライできます。設定ファイルに間違いがあるときは、読み込み時にエラーが表示されて、読み込みを中止しますし。
復活の呪文というか、すぐさま元通りに戻せます。
カスタマイズ方法
private.xml
設定からKeyRemap4Macbookを起動します。以前は設定にアイコンがありました。Ver.8.0.0になり、LaunchPadにアイコンが移動しました。そちらから起動します。
ウインドウが開いたら、右上の「Misc & Uninstall」をクリックします。
Open private.xml ボタンをクリックします。
private.xml
Finderが開き、「private.xml」が表示されます。
ここで、ウィンドウ上にある「歯車」のアイコンをクリックします。
開いたメニューの中にある「このアプリケーションで開く」から、「テキストエディット.app」をクリックします。
下のようにファイルが開きます。
xml
このrootの中に設定を追加して書き込んでいきます。このxmlファイルには下のルールがあります。
- <root>と</root>の中に、全ての設定を書き込む
- 一つの設定は<item>と</item>の中に作る
- <name>タグの中身がソフトのメニューに表示される内容になる、日本語でもOK
- <identifier>タグは全て(パッケージに含まれているものも含め)とダブらない、唯一の名前をつける
- <autogen>タグで変更するキー設定を定義する
–KeyToKey–
–KeyToKey– はキーを置き換えます。キーにはKeyCode::を付けて指定し、もとのキーと設定後のキーは「,」でつなぎます。
設定は下のコードが基本となります。
[xml]
–KeyToKey– KeyCode::元のキー, KeyCode::設定するキー
[/xml]
例1 UキーをYキーに置き換える
[xml]
–KeyToKey– KeyCode::U, KeyCode::Y
[/xml]
例2 左Altキーを左Commandキーにする
[xml]
–KeyToKey– KeyCode::COMMAND_R, KeyCode::HOME
[/xml]
ModifierFlag::
KeyCode::をModifierFlag::に変更すると、同時押しのキー操作を設定出来ます。
左controlキーとスペースキーの同時押しをTabキーに定義するのは下の設定になります。
[xml]
__KeyToKey__ KeyCode::SPACE, ModifierFlag::CONTROL_L, KeyCode::TAB
[/xml]
なので、あるキーを入力したときに、2つの同時押しキーに置き換えをするときもこのModifierFlag::を使います。 Aキーを押したとき、左controlキーとSキーの2つ同時押しにするには、下のように指示します。
[xml]
__KeyToKey__ KeyCode::A, KeyCode::S, ModifierFlag::CONTROL_L
[/xml]
ModifierFlag::には左controlキーを割り当てます。Sキーを設定すると上手くいかないことがあります。
下の例だと、左controlキーを押した後に、Tabキーを押す動作に設定されます。
[xml]
__KeyToKey__ KeyCode::SPACE, KeyCode:::CONTROL_L, KeyCode::TAB
[/xml]
ModifierFlag::を|(パイプ)で接続すると、3つのキーの同時押しを表現出来ます。 左controlキーとスペースキーとFnキーの3つ同時押しをTabキーに定義するには下の設定になります。
[xml]
__KeyToKey__ KeyCode::SPACE, ModifierFlag::CONTROL_L | ModifierFlag::FN,KeyCode::TAB
[/xml]
ModifierFlag::NONE
「”左controlキーとスペースキー”と”左controlキーとスペースキーとFnキー”」の場合、3つのキーを押しても、さきの2つのキーの同時押しと定義が重なってしまいます。
3つのキーの組み合わせになったら、「違う」とソフトが理解してくれるようにしないと、設定した通りにキーを置き換えることが出来ません。
2つの同時押しと3つの同時押しの組み合わせを別々と認識してくれるように、設定する必要があります。これには「ModifierFlag::NONE」を使います。これは「何も押していない」ことを定義します。
下の例のように、ModifierFlag::の続きに、|(パイプ)でModifierFlag::NONEを指示します。これで、SPACEキーとFNキーの同時押しでかつ、それ以外に押しているキーは”無い”という設定になります。
[xml]
__KeyToKey__ KeyCode::SPACE, ModifierFlag::FN | ModifierFlag::NONE, KeyCode::TAB
[/xml]
SPACEキーとFNキーの同時押しはTABキーに置き換えますが、SPACEキーとFNキーと左controlキーの3つの同時押しの場合は置き換えを行わない設定になります。
また、「一つのキーのみ」と明示した設定にするときも、ModifierFlag::NONEを使います。
[xml]
__KeyToKey__ KeyCode::SPACE, ModifierFlag::NONE, KeyCode::TAB
[/xml]
ReloadXML
以上で駆け足ですが、自分好みの設定を作るのに、最低限必要な設定方法を紹介しました。
設定が完成したら、ファイルを保存し、KeyRemap4Macbookの4「ReloadXML」をクリックして、設定を適応します。この時に設定のコードに間違いがあると、エラーが表示されます。
エラーが表示された時はキーボードは標準のままになり、暴走しない安全設計です。ご安心ください。
エラー箇所も表示されるので、それを元に修正を行います。
こちらの公式マニュアルが英語ですが、参考になります。 KeyRemap4MacBook – OS X用のソフトウェア
各種パッケージ同梱設定のサンプルコードはこちらで参照できます。これを参考に自分専用オリジナルコードを開発すると効率がいいです。
KeyRemap4MacBook/src/core/server/Resources/include/checkbox at version_8.0.0 · tekezo/KeyRemap4MacBook · GitHub