大富豪家2.0の日記全体に公開

2007年01月13日
07:45
 Macのキー配列変更(2)
/System/Library/Keyboard Layouts/Unicode.bundle/Contents/Resources/USExtended.keylayout みたいなファイルを編集するとキーバインディングを変更できることがわかった!
ターミナル入力はこれでうまくいったのだが、変更したキーがブラウザで使えなくなってしまった。なんで??
 

コメント    

2007年01月13日
14:02
siio
ちょっとだけ試してみました。そのファイルをコピーして、
~/Library/Keyboard Layouts/Unicode.bundle/Contents/Resources/USExtended.keylayout
に置いてもokですね。(該当アカウント限定になるので安心かも)

上記ファイルを変更した場合、私のところでは、System PreferencesでU.S. Extended を追加してこれを選ぶと有効になりました。簡単にaとsを入れ替えてみたのですが、asと打つと、Safariでも(今切換えてみます)sa(戻しました)となりました。もっとややこしいキーだと駄目なのかな。
2007年01月13日
14:37
大富豪家2.0
追加実験ありがとうございます。確かにSafariだと大丈夫みたいですね。Firefoxだといかがですか?
2007年01月13日
14:43
大富豪家2.0
まぁターミナルのEmacsでキー交換ができるようになったのでとりあえず満足です。ブラウザではJavaScript版のPOBoxを使えばなんとかなるみたいですし...
2007年01月14日
01:49
siio
Firefoxでも同じように入れ替わるようです。でもいろいろやっているうちになぜかハングル文字が出たりして良くわからない挙動になりました。
2007年01月14日
01:54
大富豪家2.0
セミコロンとEnterキーを入れ替えようとしてるのですが、FF2.0でも1.5でも駄目ですね〜 JSでも取れたり取れなかったりよくわかりません。
2007年01月14日
13:21
tekezo
はじめまして。
セミコロンと Enter を入れ替え対応してみた KeyRemap4MacBook を作ってみましたので、よろしければどうぞ。
http://mac.pqrs.org/keyremap4macbook/tmp/KeyRemap4MacBook-1.0.1.tmp.dmg
http://mac.pqrs.org/keyremap4macbook/tmp/KeyRemap4MacBook-1.0.1.tmp.tar.gz

個人的には凝ったキーマップの変更は kext を書いてしまったほうがトータルで楽かと思っています。
2007年01月14日
13:47
大富豪家2.0
おおありがとうございます!
- セミコロンキーはリターンキーに
- リターンキーはそのままに
- 右下のEnterキーをセミコロン/コロンに
- ESCキーボードと`,~キーを入れ替え
ができると大体満足なのですが、全部実現するのはかなり面倒でしょうか?
2007年01月14日
14:31
tekezo
MacBook & 英語キーボードでしか確認はしていないのですが、
上記に対応したものになります。
http://mac.pqrs.org/keyremap4macbook/tmp/KeyRemap4MacBook-1.0.1.tmp2.dmg
http://mac.pqrs.org/keyremap4macbook/tmp/KeyRemap4MacBook-1.0.1.tmp2.tar.gz

詳しくは kext/KeyRemap4MacBook.cpp の
org_pqrs_driver_KeyRemap4MacBook::remap を参照してくださいませ。
2007年01月14日
14:52
大富豪家2.0
おや! なんともありがとうございます! しかし、;/: とEnterは交換されましたが、ESCと`/~が交換されるかわりにESCと ,/< が交換されてしまいました...

- KeyRemap4MacBookl.cppはこういう設定が記述されていないようですが、これはオリジナルのものなのでしょうか?
- アンインストールはどうやるのでしょうか?

申し訳ありませんがお教えください...
2007年01月14日
15:33
tekezo
アンインストールは以下のようにして行ってください。
sudo /Library/StartupItems/KeyRemap4MacBook/KeyRemap4MacBook stop
sudo rm -rf /Library/StartupItems/KeyRemap4MacBook

ESC キーとの変換は以下の部分で行っています。
----------------------------------------
case KeyCode::ESCAPE_KEY:
*key = KeyCode::KEY_COMMA;
break;

case KeyCode::KEY_COMMA:
*key = KeyCode::ESCAPE_KEY;
break;
----------------------------------------
KeyCode.hpp で定義している値は環境依存の可能性があるので、
sudo sysctl -w keyremap4macbook.debug=1
として、キーコードが /var/log/system.log に吐かれるようにして
調べたほうが良いかもしれませんね……。
2007年01月14日
16:11
大富豪家2.0
あ、ソースでそもそもコンマになっていたのですね... TILDE_KEYに変更したら希望通りの動きをするようになりました。ありがとうございました!!
2007年01月14日
16:32
大富豪家2.0
いやもうMacBookが超快適になりましたね。セミコロンの位置でリターンを打つのに慣れてしまうと、遠い位置のリターンキーを押すのはほとんど耐えられなかったのです。本当にありがとうございました!
2007年01月14日
20:48
tekezo
快適になられたようでなによりです。

僕も Return キーを Meta にするという
変則キーマップで生活しているために
MacBook に移行するためにずいぶん苦労しました……。

また何かありましたらご連絡いただければと思います。