jdmouse用パッチ
いまいさん作成のjdmouseを、VAIO SRXシリーズ(動作確認はSRX3F/BD)で使いやすいように修正&改造するパッチです。
SRXシリーズ以外でも、タッチパッドの手前にダイヤルとBACKボタンが並んでいる機種で使用すると、ちょっと便利かもしれません。
作成環境はVine Linux 2.6 (kernel-2.4.20-0vl29.1)。Vineなら
kernel-2.4.20-0vl29.1以降、純正kernelなら2.4.21以降で動くはず。
オリジナルとの変化点は次の通りです
修正点
- 最近のsonypiでJOGDIALを離した際のイベント番号変化に対応
- JOGDIALを押した際の動作をマウスの中ボタンクリックに変更
(オリジナルは左ボタン)
- BACKボタンをJOGDIALと同一視
- GTK版を参考にしてバックライトの最大値を200に変更
(configure sectionのBACKLIGHT_MAXで変更可能)
- GTK版を参考にしてサウンドの最大値を100に変更
(configure sectionのSOUNDVOLUME_MAXで変更可能)
- そのほか細かいところをちょこっと変更したような気がする
追加機能
- WIRELESSスイッチでWIRELESS LANのON/OFFにインチキ対応
- Fn+1でpcmcia(Socket 0)のreset
- Fn+2またはFn+Eでpcmcia(Socket 0)のeject
削除機能
- ダイアル←→ホイールの変換を停止
(kernel 2.4.21以後では標準でダイヤル←→ホイール変換をするため、Vineは2.4.20-0vl29くらいから対応?)
カスタマイズ
- #define KERNEL_OVER_2_4_21
- ダイアル←→ホイールの変換をしないようになります。古いkernelで使う
場合などjdmouseを本来の用途で利用したい場合はコメントアウトして下さい。
- #define BACK_EQ_DIAL
- BACKボタン押し(離し)をダイアル押し(離し)に変換します。
不要な場合はコメントアウトしてください。
- #define WIRELESS_SW
- WIRELESS SWで無線LANのON/OFFをします。
(正確にはPC Card Socket 1のresume/suspend)
不要な場合-無線LANを別の方法でON/OFFする場合など-はコメントアウトしてください
- #define CARDCTL
- Fn + 1でPCカードのSocket 0をリセット、Fn + 2またはFn + EでSocket 0をejectします。
不要な場合はコメントアウトしてください。SIIのMC-P300はダイヤル前にresetが必要なので作ってみました。
- #define BACKLIGHT_MAX 200
- #define SOUNDVOLUME_MAX 100
- それぞれLCD輝度の最大値と音量の最大値です。
VAIOでも、機種によって異なるらしいので、利用環境に合わせて修正して下さい。
(gtk版のreadme-gtk.txtによるとSRX7ではこの値らしい)
既知の問題点
- WIRELESSスイッチの対応が不完全
- LED表示とは関係なくスイッチのON/OFF変化でWIRLESS LANのresume/suspendしています。
そのため、場合によってはLED表示と実際の稼働状況が食い違うことがあります。
また、ON/OFF変化を短時間に連続して行うとマシンがフリーズすることがあるようです。
- 輝度調節を行うと、acpiイベントを取得できなくなる
- Vineの古いkernelで発生していました。
そのほか
- 古いkernelでコンパイル・実行できるかどうか全く不明
- kernel 2.4.19以後ならコンパイルできると思うけど、試してない。
言い訳とか
Cの文法は知っているけど、ioctlがなにをやっているのかは解らないというアレな人間がつくったパッチなので、
色々と美しくなかったり、もしかしたら間違ったことをしているかもしれません。
変なところをみつけたら、直し方も含めて教えてください。
#ただし返事は期待しないように
name:和田なお(仮名)
email:なお(仮名)宛のMAILについて
リンクに関するお願い