gpt4 book ai didi

c - 在 Linux 中使用 GetKeyState(VK_CAPITAL) & 1

转载 作者:太空狗 更新时间:2023-10-29 11:05:36 27 4
gpt4 key购买 nike

#include <windows.h>

int main() {
if ( !GetKeyState(VK_CAPITAL) & 1 ) {
printf("caps off");
}
else
printf("caps on");
return 0;
}

但仅限于windows

如何在 Linux 中使用 gcc 执行此操作?

GetKeyState(VK_CAPITAL) & 1 中的 & 1 是什么?

最佳答案

对于基于 X11 的桌面的最常见情况:

#include <stdio.h>
#include <X11/XKBlib.h>

int main() {
Display * d = XOpenDisplay((char*)0);

if (d) {
unsigned n;

XkbGetIndicatorState(d, XkbUseCoreKbd, &n);

printf((n & 1)?"caps on\n":"caps off\n");
}
}

确保你有 X11 开发头文件并编译:

$ gcc -lX11 test.c -o test

从桌面的控制台窗口运行它:

$ ./test
caps off
$ ./test
caps on

关于c - 在 Linux 中使用 GetKeyState(VK_CAPITAL) & 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9009775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com