Edison上监听键盘事件

2015-12-111.4万
精华项目
AI 快速预览详细 收起
本文介绍了如何在Edison上监听键盘事件。首先,下载并安装evdev库,然后编写一个简单的Python脚本来监听键盘按键。通过这个过程,你可以轻松实现对键盘事件的监听。最终效果是能够实时显示按键的编号和状态(未按下、按下或长按)。适合初学者和STEM教育场景。
又忍不住第一时间跟大家分享一个好玩的小技能,如何在Edison上监听键盘事件!
又是深夜了,废话不多说直奔主题吧。
1, 下载evdev <---怒点连接!然后使用winscp之类的东东,copy到Edison上。
      但我多半使用第二种方法, 在Edison上使用命令:
     wget https://pypi.python.org/packages ... 8a4ce07e1d739c4b59a

2, 解压缩源码包:
     tar xvf evdev-0.5.0.tar.gz
3, 进入解压缩出来的文件夹 evdev-0.5.0
     cd evdev-0.5.0
4, 编译和和安装evdev:
     setup.py build
     setup.py install

运行了上面两条命令之后,如果没有意外,安装完毕!
来来来,我们一块写一个测试程序吧!
  1. #!/usr/bin/env python
  2. #coding: utf-8
  3. from evdev import InputDevice
  4. from select import select
  5. def detectInputKey():
  6.     dev = InputDevice('/dev/input/event2')
  7.     while True:
  8.         select([dev], [], [])
  9.         for event in dev.read():
  10.             print "code:%s value:%s" % (event.code, event.value)
  11. if __name__ == '__main__':
  12.     detectInputKey()
复制代码

把上面的脚本保存成keyboard.py,然后运行 python ./keyboard.py
或者让keyboard.py可执行权限: chmod 777 ./keyboard.py &&  ./keyboard.py

然后尝试着接一个外接键盘,并且随意按键,效果如下:

Edison上监听键盘事件图1


code是按键的编号
value: 0表示未按下  1表示按下   2表示长按!

又一个新技能GET!

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
吹口琴的钢铁侠
吹口琴的钢铁侠
按键编号是什么,和键盘怎么对应的
孙毅
孙毅
作者
回复吹口琴的钢铁侠
就是每一个按键都对应了一个值,就是一个数字大概1~400这个范围,目测没什么规律好像,或者是因为我没有很特别的去找规律。每次用的时候,就先看测试下看看那个值是多少。。。
吼吼
丄帝De咗臂
丄帝De咗臂
我也想玩
孙毅
孙毅
作者
回复丄帝De咗臂
那就动起来呗,吼吼吼。
大家玩才是真的玩啊。。。。
qq815076543322
qq815076543322
你是夜猫子吗
qq815076543322
qq815076543322回复孙毅
夜猫子 你好
孙毅
孙毅
作者
回复qq815076543322
恭喜你,答对了!
hnyzcj
hnyzcj
加个显示器大圣。
孙毅
孙毅
作者
回复hnyzcj
只能加LCD或者OLED这样的小的,我正在做啊。。。
最近有点忙啊,事情太多了分身乏术啊~~~
孙毅
孙毅
作者
好吧,先不要问,“Edison都没有显示器,按键干什么用”这样的问题,后面慢慢吧。。。吼吼
孙毅
孙毅
作者
回复凌风清羽
我靠了,display你都涉猎了?超有前途啊。。。你这个比计算机的孩子专业太多了。
吼吼,看好你呦
言归正传,usb 显示器~~~~用的什么driver?就串口?
凌风清羽
凌风清羽回复孙毅
Robopeak mini USB显示器用不用
- 没有更多了 -