<?xml version="1.0" encoding="UTF-8" ?><oembed><version>1.0</version><provider_name>Чудо{вищные} заметки</provider_name><provider_url>https://miracle.rpz.name</provider_url><author_name>MiRacLe</author_name><author_url>https://miracle.rpz.name/author/miracle/</author_url><title>zoom-слайдер на клавиатуре в linux</title><html>После прочтения заметки о &quot;&lt;a href=&quot;http://linsovet.com/xorg-use-non-standard-keys&quot;&gt;странных кнопках ноутбука&lt;/a&gt;&quot; сразу вспомнил о неработающем zoom-слайдере на клавиатуре &lt;a title=&quot;конечно же это реклама, а не ссылка на страницу с фотографией клавиатуры&quot; href=&quot;http://www.nix.ru/autocatalog/keyboards_microsoft/Microsoft_Digital_Media_Keyboard_ver.1.0a_Black_Ergo_USB_105_15_Zoom_Slider_DB800012_31415.html&quot; target=&quot;_blank&quot;&gt; Microsoft Microsoft® Digital Media Keyboard&lt;/a&gt;. Немедленно с помощью &lt;strong&gt;showkeys&lt;/strong&gt; выяснил keycodes событий &quot;слайдер вверх&quot; - 418, слайдер вниз - 419. Перечитав ещё несколько раз заметку понял что мне она больше не поможет - &lt;strong&gt;xOrg&lt;/strong&gt; в принципе не переваривает keycodes выше 255, ситуация казалось бы безвыходная, но оказалось не совсем, нашлось решение в виде &lt;a href=&quot;http://www.bedroomlan.org/projects/evrouter&quot;&gt;evrouter&lt;/a&gt; - программы, которая (как видно из названия) &quot;пробрасывает&quot; события одних устройств на другие трансформируя согласно правилам описанным в конфигурационном файле.

После непродолжительных мытарств родился следующий &lt;strong&gt;~/.evrouterrc&lt;/strong&gt;:
&lt;pre class=&quot;c&quot;&gt;#при нажатии на slider up на клавиатуре - сгенерируй событие &quot;mousewheelup&quot;
&quot;Microsoft Microsoft® Digital Media Keyboard&quot; &quot;/dev/input/event.*&quot; none key/418 &quot;XButton/4&quot;
#при нажатии на slider down на клавиатуре - сгенерируй событие &quot;mousewheeldown
&quot;Microsoft Microsoft® Digital Media Keyboard&quot; &quot;/dev/input/event.*&quot; none key/419 &quot;XButton/5&quot;
&lt;/pre&gt;
Для получения необходимых прав в /dev/input в &lt;strong&gt;rc.local&lt;/strong&gt; была добавлена строка:
&lt;pre class=&quot;c&quot;&gt;# внимание - используйте на свой страх и риск! Слабо представляю какие подсистемы затронет такое наглое вмешательство в /dev
chgrp users /dev/input/event*
&lt;/pre&gt;
В &lt;strong&gt;~/.kde/Autostart&lt;/strong&gt; добавлен запуск &lt;strong&gt;/usr/bin/evrouter /dev/input/event*&lt;/strong&gt;
&lt;blockquote&gt;Вы можете запускать evrouter через sudo (и не трогать права на /dev), но подозреваю, что с автозапуском могут быть проблемы...&lt;/blockquote&gt;
&lt;!--more--&gt;

После чего обнаружил что скроллинг работает, да совсем не так, как ожидалось - одно нажатие на слайдер прогручивает активное окно на три строки (как и указано в настройках KDE), но хотелось-то чтобы прокручивалось до тех пор пока слайдер не отпустишь... Снова поиск и снова решение - &lt;a href=&quot;https://gist.github.com/754395&quot;&gt;патч evrouter, который добавляет повторения &quot;мышиных&quot; событий&lt;/a&gt;. Качаю, накладываю, пересобираю &lt;strong&gt;evrouter&lt;/strong&gt;, меняю команду запуска на &lt;strong&gt;evrouter -r /dev/input/event*&lt;/strong&gt; и получаю желанное.

Напоследок добавляю в rc.local_shutdown :
&lt;pre class=&quot;c&quot;&gt;/usr/bin/evrouter -q
rm -f /tmp/.evrouter*
&lt;/pre&gt;
Спустя семь лет после приобретения клавиатуры заработал &quot;ползунок&quot;, пройдут десятилетия и возможно удастся завести &quot;фаворитные&quot; пять кнопок :)

&quot;Такой день&quot; (ц)</html><type>rich</type></oembed>