Я вроде согласен с КП. Это смешно ...
Но если ты серьезно ...
Первый:
Существует setleds программа, которая может помочь вам начать работу. Это было вокруг целую вечность ... Попробуйте man setleds .
Кроме того, xset можно использовать (под X-windows) для изменения светодиодов ... (Возможно, вам придется увидеть, какие светодиоды включены для изменения в X-config файл.)
Второе:
Обнаружение ctrl + alt + del является более серьезной проблемой, поскольку оно специально помечено init . Посмотрите в / etc / inittab или / etc / init / control-alt-delete.conf или где-то в этом роде, и вы увидите строки вроде:
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -h now
Или:
# control-alt-delete - emergency keypress handling
#
# This task is run whenever the Control-Alt-Delete key combination is
# pressed. Usually used to shut down the machine.
start on control-alt-delete
exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
Так что вам придется отключить это ... Или просто запустить программу мигания клавиатуры, а не /sbin/shutdown.
Кроме того, следите за «Control-Alt-Backspace» - Многие настройки конфигурации X11 позволяют этой комбинации отключать X-сервер. (Опция "DontZap" .)
Третье:
Теперь вам нужно найти способ получить нажатие клавиши control-alt-delete . Это не невозможно, но это может быть не так просто, как getc () . (Опять же, я могу ошибаться ...)
Конечно, если вы не хотите, чтобы ваша программа имела фокус клавиатуры. Если вы хотите, чтобы это происходило, когда другие программы выполняются на переднем плане с фокусировкой на клавиатуре ... Что ж, тогда вы смотрите на настройку ядра или какого-либо драйвера ядра. (Или inittab запустить программу вместо / sbin / shutdown .)
Как ни крути, это не очень хорошее Hello World упражнение типа.