草庐IT

Keyboard

全部标签

c++ - Window 的 GetAsyncKeyState 的 Linux 等效项是什么?

我正在使用C++,我需要确定是否按下了shift键。在Windows中,我可以只使用GetAsyncKeyState。我如何在Linux中执行此操作?我无法以root身份运行。 最佳答案 在XWindows下,您可以加载X键盘扩展并调用XkbGetState()来获取当前键盘状态。如果按下shift键,则由XkbGetState()设置的XkbStateRec结构的base_mods字段将具有ShiftMask位设置。完整文档在这里:https://www.x.org/releases/X11R7.7/doc/libX11/XKB/

python - 在python中从键盘读取原始输入

我正在尝试在python中获取键盘的原始输入。我有一个带可编程键的罗技游戏键盘,但罗技不提供适用于Linux的驱动程序。所以我想我可以(尝试)为此编写自己的驱动程序。在认为解决方案可能是这样的:withopen('/dev/keyboard','rb')askeyboard:whileTrue:inp=keyboard.read()-dosomething-英语不是我的母语。如果您发现错误,请更正。 最佳答案 依赖操作系统处理键盘的两种输入法importsysforlineinsys.stdin.readlines():printl

python - 在python中从键盘读取原始输入

我正在尝试在python中获取键盘的原始输入。我有一个带可编程键的罗技游戏键盘,但罗技不提供适用于Linux的驱动程序。所以我想我可以(尝试)为此编写自己的驱动程序。在认为解决方案可能是这样的:withopen('/dev/keyboard','rb')askeyboard:whileTrue:inp=keyboard.read()-dosomething-英语不是我的母语。如果您发现错误,请更正。 最佳答案 依赖操作系统处理键盘的两种输入法importsysforlineinsys.stdin.readlines():printl

C xtest 为每个 Unicode 字符发出按键

我想制作一个模拟按键的程序。我想我基本上已经完成了,但我猜我做错了什么,因为它没有按照我的预期去做。我做了一个小示例程序来说明这个问题。主要问题是,如果我想生成大写字母,它不适用于像'zZ'这样的字符串。它只生成小写字母'zz'。尽管像'!这样的符号$&_>'等工作正常(这需要在我的德语键盘布局上进行shift),甚至像'?'这样的多字节。我正在做的是:序言:所以基本上,模拟按键的主要问题首先是布局因用户而异,最重要的是修改键。因此,如果您走天真的路线并使用XStringToKeysym()获取键码,则使用XKeysymToKeycode()从该键码获取键码并触发该事件,它不像大多数“

C xtest 为每个 Unicode 字符发出按键

我想制作一个模拟按键的程序。我想我基本上已经完成了,但我猜我做错了什么,因为它没有按照我的预期去做。我做了一个小示例程序来说明这个问题。主要问题是,如果我想生成大写字母,它不适用于像'zZ'这样的字符串。它只生成小写字母'zz'。尽管像'!这样的符号$&_>'等工作正常(这需要在我的德语键盘布局上进行shift),甚至像'?'这样的多字节。我正在做的是:序言:所以基本上,模拟按键的主要问题首先是布局因用户而异,最重要的是修改键。因此,如果您走天真的路线并使用XStringToKeysym()获取键码,则使用XKeysymToKeycode()从该键码获取键码并触发该事件,它不像大多数“

python - 如何使用 Python 守护进程捕获击键?

我正在尝试为Sheevaplug编写一个POS样式的应用程序执行以下操作:从读卡器捕获输入(据我所知,大多数磁卡读卡器模拟键盘输入,所以基本上我希望捕获它)不需要X在后台运行(守护进程)我看到过等待STDIN的代码示例,但这行不通,因为这是一个没有登录的后台进程,实际上什至没有监视器。我还找到了这个片段elsewhere在这个网站上:fromstructimportunpackport=open("/dev/input/event1","rb")while1:a,b,c,d=unpack("4B",port.read(4))printa,b,c,d虽然它是迄今为止最接近我需要的东西,但

python - 如何使用 Python 守护进程捕获击键?

我正在尝试为Sheevaplug编写一个POS样式的应用程序执行以下操作:从读卡器捕获输入(据我所知,大多数磁卡读卡器模拟键盘输入,所以基本上我希望捕获它)不需要X在后台运行(守护进程)我看到过等待STDIN的代码示例,但这行不通,因为这是一个没有登录的后台进程,实际上什至没有监视器。我还找到了这个片段elsewhere在这个网站上:fromstructimportunpackport=open("/dev/input/event1","rb")while1:a,b,c,d=unpack("4B",port.read(4))printa,b,c,d虽然它是迄今为止最接近我需要的东西,但

java - LWJGL grabbed mouse - 如果应用程序挂起或使用抓取的鼠标命中断点时进行调试

我有一个LWJGL程序(LWJGL2.9.0)有时会随机挂起。调试的问题是鼠标总是被捕获。在Windows上,可以毫无问题地取回鼠标,但在linux上(我使用linuxKubuntu),我知道取回鼠标的唯一方法是停止应用程序。抓取鼠标时遇到断点时会发生同样的问题。使用netbeansDebug模式我可以随时暂停应用程序并获取一些信息,但是当应用程序挂起时鼠标不再工作(没有光标)。是否可以在不停止应用程序或仅使用键盘进行调试的情况下取回鼠标? 最佳答案 到目前为止,我已经找到了5个解决这个问题的方法:这可能有效也可能无效,具体取决于您

java - LWJGL grabbed mouse - 如果应用程序挂起或使用抓取的鼠标命中断点时进行调试

我有一个LWJGL程序(LWJGL2.9.0)有时会随机挂起。调试的问题是鼠标总是被捕获。在Windows上,可以毫无问题地取回鼠标,但在linux上(我使用linuxKubuntu),我知道取回鼠标的唯一方法是停止应用程序。抓取鼠标时遇到断点时会发生同样的问题。使用netbeansDebug模式我可以随时暂停应用程序并获取一些信息,但是当应用程序挂起时鼠标不再工作(没有光标)。是否可以在不停止应用程序或仅使用键盘进行调试的情况下取回鼠标? 最佳答案 到目前为止,我已经找到了5个解决这个问题的方法:这可能有效也可能无效,具体取决于您

c++ - linux底层如何拦截键盘输入?

我有兴趣为linux编写一个程序,它将读取所有击键,处理它,然后输出到其余正在运行的进程。本质上,所有的键盘输入都必须进入这个程序,而且只有这个程序……然后这个程序将充当计算机其余部分的键盘。我基本上想在Android设备上做一些类似预测文本的事情,所以我的程序将充当过滤器。我要问的基本上是如何将所有键盘事件定向到我的程序。虽然我不是在寻找代码,但我想知道我必须学习linux编程/linux系统的哪一部分才能完成这项任务?这是因为我这样做是为了更好地学习Linux。 最佳答案 您不应该修改键盘驱动程序,因为这将要求您为每个键盘制造商