测试

安装 input-utils

  1. pi@raspberrypi:~ $ sudo apt-get install input-utils
  2. Reading package lists... Done
  3. Building dependency tree
  4. Reading state information... Done
  5. The following NEW packages will be installed:
  6. input-utils
  7. 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
  8. Need to get 14.9 kB of archives.
  9. After this operation, 60.4 kB of additional disk space will be used.
  10. Get:1 http://mirrors.shu.edu.cn/raspbian/raspbian stretch/main armhf input-utils armhf 1.0-1.1 [14.9 kB]
  11. Fetched 14.9 kB in 1min 20s (183 B/s)
  12. Selecting previously unselected package input-utils.
  13. (Reading database ... 124722 files and directories currently installed.)
  14. Preparing to unpack .../input-utils_1.0-1.1_armhf.deb ...
  15. Unpacking input-utils (1.0-1.1) ...
  16. Setting up input-utils (1.0-1.1) ...
  17. Processing triggers for man-db (2.7.6.1-2) ...
  18. pi@raspberrypi:~ $

lsinput

  1. /dev/input/event0
  2. bustype : BUS_HOST
  3. vendor : 0x1
  4. product : 0x1
  5. version : 256
  6. name : "gpio_keys"
  7. phys : "gpio-keys/input0"
  8. bits ev : EV_SYN EV_KEY

input-events. 如果没有键按下,timeout

  1. pi@raspberrypi:~ $ input-events 0
  2. /dev/input/event0
  3. bustype : BUS_HOST
  4. vendor : 0x1
  5. product : 0x1
  6. version : 256
  7. name : "gpio_keys"
  8. phys : "gpio-keys/input0"
  9. bits ev : EV_SYN EV_KEY
  10. waiting for events
  11. timeout, quitting

如果有键按下, 这里的key值是dts中定义的 linux,code = <100>;

  1. pi@raspberrypi:~ $ input-events 0
  2. /dev/input/event0
  3. bustype : BUS_HOST
  4. vendor : 0x1
  5. product : 0x1
  6. version : 256
  7. name : "gpio_keys"
  8. phys : "gpio-keys/input0"
  9. bits ev : EV_SYN EV_KEY EV_REP
  10. waiting for events
  11. 13:59:42.712941: EV_KEY KEY_RIGHTALT (0x64) pressed
  12. 13:59:42.712941: EV_SYN code=0 value=1

注: 上一篇中的dts中gpio-keys的部分需要加上

  1. autorepeat;

树莓派 -- 输入设备驱动 (key) 续1的更多相关文章

  1. 树莓派 -- 输入设备驱动 (key) 续2: 转载 Setting up a GPIO-Button “keyboard” on a Raspberry Pi

    使用device-tree (DT) overlay应该是更方便的方法: http://blog.gegg.us/2017/01/setting-up-a-gpio-button-keyboard-o ...

  2. 树莓派 -- 输入设备驱动 (key)

    输入设备(如按键,键盘,触摸屏等)是典型的字符设备,其一般工作原理是底层在按键或触摸等动作发生时产生一个中断,然后CPU通过SPI,I2C总线读取键值. 在这些工作中之后中断和读键值是与设备相关的,而 ...

  3. linux 输入设备驱动

    <输入子系统简介> a:背景 内核的输入子系统是对“分散的”,“多种不同类别”的输入设备(键盘,鼠标,跟踪杆,触摸屏,加速度计等)进行“统一处理”的驱动程序.具有如下特点: a-1:统一各 ...

  4. Android中Input型输入设备驱动原理分析(一)

    转自:http://blog.csdn.net/eilianlau/article/details/6969361 话说Android中Event输入设备驱动原理分析还不如说Linux输入子系统呢,反 ...

  5. Android中Input型输入设备驱动原理分析<一>

    话说Android中Event输入设备驱动原理分析还不如说Linux输入子系统呢,反正这个是没变的,在android的底层开发中对于Linux的基本驱动程序设计还是没变的,当然Android底层机制也 ...

  6. python代码实现树莓派3b+驱动步进电机

    python代码实现树莓派3b+驱动步进电机 之前买了个树莓派,刚买回来那会儿热情高涨,折腾了一段时间,然后就放那吃灰了.前几天忽然想起来这个东西了,决定再玩玩儿,于是就从某宝上购买了一套步进电机.驱 ...

  7. 树莓派linux驱动学习之hello world

    最近想学习一下linux驱动,看了一些书和教学视频,大概了解了一下,不过要想深入,肯定需要实践.手上有几块linux的板子,最终选择了树莓派作为我的实验平台,资料比较丰富,接口也比较简单. 程序员的入 ...

  8. 树莓派linux驱动学习之LED控制

    前面我们编写了hello world的程序,接下来继续研究GPIO功能,通过GPIO来控制LED的亮灭,这在单片机中应该算是十分简单的一个程序了,但是在Linux系统中控制GPIO没有那么简单,难点就 ...

  9. 树莓派pwm驱动好盈电调及伺服电机

    本文讲述如何通过树莓派的硬件PWM控制好盈电调来驱动RC车子的前进后退,以及如何驱动伺服电机来控制车子转向. 1. 好盈电调简介 车子上的电调型号为:WP-10BLS-A-RTR,在好盈官网并没有搜到 ...

