微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以打开/closures个别键盘上的Capslock指示灯吗?

我有一个多个键盘的电脑,所有的大写locking灯同步打开/closures。 (所以如果一个用户/键盘打开大写锁,每个人都input大写字母)

我正在考虑将每个键盘的大写locking状态保存在标志中,但我只是意识到灯光不会对应每个用户/键盘的大写locking状态。

我只是想知道,大小写locking灯是否可以独立打开/closures。 我已经计划禁用大写locking(因为我不太喜欢这个关键字),但是如果客户想要使用它,我可以find一种方法来做到这一点,或者告诉他们这是不可能的。

Ctrl-C和SIGINT有什么区别?

影响原始input消息的Windows键重复设置

在Debian中映射我的自定义

将X11键映射导出到Linux内核

IntelliJ构buildconfiguration键盘快捷键

尝试

http://www.codeguru.com/Cpp/WP/system/keyboard/article.PHP/c2825

有点涉及,但可行:)

您可以使用Keybd_Event函数以编程方式获取并设置CapsLock键的状态

尝试这个:

var KeyState: TKeyboardState; begin GetKeyboardState(KeyState) ; if (KeyState[VK_CAPITAL] = 0) then begin //simulate key down Keybd_Event(VK_CAPITAL,1,KEYEVENTF_EXTENDEDKEY or 0,0) ; Keybd_Event(VK_CAPITAL,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0) ; end else begin //simulate key up Keybd_Event(VK_CAPITAL,0) ; end;

如果你真的想禁用一个密钥(我不推荐),你可以使用这个库叫BlockKeys(我发现BlockKeys库在http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_21504230.html ):

library BlockKeys; uses Windows,Messages; {$R *.RES} var hKeyHook: THandle = 0; Hooked: Boolean = False; function HookFunc(Code,VirtualKey,Keystroke: Integer): Integer; stdcall; begin if VirtualKey in [VK_TAB,VK_CONTROL,VK_MENU,VK_ESCAPE,VK_F1] then Result := 32 else Result := CallNextHookEx(hKeyHook,Code,Keystroke); end; function StartHook: Boolean; export; begin Result := False; if Hooked then begin Result := True; Exit; end; hKeyHook := SetwindowsHookEx(WH_KEYBOARD,HookFunc,hInstance,0); if hKeyHook <> 0 then begin Result := True; Hooked := True; end; end; function StopHook: Boolean; export; begin if Hooked then Result := UnhookWindowsHookEx(hKeyHook) else Result := True; if Result then Hooked := False; end; exports StartHook,StopHook; begin end.

希望这可以帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