我正在尝试用c控制键盘处理程序闪烁的程序 NUMLOCK & CAPSLOCK LED作为 ctrl的反应 + alt + del push ...请帮帮我..
答案 0 :(得分:1)
选项:
KDGETLED/KDSETLED
上的/dev/console
ioctl更改键盘LED。祝你好运!
答案 1 :(得分:1)
我有点同意KP。这很有趣......
但如果你认真的话......
<强>首先强>
有一个 setleds 计划可能会帮助您入门。它已存在多年......尝试 man setleds 。
此外,可以使用 xset (在X-windows下)更改LED ...(您可能必须查看哪些LED已在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 类型练习。