Ubuntu VS Microsoft ergonomic 4000 keyboard

вторник, 12 октября 2010 г.

Проблема такова - триггер "zoom", который расположен в центре клавиатуры из коробки не работает. В ходе раскопок оказалось что стандартный обработчик клавиш не поддерживает коды кнопок которые больше 255, и как показала практика именно коды триггера были больше чем 255:
zoom+   :   0x1a2
zoom-   :   0x1a3

В данном случае нам поможет утилита rawkeybinder написана Романом Исаевым (Roman V. Isaev (roman@isaev.ru) ) за что ему большое спасибо !
Итак приступим.
Для начала скачаем архив:
wget http://www.isaev.ru/rawkeybind/rawkeybind-0.1.tgz
распакуем его
tar -xvf rawkeybind-0.1.tgz
далее соберем у установим его:
cd rawkeybind-0.1/
установив недостающую библиотеку
sudo aptitude install libxtst-dev libxtst6
и выполним установку
./configure && make && sudo make install
далее отредактируем файл настроек
sudo gedit /etc/rawkeybind.conf
куда добавим 2 строки:
0x1a3:0xff54:Microsoft Natural 4000 key down

0x1a2:0xff52:Microsoft Natural 4000 key up
Первое число - код клавиши, второе число - код эмулируемой кнопки ( в нашем случае это клавиша вверх и вниз можно поставить и другие из /usr/include/X11/keysymdef.h )
Теперь осталось добавить утилиту на автозагрузку вместе с "иксами"
echo /usr/local/bin/rawkeybind -f >> ~/.xsessionrc
и перезагрузим XServer:
sudo /etc/init.d/gdm restart
Теперь триггер работает так как мы того хотели. (В windows переназначить функции триггера к сожалению нельзя).
Profit!

 
Поверед бай: Dev crowd :)