我需要使用C ++获取CAPS LOCK的状态。我尝试使用XkbGetIndicatorState
获取状态,但它无法正常工作。
有人可以帮助我吗?
答案 0 :(得分:0)
除了NUM_LOCK键状态外,我一直在遇到同样的问题。 我修改了找到的代码,以找到CAPS_LOCK状态:
以下是代码,希望对您有所帮助:
#include <X11/Xlib.h>
Display *dpy = XOpenDisplay(":0");
XKeyboardState x;
printf("led_mask=%lx\n", x.led_mask);
printf("NumLock is %s\n", (x.led_mask & 2) ? "On" : "Off");
printf("CapsLock is %s\n", (x.led_mask & 1) ? "On" : "Off");
答案 1 :(得分:-6)
尝试以下内容:
if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
cout<<"Caps Lock ON!";
else
cout<<"Caps Lock OFF!";
或(reference)
Use GetAsyncKeyState with VK_CAPITAL (0x14)