|
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 93
|
||||||
Перехват нажатия клавиши на Linux26.04.2012, 16:15. Показов 37745. Ответов 32
Метки нет (Все метки)
Здравствуйте уважаемые эксперты! С помощью WinApi функций было просто использовать функцию GetAsyncKeyState. При нажатии на какую-либо кнопку выполнялось какое-либо действие.
так вот. Каким образом совершить подобное на Linux?
0
|
||||||
| 26.04.2012, 16:15 | |
|
Ответы с готовыми решениями:
32
Перехват нажатия клавиш XGrabKeyboard
Скомпилированная программа закрывается после нажатия клавиши |
| 08.05.2012, 22:07 | |||
|
shooter9688, ну вот - ты туда можешь по идее прописать цифры 258, 259, 260, 261, либо понятные макросы объявить типа вверх,вниз,вправо,влево (чтобы было понятно что это).
сюда: Добавлено через 2 минуты
1
|
|||
|
2 / 2 / 0
Регистрация: 27.04.2012
Сообщений: 30
|
|
| 09.05.2012, 23:09 | |
|
Спасибо!
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 30.01.2016, 18:15 | |
|
Вы извините меня, конечно, но решение Перехват нажатия клавиши на Linux
можно назвать таковым с большой натяжкой. Это просто обработка нажатия клавиши определённым образом, а не его перехват. Перехват, это когда у тебя активно окно, допустим, текстового редактора и рядом неактивное окно консоли. Ты жмёшь на клавишу и срабатывает перехватчик- код клавиши появляется в окне консоли. А-ля хук, только в линукске За сим считаю вопрос нерешённым и возобновляю тему, дабы не создавать новой с таким же в точности названием. Вопрос открыт.
1
|
|
|
5 / 5 / 2
Регистрация: 05.02.2013
Сообщений: 98
|
|
| 01.02.2016, 14:26 | |
|
Тоже думал над этим. Клавиатура ведь устройство. А значит есть ее файл устройства (драйвер). Я его нашел и при его кате происходит интересная вещь: так как это символьное устройство то при любом нажатии на клавиатуру нам будет в консоль выплевываться куски текста (закодированного ну странного текста). Можно сопоставить этим кускам текста нажатые клавиши и все готово. Но проблема в том что нужен рут. Еще интересно по катить драйвер мыши. Там при любом ее движении будут выходить куски текста.
1
|
|
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||
| 05.02.2016, 16:14 | ||
В UNIX ещё году в 1970 (лет за 20-25 до появлеия всяких виндаузов) была развита архитектура терминальной подсистемы UNIX. В частности, были определены режимы ввода: канонический + некононический. А вы пытаетесь притянуть виндаунные стереотипы к совершенно другой архитектуре. Вы можете в UNIX/Linux произвольно и тонко управлять всеми деталями ввода: эхо-отображение символов или нет, тайм-аут ожидания и мн. др. Вы можете выполнять это в отдельном потоке или в отдельном окне ... где угодно - только это уже к собственно вводу не имеет никакого касательства. P.S. Кому интересно, можете посмотреть примеры кода Разработка программных проектов в Linux. И кстати ... всё, касающееся терминального ввода UNIX, нужно смотреть в коде C, а в C++ оно просто естественно мигрировало, как в наследника ... поскольку код C++ в Linux не может даже выполняться без наличия библиотеки C API libc.so ... что для некоторых является большим сюрпризом.
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 05.02.2016, 16:22 | ||
|
0
|
||
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||
| 05.02.2016, 16:43 | ||
Читай Букварь. ![]() Букварь называется: POSIX.
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 05.02.2016, 17:14 | ||
|
Вы заметили, друзья, как он переходит на термины, когда нечего сказать? Канноический- неканонический, ещё какую-то херь несёт...
0
|
||
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||
| 05.02.2016, 18:23 | ||
|
Это всё (и как это использовать) очень внятно растолковано вот в том Букваре, в который я вам советовал заглянуть ... а вы упираетесь, глупышка
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 05.02.2016, 19:44 | |
|
Термины посмотреть нетрудно. Я что, нажатия клавиш перехватывать этим научусь? Нет. А ты сам не знаешь как это сделать.
0
|
|
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||||
| 05.02.2016, 20:26 | ||||
![]() ![]()
0
|
||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||
| 05.02.2016, 23:33 | |||||||
|
Кликните здесь для просмотра всего текста
-lX11
1
|
|||||||
|
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 6
|
|||||||
| 12.07.2017, 08:16 | |||||||
gdb/strace не помогают понять в чём затык. вывод strace:
Добавлено через 20 часов 3 минуты Если быть точным, на сервере запущен Xvnc, в стартовом скрипте которого вызывается браузер, в котором надо блокировать некоторые клавиши (к сожалению, неблокируемые через xmodmap).
0
|
|||||||
| 12.07.2017, 08:16 | |
|
Отлов нажатия клавиатуры в Linux Перехват нажатия клавиши Перехват нажатия клавиши Перехват нажатия клавиши
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|