Python 禁用/重定向键盘输入

5 python keyboard

我正在为 xubuntu 用 python 编写一个宏生成器/键盘重新映射器。

我已经想出了如何拦截和记录击键,并发送我想记录的击键,但我还没有想出如何阻止击键。我需要禁用键盘输入来重新映射一个键。例如,如果我想在按下“s”键时发送“a”,我目前可以记录“a”击键,并在按下“s”键时将其设置为播放。但是,我不能阻止 's' 击键与它一起发送。

我使用了来自开源键盘记录器的 pyxhook 模块作为钩子,并再次使用了来自 python x 库的 xtest 假输入法。

我记得在某处读到有人通过使用 tkinter 将所有按键重定向到一个不可见的窗口来阻止所有键盘输入。如果有人可以发布该方法,那就太好了。

我需要一些可以阻止所有击键的东西,但不能关闭我的键盘挂钩。

dec*_*rig 1

我认为这将在很大程度上取决于环境:curses 和 activestate 配方非常适合命令行,但如果您希望它在 DE 中运行,您将需要一些与该 DE 的挂钩。您可能会查看 Python 的 Qt 或 GTK 绑定,或者有一个 python-xlib 库可以让您直接绑定到 X 系统。

所以我想答案是“视情况而定”。您是否正在寻找控制台 noecho 功能,或者 DE 的文本替换程序,或者 xmodmap 样式的布局更改器?