#navi_header|技術| ※TurboLinux 8 Workstation 使用当時のメモ ※なお、2003年のTLX8WS使用当時の ".canna" 設定ファイルは [[354]] 参照。 TLX8WS使用当時、非力なマシンを使用していたこともあり、ATOKXではなくてkinput2 + Cannaの組み合わせを使っていました。 Ctrl + o や Ctrl + Space でCannaをON/OFFする習慣にどうしてもなじめなかった為、どうにかしてWindowsでのATOK風に、「半角・全角」でCannaをON/OFFし、ON中は「変換」(JP106キーボードでスペースの右にあるキー)で英数字入力モードにしたい。 色々と試行錯誤しまして、その一部が - "kinput2への「変換」キー対応パッチの作成" -- [[yb://nifty/others/computer/linux_kinput2.html]] です。 上記ページの後半にもある通り、パッチを作る程ではなくて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関連については殆どその後役に立たなかった、というのが実情。 #navi_footer|技術|