[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pointer buttons of Xhpc
おおしまです。
Moblie Gear IIのXhpcのたぶん初期状態で、
% xmodmap -pp
There are 5 pointer buttons defined.
Physical Button
Button Code
1 1
2 2
3 3
4 152
5 81
となって、Button 4,5の値が異常になっています。
これはhw/netbsd/hpc/hpcMouse.cのhpcMouseProc()で
BYTE map[4];
:
map[1] = 1;
map[2] = 2;
map[3] = 3;
InitPointerDeviceStruct(
pMouse, map, 5, miPointerGetMotionEvents,
hpcMouseCtrl, miPointerGetMotionBufferSize());
となっていて、map[]が3つしかないのにInitPointerDeviceStructに5個
あると渡してるためにmapの後ろエリア外を初期値として参照してしまっ
ているようです。そこで単純に
BYTE map[6];
:
map[1] = 1;
map[2] = 2;
map[3] = 3;
map[4] = 4;
map[5] = 5;
としてしまえば直るみたいです。
実際に5個もボタン使っていないのですが、Terios等でusb mouse使ってい
る場合は何か現象が出るのかもしれません。
xmodmapで割り当て直してしまえばどうってことはないんですが、一応報告
しておきます。
# dix/devices.cのInitButtonClassDeviceStruct()見るとmap[]を1からしか
# 使ってなくて配列1個余分に必要なんですね…うーん。