Win7查询硬件键盘Caps Lock当前状态

时间:2014-08-16 02:06:21

标签: python tkinter

我在OS windows7上用Python 2.7编写了一个Tkinter应用程序 我想查询硬件键盘Caps Lock的当前状态,而不捕获键盘事件,将它们发送到任何地方或切换它。

操作系统键盘中断处理程序是否在用户身体上处于模态状态?

按下硬件键盘大写锁定键?,或者是Caps Lock内部逻辑状态 键盘本身? 是否有Python意味着查询Caps Lock的当前状态?

我一直在寻找YEARS,阅读了数千个与键盘相关的帖子, 我找到的只是键盘事件捕获和切换。

1 个答案:

答案 0 :(得分:3)

GetKeyState是用于查找C / C ++中大写锁定键当前状态的Windows API,因此使用ctypes可以执行以下操作:

import ctypes

VK_CAPITAL = 0x14

if ctypes.windll.user32.GetKeyState(VK_CAPITAL) & 1:
    print "Caps Lock On"
else:
    print "Caps Lock Off"

不,键盘本身没有实现大写锁定功能。键盘只是在按下Caps Lock键时告诉计算机。 Windows然后跟踪封锁状态本身。它甚至必须告诉键盘何时打开或关闭大写锁定指示器。键盘不会单独执行此操作。