Articles of 键盘

如何检测在Linux中的鼠标和键盘不活动

我正在开发一个应用程序在python将检查用户不活动。 有没有办法检查在Linux键按键和鼠标移动事件?

任何人都知道如何在Python中打开或closures大写locking?

当两个换档button按住一秒钟时,我试图切换大写locking开/关。 我试过使用virtkey模块,但它不工作。 该模块确实为其他键工作,所以我不认为我错误地使用该模块。 有没有人有办法做到这一点? 只是要清楚,我想实际上切换大写locking开/关,而不仅仅是LED。 谢谢!

在python中从键盘读取原始input

我试图让我的键盘在Python中的原始input。 我有一个带有可编程按键的罗技游戏键盘,但罗技不提供Linux驱动程序。 所以我想我可以(尝试)写我自己的驱动程序。 在认为解决scheme可能是这样的: with open('/dev/keyboard', 'rb') as keyboard: while True: inp = keyboard.read() -do something- 英语不是我的母语。 如果您发现错误,请纠正。

Xkb:如何将键码转换为keysym

我只是试图采取一个KeyCode和一个修饰符掩码,并将其转换为使用Xkb扩展名的KeySym。 我似乎无法弄清楚为什么这是行不通的。 它明显的修改不匹配,但我不知道为什么。 我甚至不知道我是否正确转换组。 #include <stdio.h> #include <stdlib.h> #include <X11/Xh> #include <X11/XKBlib.h> void check(XkbDescPtr keyboard_map, KeyCode keycode, unsigned int mask) { //What the hell is diff between XkbKeyGroupInfo and XkbKeyNumGroups? unsigned char info = XkbKeyGroupInfo(keyboard_map, keycode); int num_groups = XkbKeyNumGroups(keyboard_map, keycode); int key_width = XkbKeyGroupsWidth(keyboard_map, keycode); //int num_syms = XkbKeyNumSyms(keyboard_map, keycode); //Get the group unsigned […]

如何在Linux上使用input子系统来获取键盘事件

我正在用C写一个Linux程序,我需要截取某些键盘笔划。 使用input子系统(读/写/ dev /input/事件X),我可以接收键盘笔画(使用“读取”function)或模拟键盘笔画(使用“写入”function)。 当使用“读”function时,我可以捕捉用户的键盘笔画,但这个事件是传播的,我不知道如何使用它。

钩入linux关键事件处理

我想挂钩到Linux桌面的关键事件处理。 按CapsLock应该进入某种命令行。 我想要实现的一些命令: d / x:从当前光标位置删除,直到字符x 。 (由vi启发) a:转到行首,如pos1。 (受emacs启发)。 k:删除直到行尾。 (受emacs启发)。 … 该命令应该在任何文本字段中工作:浏览器,邮件客户端,GNOMEterminal,… AFAIK低级别的xmodmap在这里不会帮助我。 是这样的可能吗? 我需要在哪里放置钩子? 目前的目标平台是Ubuntu> = 14.04 背景:我想让我的手指指向F和J,并且不用看着键盘就可以使用电脑。 AZ工作几年以来,但像Pos1 / End这样的键并不容易访问。 如果你不明白这个问题的一部分,请留下评论。 谢谢。 更新 这个问题只是关于如何挂钩到关键事件处理。 其他的东西(命令行)是一个不同的主题。 你怎么能抓住例如CapsLock x ? Update2我看到有没有简单而直接的解决scheme。 如果你没有答案,但你知道我可以find更多的帮助(如邮件列表FOO问),请告诉我。 Update3因为有些人不明白我想要什么,所以我试着解释一下:如果我使用emacs或bash,我觉得在计算机上可以控制:就像飞行一样,只有很less的动作,我可以告诉计算机做我想要的是。 在webbrowser textarea,LibreOffice或使用thunderbird编辑文本使这种感觉消失。 光标移动很麻烦,感觉不像飞行。 我想要控制桌面,而不仅仅是一个应用程序,并保持我的指针在F和J键。

为什么在vim中使用Esc?

Vi编辑器最初是在一个ADM-3Aterminal上编写的,该terminal的Tab键代替了Tab键(与大多数现代键盘相比)。 许多触摸打字员都很喜欢这样一个事实,即在使用Vim的时候,他们可以将手放在键盘的一排,但是使用Esc会使得必须离开手按Esc键。 我目前正在学习vim。 应该把Esc重新映射到别的地方? 这种情况最常见的重映射是什么? 或者我应该离开重新esc的想法,并继续使用它? vim的亲用户做什么?

产生键盘事件键击中

如何制作一个简单的C程序来制作键盘按键。 if ( condition ) { KeyPress('A'); } 我正在使用Ubuntu 8.10 Linux操作系统

如何停止/解决Java应用程序窃取Linux窗口pipe理器的焦点

我们想要在Java中快速构build小部件。 我们将它们覆盖在用专有第三方graphics软件包编写的显示屏上。 我们发现Java GUI从窗口pipe理器中窃取键盘焦点。 窗口pipe理器是fvwm,我已经尝试过configuration它,所以Java应用程序设置为不让焦点,而且如果它有焦点把它拿走并把它给另一个GUI。 如果我用Java应用程序运行它,它不起作用(只要鼠标在Java GUI上,它有键盘焦点) – 如果我交换一些标准的X GUI小部件(XEyes)来代替Java GUI,它就像一个魅力。 这使得Java不尊重ICCCM的说法(由fvwm的人维护)有所缓解。 我想知道如果其他人已经解决了这个问题,如果是的话如何。 到目前为止,我有几个select如何尝试和解决这个问题: 1)twiddle Java设置,希望如果我关掉焦点,也许它会把焦点控制交给窗口pipe理器(到目前为止,我已经尝试过“setFocusable(false)”在父JFrame上,这是行不通的。线程“ http://java.sun.com/javase/6/webnotes/trouble/TSG-Desktop/html/awt.html#gdaao ”表示我应该改为“Window.setFocusableWindowState(false)”有问题的GUI hasn但是我还没有完全相信Java会重新关注焦点 2)使用JNI在Java程序中进行低级别的X调用。 我认为这可能会工作,但是,我从来没有玩过低水平的X.我不确定我应该使用什么样的调用(XtSetKeyboardFocus()应该是危险的)或者我怎样才能识别我操作的graphics用户界面(在这方面fvwm是很好的,因为他们有一个graphics用户界面,让你点击另一个graphics用户界面,找出它的“名称”和“类”) 3)使用“更强”的窗口pipe理器。 一些不使用ICCCM的窗口pipe理器可能会更好地处理Java。 当然,有很多pipe理者,我不知道该集中注意力。 同样地,很多人似乎都没有明确指出应用程序的重点(大多数人似乎只关心广泛的政策)。

从命令行发送键盘input到程序

如何将键盘input发送到程序? 也就是说,在一个Linux GUI下,是否有一个很好的手动(可编程)的方式,或者是一个模拟Linux上正在运行的程序的键盘input的工具,这样我就可以从命令行发送,例如“Control-T”到一个Firefox进程和“回声'你好'\ N”的Gnometerminal进程没有实际上关注每个进程和直接input?