2007年07月24日(火) [過去の今日]
#1 Xorgのevdevでキーボードとマウスが自動認識できるらしい
表題のような話を チルトホイール・マウスを使う(その2) という記事で紹介されてたのでやってみた。けどリンク先のような設定だけだとダメで、SendCoreEventsを入れとく必要があった。
Section "InputDevice" Identifier "Keyboard" Driver "evdev" Option "evBits" "+1" Option "keyBits" "~1-255 ~352-511" Option "Pass" "3" Option "SendCoreEvents" "true" EndSection Section "InputDevice" Identifier "Mouse" Driver "evdev" Option "evBits" "+1-2" Option "keyBits" "~272-287" Option "relBits" "~0-2 ~6 ~8" Option "Pass" "3" Option "SendCoreEvents" "true" EndSection
こうするとUSBのキーボードとマウスは、evdevと独自に通信してるのか、PnPでキー配列、ボタン数などが自動認識される。チルトホイールなどもきちんと認識してる。HHK Proを繋いでみたら、◇キーを変換無変換キーとして認識したりしてて、なかなかよい。
これならQWERTYキーボードでさえあれば、言語ごとのキーマップや個体差は意識しないでいいし、デバイスファイルも指定しなくていいし、複数のデバイスもこれだけで認識して動いてくれるので、Live CDなOSにはぴったりかも。
ただまだ設定が足りないのかバグなのかわからないが、マウスをひっこ抜いたらキーボードまで反応しなくなった。謎。
ただ、切替器を通してるとうまく動かないっぽい。切替器が送り返すデバイスIDかかなにかと、実際のキーボードとが違うからだろうなー。IDしか送られてないとすれば定義を書き足してやればいけそうだけども。
ただこれには欠点があって、Emulate3Buttonsが動かない。いや、普通はそれで困ることないと思うけど、俺のマウス( MX-R )はスクロールクリックが無い(涙)ので、Emulate3Buttons必須なんだよなー。そういうイベント起こせるツール無いかと探してみたけど、キーボードのキーをマウスボタンに割り当てるくらいのツールしか見当たらず、しょんぼり。ButtonMappingで親指ボタンにでも割り当てられるならいいかもだが、それもよくわからないので放置中。
というわけで、設定方法はわかって動作確認もしたものの、結局元の設定にもどしましたとさ…… orz
(@147)
@ 追記:
もっとも、MX-Rのような変態マウス使ってるわけでもなければ、問題無く使えるだろう。そういう無事に多ボタンマウス使えるようになった人は、各ボタンをxbindkeysとxvkbdで割り当てる事が多いようだ。
設定方法などは、 evdevでチルトホイールマウス という記事が日本語のリソースとしてはわかりやすいだろう。