※TurboLinux 8 Workstation 使用当時のメモ
※なお、2003年のTLX8WS使用当時の ".canna" 設定ファイルは 添付ファイル/2003/08/29/dot_canna 参照。
TLX8WS使用当時、非力なマシンを使用していたこともあり、ATOKXではなくてkinput2 + Cannaの組み合わせを使っていました。
Ctrl + o や Ctrl + Space でCannaをON/OFFする習慣にどうしてもなじめなかった為、どうにかしてWindowsでのATOK風に、「半角・全角」でCannaをON/OFFし、ON中は「変換」(JP106キーボードでスペースの右にあるキー)で英数字入力モードにしたい。
色々と試行錯誤しまして、その一部が
です。
上記ページの後半にもある通り、パッチを作る程ではなくてxmodmapを使ったキーコードの変換だけで実現しました。
kinput2のソースを読んでいて気づいたのですが、やはり、想定しているキーボードがJP106のような日本語キーボードではない、というのが重要でした。
一部Solarisのキーボードには「漢字」キーというのがあります。他にも基本的にPC/AT互換機上での日本語キーボードとは無縁の、英語キーボードの世界で発達してきたUNIXの影響をkinputは強く受けています。
ここでxevコマンドで調べた、X上での関連キーコードを載せます。
半角・全角 | 49 (デフォルト定義:Zenkaku_Hankaku) |
変換 | 129 (Henkan_Mode) |
無変換 | 131 (Muhenkan) |
※「無変換」はJP106キーボードで、スペースバーの左に位置するキーです。
これに加え、Solarisなどのコンピュータで長年使われているキーボードには、「漢字」というキーが存在します。
漢字 | (不明) (Kanji) |
ソースを調べたところ、kinput2が想定しているのは「漢字」と「無変換」キーです。
よって、一番簡単なやり方は xmodmap を使って「半角・全角」を「漢字」キーのコードに、「変換」を「無変換」キーのコードに変換することです。
xmodmapコマンド :
$ xmodmap -e "keycode 49 = Kanji" $ xmodmap -e "keycode 129 = Muhenkan"
"$HOME/.Xmodmap"をつかうなら、上記""の中をそのまま記述すれば大丈夫でした。
... keycode 49 = Kanji keycode 129 = Muhenkan ...
2009年現在は、殆どをWindows上で過ごし、Linux/UNIXを使う場合はSSHターミナルでログインしての作業となる為、XWindowSystem上での日本語入力に悩む場面は滅多にない。
それでも2003年当時はデスクトップLinuxに結構はまっていて、かなり苦労もしていた。上記エントリを含め、関連エントリを整理していたらkinput2 + Cannnaにまつわる苦闘は 2003/06月頃に端を発し、2003/09月にパッチ作成で一旦落着した後、xmodmapによる最終決着は2003/12月と、実に半年にわたり延々とCannaやkinput2が心の引っかかりとして頭の中にあったことになる。
Linux/UNIXのXWindowSystem、というかデスクトップ環境について恨み言しか喋れないのは、さんざん苦労させられた上、結局デスクトップLinuxの夢はいつまで経っても実現せず、Linux/UNIXサーバもWindows上でVMwareを入れれば使えるようになり・・・結局、あれだけ苦労したのが全て徒労に終わった、終わらせられた感が強いから。
gccやMake, サーバ環境などでの苦労はその後お仕事で報われる事も多かったが、ことデスクトップ環境やXWindowSystem関連については殆どその後役に立たなかった、というのが実情。
コメント