Привет. Может, кто тут разбирается, и даст умный совет?
Есть девайс. Мышка (надевается на палец, но это не суть) с двумя кнопками. USB, ноутбук, т.е. она в него воткнута существенно не всегда. Я хочу на ней (и именно на ней, и без залезания в отсутствующий у меня в системе за ненадобностью xorg.conf) при ее втыкании включать эмуляцию средней кнопки. Я умею: сказать $ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)] ⎜ ↳ USB OPTICAL MOUSE id=10 [slave pointer (2)] ... (ну, клавиатура неинтересна) и на основании этой информации $ xinput --set-prop 10 'Evdev Middle Button Emulation' 1 и мне не сложно заскриптовать комбинацию. Хотя называется она, конечно, офигительно информативно, блин. Но хочется это делать при втыкании, а не непонятно когда. А вот как правильно обнаружить втыкание? Предупреждаю сразу: исходя из того, что оно мне надо в иксах, вариант udev-правила получается кривым, поскольку xinput запускается, вообще говоря, на одном хосте, а мышка втыкается в другой. Впрочем, если в этой ситуации Xinput extension отваливается сам по себе, то этот вопрос отпадает. Но чисто по логике-то не с чего, это все же не shared memory. Раз сам X-сервер втыкание определяет, то где-то оно у него должно бы появляться-то... Но на худой конец сойдет и решение, где терминал и сессия на одном хосте. Нет, я даже могу придумать схему в духе "udev кидает событие в dbus, скрипт его ждет, и если видит, то дергает xinput", но как-то это кривовато, очень хочется верить, что существует какой-то более прямой путь получить нужную информацию, непосредственно из X-сервера. Однако, сходу не удалось задать гуглу правильный вопрос. Я даже выяснил методом Мана и Тыка, что можно попросить xinput слушать Core Pointer, и из его вывода отфильтровать добавление девайса, но более избирательно в нем не предусмотрено, а вывода там - на каждое движение мышки. Это, прямо скажем, перебор. И кроме того, xinput для этого окно создает, хотя, в отличие от xev, реагирует на движения мышки и вне этого окна. Нет, опять же, отсюда понятно, что можно взять библиотеку, почитать хедера, документацию на расширение я как раз сумел нагуглить, и вперед. Но может, этот велосипед уже изобрели? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/87k3c8tp1w....@wizzle.ran.pp.ru