« bootsplashつかってみたさぬきうどん »

\の入力の話

2003/07/05

  22:25:09 by , Categories: Freesoftware and Open Source Software, Linux

2.5 カーネルで、\とか、|が入力できねーと繰り返し文句が出るけど、これは、カーネルの問題じゃなくて、console-toolsの更新が遅いせいなの!

せっかく働いたのに、まるでなにもやってねーみたいじゃないか。

さて、どうするかというと、
/usr/include/linux が、2.5系カーネルを参照するようにして、console-toolsをコンパイルする。一部ツールはエラーで止まってしまうが、loadkeysユーティリティはコンパイルできるから安心してくれ。
そして、キーボード定義ファイル /usr/share/keymaps/i386/qwerty/jp106.kmap.gz
のkeycode 124=の代わりに、keycode 183=にするとつかえるようになるんだ。
あと、カタカナひらがなキーに付いても、2.5.73から定義がカーネルのキーボードドライバにいれてもらったのでこれに、IMEの定義を割り当てることも可能。キーコードは182 になってる。
とにかく、日本語キーボードで割り当てられるキーには、すべてキーコードが割り当てられだんだし、状況はよくなってるんだ。

実は、2.4までのカーネルではキーコードは128未満だったのだけれど、むりやり各国語のキーボードのキーコードを重複して割り当ててたのだ。今後はRAWモードのキーコードが256までに拡張され、USB keyboard に類似したコード割り当てになって、現状知られている大抵の場合には問題なくつかえるようになったんだ。拡張RAWモードというのも新設されて、この場合は14bitが割り当てられるから1万個以上キーがあるようなキーボードでも大丈夫:)

実際には、複雑なキーシーケンス(T-CODEみたいな)で直接漢字とかを生成するようなキーボードドライバを作って、コンソールにIMEなしで、カーネルネイティブにサポートしたりできるってこと。キーコード的には、0、上位7ビット|upflag、下位7ビット|upflagというキーコードを生成する。最初の0には、キーダウンかキーリリースかといったフラグもつく。このへんは、showkey -k を2.5.73カーネルのコンソールで実行して、平仮名カタカナキーとか、\|キーとか入力してみるとわかるよ。

Trackback address for this post

Trackback URL (right click and copy shortcut/link location)

Feedback awaiting moderation

This post has 1 feedback awaiting moderation...


Form is loading...