LINUX.ORG.RU

как отловить комбинацию клавиш?


0

0

есть необходимость написать программу, которая должна запускаться либо фоново при старте системы, либо nohup, либо демоном. все, что она должна делать - отловить определенную комбинацию клавиш и выполнить определенные действия. каким образом можно вообще получить доступ к событиям от клавиатуры? покопался в /dev/ - чтото ничего не накопал...

★★

посмотри, как Ctrl+Alt+Del реализовано в последних дистрибутивах, ибо по этой комбинации современные дистрибы отправляются в ребут.

vilfred ☆☆
()
Ответ на: комментарий от vilfred

> посмотри, как Ctrl+Alt+Del реализовано в последних дистрибутивах, ибо по этой комбинации современные дистрибы отправляются в ребут.

AFAIR как раз эта комбинация отлавливается внутри ядра

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от Vinill

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

Vinill ★★
() автор топика
Ответ на: комментарий от Vinill

дык действительно повесь сие действие на Ctrl+Alt+Del.. всего надо одну строчку в inittab прописать и не забывать про /proc :)

MKuznetsov ★★★★★
()
Ответ на: комментарий от Vinill

>пробовал уже - на попытки открыть любое из устройств в этом каталоге вылетает No search device

ну так соберите ядро с поддержкой input

anonymous
()
Ответ на: комментарий от anonymous

>пробовал уже - на попытки открыть любое из устройств в этом каталоге вылетает No search device

>ну так соберите ядро с поддержкой input

а мняяя... разве это не относится только к USB HID устройствам? или оно все равно прицепится и ps/2 клавиатуре?

Vinill ★★
() автор топика
Ответ на: комментарий от Vinill

И с ps/2 /dev/input замечательно работает, только чтение на /dev/input/event0 имеет только root (что вполне обоснованно).

Если надо иксовую приблуду, то 100% есть другой правильный путь.

anonymous
()
Ответ на: комментарий от Vinill

>или оно все равно прицепится и ps/2 клавиатуре?

прицепится. как и любое вменяемое устройство ввода. :)

anonymous
()
Ответ на: комментарий от MKuznetsov

Можно по Alt-СтрелкаВверх:

/etc/inittab:

# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

Davidov ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.