Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Леонид Каганов ([info]lleokaganov)
@ 2019-03-10 21:05:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:неведомая хуйня, программирование, сделай сам

Linux - перенаправление клавиатуры
это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2019/03/10

UPD: Всем спасибо за советы, решение в итоге такое: компилируем мою прежнюю утилитку захвата выбранной клавиатуры: keyboardoid и пишем такой скрипт, который запускает сканирование клавиш:

#!/bin/sh
if [ "$1" = "" ] ; then sudo ./keyboardoid "0b9b:4012" "$0 %c"
else
if [ "$1" = "9" ] ; then A="space" ; else A="BackSpace" ; fi
xdotool key --window `xdotool search --name qiv | tail -1` $A
fi

C устройства приходят коды 9 и 3 (так видит коды keyboardoid), и если 9, то в окно qiv отправляется пробел — листать слайды вперед, а если вторая кнопка — то backspace, листать назад.

БЫЛО:

Товарищ Игорь дал мне парочку таких лазерных указок. Девайс не только лазерная указка, но по нажатию двух кнопочек на корпусе генерирует как USB-клавитура события клавиш «стрелка вверх» и «стрелка вниз». Что, видимо, удобно для чтения лекций со слайдами и проектором. Но комбинация клавиш меня не устраивает (в qiv листаются картинки другими кнопками), а работа с девайсиками, изображающими USB-клавиатуру в Линуксе, напротив, вызывает у меня интерес. Поэтому возник вопрос — а вообще какой-то технологией можно взять под контроль нажатия «кнопок» и переназначить их по пути к приложению? Варианты мне видятся такие:

1. Научиться самому передавать событие «нажата кнопка X» в конкретное приложение. Как перехватывать одну из клавиатур я уже знаю, а вот можно ли подсовывать якобы события клавиатуры какому-то одному конкретному приложению — пока не знаю.

2. Научиться переназначать клавиши одной из имеющихся клавиатур. Переназначить кнопки в Линуксе несложно — есть специальный конфиг, это я даже на Андроиде делал, когда у меня был Droid 4 с физической клавиатурой. Но здесь проблема в том, что основную клавиатуру как раз трогать не надо, речь про устройство номер 0b9b:4012

Есть идеи?

PS: Никакой насущной необходимости нет, советы по приобретению других девайсов или других листалок слайдов не нужны: интересует лишь сама технология в юниксах. Читать лекции со слайдами или иным способом использовать эту безделушку пока не планирую. Кстати если кому нужна — у меня парочка таких есть еще, могу поделиться.



это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2019/03/10