
追記: 最近、emacsでことえりでの入力を可能にするパッチが でました。よって以下のように必ずしもomeletを使用しなければならないわけではありません。 くわしくは、OS Xハッキング第83回を。
(※下記の変更は、Tesla-plusの最新のソースでは、Tesla.cppで#define OD_EISUを定義するだけでできるようになっています。くわしくはREADME.rtfを)
現在のemacs(21.3.50,carbon, terminal)は、ことえりによるインライン入力に対応して いないので、Teslaでは親指シフト入力を行なうことができません。この場合、omeletという lispを使うことで、FreeWnn日本語変換サーバーを用いた親指シフト・インライン入力が 可能になります。
ただし、emacsはMacの英数キーをそのままでは認識しないので、英数キーを他のキーコードに チェンジした上で、左シフトとして設定してやる必要があります。通常は、X-Windowを立ち上げて、xmodmapによってキーコードを変更したりするのですが、omeletを使うためだけにX-Windowを立ち上げるのは面倒です。
そこで、キーチェンジャーの機能を持つTeslaに、このomeletのための英数キーチェンジを やらせることにします。もちろん、他のアプリケーションではTeslaによる、ことえり親指入力も 従来どおり使えます。
(以下はFreeWnn日本語変換サーバーがすでに導入され、emacsでローマ字入力ができるようになっていることが前提です)
具体的には、Teslaのソースに加筆して、ことえりオフ時のみ英数キーを任意のキーコードに チェンジするように設定します。
Tesla-plus2の場合、Tesla.cppの222行目あたりに、こう書きます。
if((eventType == 10 && gTeslaOn == false)) {
switch(key) {
case 102:
key= 94;
break;
}
}
上の例では英数キー(102)を"_"(94)に変更していますが、F11(103)などに変更することも できます。ただ、F11で試したところ、carbon-emacsでは左シフトとして問題なく機能しましたが、JTerminal上のemacsでは、うまく働かなかったので、両方使う場合は、なるべく文字キーに 変更してください。
そして、.emacsファイルで親指シフトキーを設定します。(同梱のomeletテスト版用)
;; omelet
(setq load-path (cons (expand-file-name "~/bin/elisp")
load-path))
(require 'omelet)
(setq omelet-rshift-keys '(" " [henkan]))
(setq omelet-lshift-keys '("_" [muhenkan]))
"~/bin/elisp"はomelet.elを置いたディレクトリです。F11などを左シフトにするには、