随机推荐

  1. bzoj 2151: 种树【贪心+堆】

    和数据备份差不多 设二元组(i,a[i]),开一个大根堆把二元组塞进去,以len排序,每次取出一个二元组 因为单纯的贪心是不行的,所以设计一个"反悔"操作. 记录二元组的前驱pr后 ...

  2. 洛谷 P3625 [APIO2009]采油区域【枚举】

    参考:https://blog.csdn.net/FAreStorm/article/details/49200383 没有技术含量但是难想难写,枚举情况图详见参考blog懒得画了 bzoj蜜汁TTT ...

  3. bzoj 1007: [HNOI2008]水平可见直线【半平面交】

    其实并不算标准半平面交?但是思路差不多 先按照斜率排序,然后用栈维护凸壳,每遇到重斜率或a[i],s[top-1]交点的x轴在s[top],s[top-1]交点左侧,则说明s[top]被a[i],s[ ...

  4. JSON WEB TOKEN 从原理到实战

    阅读本文大概需要 4.2 分钟. 作者:王廷骏原文:https://juejin.im/post/5ce272c1e51d45109b01b0f8 1. JSON WEB TOKEN 1.1 什么是J ...

  5. 目标Python2+3

    很多时候你可能希望你开发的程序能够同时兼容Python2+和Python3+. 试想你有一个非常出名的Python模块被很多开发者使用着,但并不是所有人都只使用Python2或者Python3.这时候 ...

  6. Python生成器实现斐波那契数列

    比如,斐波那契数列:1,1,2,3,5,8,13,21,34.... 用列表生成式写不出来,但是我们可以用函数把它打印出来: def fib(number): n, a, b = 0, 0, 1 wh ...

  7. java使用正则表达式对注册页面进行验证

    package regex; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Patt ...

  8. poj2573Bridge(过桥问题)

    链接 A,B为最快和次快 有两种方式可以使c,d过桥 一是a与c一起走,a回来接d再与d一起走,一直到对岸人为0为止 而是 a与b一起走 a回来送灯 c与d一起走 b回来送灯 重复此过程. 只剩2人时 ...

  9. LN : leetcode 118 Pascal's Triangle

    lc 118 Pascal's Triangle 118 Pascal's Triangle Given numRows, generate the first numRows of Pascal's ...

  10. ESSENTIALS OF PROGRAMMING LANGUAGES (THIRD EDITION) :编程语言的本质 —— (一)

    # Foreword> # 序 This book brings you face-to-face with the most fundamental idea in computer prog ...