指向性メモ::2005-10-02

ページ情報
制作日
2005-10-02T19:26:58+09:00
最終更新日
2005-10-02T22:17:26+09:00

Thinkpad X40とHHKB用の窓使いの憂鬱設定ファイル

Created:
2005-10-02T19:26:58+09:00

Thinkpad X40にHHKB Professional(一般的にはHHKと略すようだが、公式に合わせてみる)を接続する場合、キー配列の違いが問題となる。これまではレジストリの編集によりキー配列の変更を行っていたが、そのつど再起動を必要とするこの方法は、面倒以外のなにものでもない。そこで、設定ファイルを読み直すだけでキー配置の変更が可能な「窓使いの憂鬱」を導入してみた。

(DLしたファイル名は適当に日付の部分を削ってほしい)

X40(英語キーボードに換装済み)用の設定は以下の通りとなる。

Emacsの操作を楽にするためCtrlAの隣に配置し、WinキーをCtrlが元あった位置に置く形になる。X40にはWinキーが物理的に存在しないのだが、Win+EでExplorer起動など、無くてはならないキーである。置き場所が無くなってしまったCapsLockは普段使わないNumEnterに配置した。

続いてHHKB用の設定だが、こちらはX40の配列に合わせる形となる。

これで標準的な英語配列になる。最上段右端のGraveAccentは、好みによってはDeleteにしても便利だろう。シンボル設定「DelOnface」で切り替えられるようにしてある。

これらの変更に伴い、いくつかのショートカットキーをFn無しで入力できるように定義してある。

Ctrl+Alt+Deleteをほかのキーで代替する場合、悪意のあるプログラムには十分注意する必要がある(ログインのダイアログなどが横取りされる可能性が生じるからだ)。有事の際はCtrl+Alt+DeleteFn+最上段右上、刻印は「`」)を使用し、物理的に入力すること。

なお、シンボル「OnX40」を使用すると、うっかりX40本体のキーボードでCapsLock+F(もちろんCtrl+Fを入力するつもりで)を押してしまった場合の救済措置のため、CapsLockCtrlに置換される。この場合、CapsLockShift+Pauseに移動される。

Emacs風味のキーバインドは窓使いの憂鬱に標準で付いてくるemacsedit.mayuを編集して使用している。邪魔なメッセージを削除し、xyzzyのキーバインドに合わせていくつかのコマンドを追加した。

my_default.mayuは完全に一から書き起こした。標準default.mayuは使用しないキーバインドが多く、予想外の動作に驚くことが多いからだ。若干面倒だが、使用するアプリケーションに合わせて自分で設定していく方が確実である。気をつけるべき点は、標準のマッピングがEmacsEditになっているため、窓使いの憂鬱を使用しないアプリケーションではGlobalではなくてKeymapdefaultを使う必要がある(Globalは親マップが&OtherWindowClassなため、それ自身に定義されていないキーバインドがあるとEmacsEditを参照してしまう)。

dvorak.mayuはDvorak配列用の設定ファイルだ。窓使いの憂鬱にも同じようなものが付いてくるが、keyで設定されていないので微妙に使いにくい。そこで109用のDvorak配列設定ファイルと同じように、def substで定義し直してみた。シンボル「UseDvorak」を与えることでDvorak配列を使用できる。もっとも、筆者はショートカットがバラバラになって混乱するため、結局使っていないが。

なお、これらの設定ファイルは主に英語キーボードのドライバ用である。日本語キーボードのドライバで使用すると動かないかもしれない。その点はご注意を。

Comments
0
Trackbacks
0
PermaLink
http://yudai.arielworks.com/memo/2005/10/02/192658

Emacs風ATOKの設定ファイルと効率的な連接変換方法

Created:
2005-10-02T22:17:26+09:00

以前、XKeymacsとATOKを合わせて使う方法を紹介したが、英語キーボードに換装したことにより若干状況が変わったので、再び設定ファイルを調整した。ネットワークへのバックアップもかねて、再び公開してみる。

今回の設定ファイルでは、無変換キーなどが無くなってしまった都合上、「英字入力ON/OFF」をC-]に割り当てている。TELNETなどのアプリケーションではエスケープに使用することもあり、若干危険なキーバインドだが、最近ではまず使わないので気にしないことにした。むしろ、IMEのトグルであるC-\の隣にあることが、直感的にキーを押す際には重要なのである。

また、IMEのトグルをC-\で行うキーバインドは、今回はATOKで定義していない。かわりに、窓使いの憂鬱でC-\をIMEのトグルとして定義している。これはすべてのアプリケーションがC-\をIMEのトグルとして認識してしまうと、SSHクライアントなどで不都合が起こるからだ。入力がATOKに食われてしまい、リモートに伝わらなくなると、リモート側のIMEをトグルできなくなってしまう。窓使いの憂鬱ならばアプリケーションごとに個別の設定を行うことができるため、基本的にはC-\をM-GraveAccentとして定義し、必要なアプリケーションではそれを解除することで、SSHクライアントなどに対応することが可能になるわけである。なお、M-GraveAccentとし定義しているのは&SetImeStatusがMSNメッセンジャーなど、一部のアプリケーションではうまく動かないからだ。どうも「詳細なテキストサービス」との関連があるようだが、こちらをOFFにしてもだめらしい(が、「詳細なテキストサービス」は窓使いの憂鬱を使用する場合はOFFにしておいた方がいいようだ)。

ところで、最近ATOKをかなりいじっているのだが、アルファベット混じりの文章を入力を効率化するには「ローマ字立ち上がり」とAIの学習を有効活用するのがいいらしい。プロパティの「変換支援」にあるローマ字立ち上がりをONにし(図1)、変換候補に「半角無変換後変換」を追加しておく(図2)。

図1
ローマ字立ち上がりの設定
図2
半角無変換誤変換の設定

さらに、「辞書・学習」でAIの学習を「する」にセットし(図3)、詳細設定からAI学習を「する(詳細)」にしておく(図4)。これらの設定を行うと、「英字入力」のON・OFFをいちいち切り替えなくても、アルファベットを含んだ文章を効率的に連接変換できるようになる。

図3
AIの学習設定
図4
AIの学習設定その2

たとえば、「a t o k w o t u k a u」と順番に入力すると入力中の文章は「あとkをつかう」となるが、この状態でスペースを押すと「ATOKを使う」と変換されるようになる。最初はうまく変換されないかもしれないが、C-LとC-Kで文節区切りを調節し、半角英数の候補を選べばよい(このために半角無変換誤変換を候補に追加した)。1度入力した英単語はAIが辞書に追加してくれるので、次からは1発で変換されるようになる。

なお、「a t o k a g e r u(ATOKあげる)」のように、子音で終わる英単語の後に母音が続く文章の場合「あとげる」となってしまい、C-LとC-Sではうまく文節の調節ができない。この場合はそれぞれにShiftを足してC-S-LとC-S-Kを入力すればローマ字単位で調整できる。

こんな感じで辞書が成長してくると、いちいちC-]で入力モードを変更せずともスペース1発で変換できるので、なかなか楽である。暇な人は挑戦してみるといいかもしれない。

Comments
0
Trackbacks
0
PermaLink
http://yudai.arielworks.com/memo/2005/10/02/221726
連絡先、リンク、転載や複製などについては『サイト案内』をご覧ください。Powered by HIMMEL