xmodmap Событие KeyPress для события ButtonPress

Я просто получил logitech t400 mouse, и все работает хорошо, за исключением того, что я хочу переназначить «верхнюю» часть средней мыши на фактическую среднюю функцию мыши.

Когда я запускаю xev и захватываю клики, все кнопки мыши возвращают ButtonPress / ButtonRelease но верхняя часть средней кнопки возвращает событие KeyPress / KeyRelease как:

 KeyPress event, serial 35, synthetic NO, window 0x5200001, root 0x31d, subw 0x0, time 630089839, (80,128), root:(2871,588), state 0x10, keycode 133 (keysym 0x31d, (no name)), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 36, synthetic NO, window 0x5200001, root 0x31d, subw 0x0, time 630089983, (80,128), root:(2871,588), state 0x50, keycode 133 (keysym 0x31d, (no name)), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False 

Нижняя часть средней кнопки работает нормально и возвращает:

 ButtonPress event, serial 37, synthetic NO, window 0x5200001, root 0x31d, subw 0x0, time 630137726, (10,171), root:(2801,631), state 0x10, button 2, same_screen YES ButtonRelease event, serial 37, synthetic NO, window 0x5200001, root 0x31d, subw 0x0, time 630138960, (10,171), root:(2801,631), state 0x210, button 2, same_screen YES 

Я хотел бы переделать верхнюю часть так же, как и нижнюю часть, возможно ли это с помощью xmodmap?

благодаря!

Я тоже пробовал это, и в итоге нашел – глубоко погруженный в документы – что это невозможно.

Этот пост на форуме содержит код C, который использует функцию XSendEvent для эмуляции нажатия кнопки. Вы можете запустить его, например, с помощью xbindkeys .

В форуме также предлагается использовать xdotool . Отказ от ответственности: я еще не пробовал.