2014-12-28 2 views
0

Я разрабатываю небольшую настольную утилиту, в которой мне нужно вызвать мою утилиту при нажатии определенного набора клавиш (Alt + c).Мониторинг нажатия клавиши/нажатия клавиши с помощью NodeJS

Я пробовал модуль keypress. Но он только слушает нажатия клавиш, сделанные в том месте, где работает мой скрипт (т. Е. Когда мой элемент управления имеет фокус).

Я хочу прослушать все нажатия клавиш. Как это можно реализовать?

PS: Рассмотрите мою полезность, как Gnome-DO, где, нажав Win + Space, вы вызываете приложение.

ответ

1

Если вы хотите получить доступ к событиям клавиатуры по всему миру, вы должны получить доступ к системному файлу событий, связанному с клавиатурой.

Для идентификации файла событий клавиатуры, под траекторией

/dev/input/ 

есть список eventX файлов, каждый из связанного с другим устройством ввода. Выполняя

sudo evtest /dev/input/eventX 

, а затем нажав клавиши клавиатуры, вы можете определить, какой файл события связан с ним. С помощью этого файла вы будете иметь необработанные данные события клавиатуры, вам придется его разобрать. Для обработки этих необработанных данных есть documentation.

Кроме того, есть проекты, которые читают из файла событий клавиатуры:

https://github.com/Bornholm/node-keyboard

+0

Wow. Благодарю. Я проверю это и отвечу как можно скорее. Посмотрите, служит ли это моей цели. – shivams

Смежные вопросы