- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
#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/
我希望在按下某个键时切换 bool 事件。具体来说,'s' 键。我已被指向函数 GetKeyState(),它应该在 Win32 API 下工作。我知道字母's'的ASCII码是115,所以我的代码如
我需要为我的小应用程序监听键盘按键状态。 #include #include #include using namespace std; int main() { while(1)
在VCL(Delphi 2010)中我使用这个函数来检查控制键是否被按下: function IsControlKeyPressed: Boolean; begin Result := GetKe
使用 GetKeyState,我可以在按下某个键时执行一些任务。但是,如果我有 if (GetKeyState(VK_UP) & 0x80),它会在整个按住键的过程中返回 true。 如果我只想在按下
大家好,我正在使用 C 中的代码块。我阅读了 https://msdn.microsoft.com/en-us/library/windows/desktop/ms646301(v=vs.85).as
当我使用 GetKeyState 或 GetAsyncKeyState 按下某些键时,我遇到了问题,两者都记录了按下键的历史记录。所以当我有一个 cin>> 这是我按下的键。 if(GetKeySta
我编写了一个简单的程序来监听大写锁定键,并显示一个消息框,说明当前大写锁定是打开还是关闭。 所以:用户按下大写锁定,程序确定大写锁定现在处于什么状态(打开或关闭)并显示一个消息框。 实际发生的是,当大
有时我会收到客户的错误报告,但我无法解释。在 Delphi 中的 Application.Run() 之后,我收到以下错误: EOSError: System error: Code:_5 Acce
Keyboard.GetKeyStates 似乎有一种方法可以返回错误按下的键,例如 Keyboard.GetKeyStates(Key.NumPad2) 可以返回 向下,切换,即使没有按下也是如此。
从MSDN ,我了解到GetKeyState 与当前线程的消息队列相关联。 然后我创建了两个示例应用程序:KeyPresser 和 BackChecker。 我在 KeyPresser 中按下一个键,
我正在使用 C# 开发一个简单的通用 Windows 应用程序。我有一个 RichEditBox,并且在使用 Control+I 组合键时发现了奇怪的行为,由于某种原因,它会插入一个 Tab(这是预期
我正在使用 C# 开发一个简单的通用 Windows 应用程序。我有一个 RichEditBox,并且在使用 Control+I 组合键时发现了奇怪的行为,由于某种原因,它会插入一个 Tab(这是预期
在下面的代码中:- BYTE ks[256]; auto keyboard_layout = GetKeyboardLayout(0); GetKeyboardState(ks); auto w =
与获得按键有什么区别: GetKeyState() GetAsyncKeyState() getch()? 我应该什么时候使用一个而不是另一个? 最佳答案 GetKeyState() 和 GetAsy
#include int main() { if ( !GetKeyState(VK_CAPITAL) & 1 ) { printf("caps off"); } else printf("caps
基本上, 它的灵感来自 Vim 我想使用一个键(例如 Alt、F1)组合(+I J K L)来映射到箭头键 Autohotkey 中已经完成的工作 Ralt & j::send{Left} Ralt
我是一名优秀的程序员,十分优秀!