Kensington Slimblade Trackball の使えないドライバ
2009年08月14日08:56
しばらく前のはなしだけど、ケンジントンの新型トラックボールを買った。 買う前から「カスタマイズがいっさいできなくなったので最悪だ」という前評判を散々聞いていたが、実際試してみてどうやってもまったくカスタマイズできないのには閉口した。
最近、僕はlinuxに乗り換えた。 だから今もLinuxを使っている。 linuxというのは実に内部がきちんとすっきり公開されているので、何でも自由にやることが出来る。 それでこのカスタマイズ能力ゼロのケンジントンのマウスをつないで、USBの内容をモニタしてみた。
やりかたはここで読んだ。
http://www.cygnal.org/ubb/Forum9/HTML/001519.html
http://www.mjmwired.net/kernel/Documentation/usb/usbmon.txt
http://www.linux-usb.org/USBMon/dissertation/USB-dissertation.htm
ここでかかれているusbmonというのは、昔はフリーウェアだったらしいけど、今では標準モジュールとして最初から組み込まれているそうだ。 これを使った。 そうしたら、あっさりUSBで転送されている内容がモニタされた。 何て便利なんだろうか。
こんなかんじ:
f5eae100 3895143969 C Ii:2:006:1 0:8 5 = 00000100 00
f5eae100 3895143999 S Ii:2:006:1 -115:8 5 <
f5eae100 3895151963 C Ii:2:006:1 0:8 5 = 00ff0000 00
f5eae100 3895151991 S Ii:2:006:1 -115:8 5 <
f5eae100 3895704045 C Ii:2:006:1 0:8 5 = 00000000 02
f5eae100 3895704070 S Ii:2:006:1 -115:8 5 <
f5eae100 3896408071 C Ii:2:006:1 0:8 5 = 00000000 00
何か知らないけど、左側の32ビットはマウスボタンやマウス移動に反応するが、みんながカスタマイズしたくてしたくてしかたがない上側についているでっかい二個のボタンに関しては、この32ビットの外のビット(右側のビット)で転送されていると言うことがわかった。
多分だけど、これは上側についているでっかい二個のボタンをカスタマイズするためには、ドライバを書く必要があるということを示唆していると思う。 何て嫌らしいことをするんだろうか。
前バージョンのトラックボールは上の二個のボタンは標準的なボタン=ミドルボタンとバックボタンに割り当てられていた。 まぁこれが常識的なデザイナの判断だと思う。 これをドライバが必要な特殊なコードに割り当てて使えなくするというのは、多分まっとうなプログラマの判断ではない。 自分はいっさいパソコンに触らないおじさん社長の判断だろう。 とても残念だと思う。
だけど、ここだけを見るかぎり、少なくともlinuxではドライバを書くのは難しくなさそうだ。 やってみようかな... でも他にやることたくさんあるしな...。
それにマウスドライバは昔からちょっと作ってみたいと思っているもののひとつだし。 マウスドライバにマウスの動きをスムーズにする機能を組み込んでみたいのだ。 マックのマウスドライバにはこの機能がこっそりと標準で入ってるのだけど、WindowsやLinuxのやつには入ってない。これはマックを使っていて気持ちよいと感じる魔法のからくりのひとつだ。
マックはこういう細かな部分のファインチューニングがとても行き届いている。 こういうことをLinuxでもやったら面白いだろう、とは思う。
最近、僕はlinuxに乗り換えた。 だから今もLinuxを使っている。 linuxというのは実に内部がきちんとすっきり公開されているので、何でも自由にやることが出来る。 それでこのカスタマイズ能力ゼロのケンジントンのマウスをつないで、USBの内容をモニタしてみた。
やりかたはここで読んだ。
http://www.cygnal.org/ubb/Forum9/HTML/001519.html
http://www.mjmwired.net/kernel/Documentation/usb/usbmon.txt
http://www.linux-usb.org/USBMon/dissertation/USB-dissertation.htm
ここでかかれているusbmonというのは、昔はフリーウェアだったらしいけど、今では標準モジュールとして最初から組み込まれているそうだ。 これを使った。 そうしたら、あっさりUSBで転送されている内容がモニタされた。 何て便利なんだろうか。
こんなかんじ:
f5eae100 3895143969 C Ii:2:006:1 0:8 5 = 00000100 00
f5eae100 3895143999 S Ii:2:006:1 -115:8 5 <
f5eae100 3895151963 C Ii:2:006:1 0:8 5 = 00ff0000 00
f5eae100 3895151991 S Ii:2:006:1 -115:8 5 <
f5eae100 3895704045 C Ii:2:006:1 0:8 5 = 00000000 02
f5eae100 3895704070 S Ii:2:006:1 -115:8 5 <
f5eae100 3896408071 C Ii:2:006:1 0:8 5 = 00000000 00
何か知らないけど、左側の32ビットはマウスボタンやマウス移動に反応するが、みんながカスタマイズしたくてしたくてしかたがない上側についているでっかい二個のボタンに関しては、この32ビットの外のビット(右側のビット)で転送されていると言うことがわかった。
多分だけど、これは上側についているでっかい二個のボタンをカスタマイズするためには、ドライバを書く必要があるということを示唆していると思う。 何て嫌らしいことをするんだろうか。
前バージョンのトラックボールは上の二個のボタンは標準的なボタン=ミドルボタンとバックボタンに割り当てられていた。 まぁこれが常識的なデザイナの判断だと思う。 これをドライバが必要な特殊なコードに割り当てて使えなくするというのは、多分まっとうなプログラマの判断ではない。 自分はいっさいパソコンに触らないおじさん社長の判断だろう。 とても残念だと思う。
だけど、ここだけを見るかぎり、少なくともlinuxではドライバを書くのは難しくなさそうだ。 やってみようかな... でも他にやることたくさんあるしな...。
それにマウスドライバは昔からちょっと作ってみたいと思っているもののひとつだし。 マウスドライバにマウスの動きをスムーズにする機能を組み込んでみたいのだ。 マックのマウスドライバにはこの機能がこっそりと標準で入ってるのだけど、WindowsやLinuxのやつには入ってない。これはマックを使っていて気持ちよいと感じる魔法のからくりのひとつだ。
マックはこういう細かな部分のファインチューニングがとても行き届いている。 こういうことをLinuxでもやったら面白いだろう、とは思う。
コメント一覧