mx53 linux gpio 模拟matrix keypad

mx53 linux gpio 模拟matrix keypadmx53linux用gpio模拟matrixkeypad需要做的工作1、在配置内核驱动的时候添加gpiomatrixkeypad        DeviceDrivers—>                  Inputdevicesupport —>                           Keyboards —>

大家好,又见面了,我是你们的朋友全栈君。

mx53 linux 用gpio模拟matrix keypad需要做的工作

1、在配置内核驱动的时候添加 gpiomatrix keypad

         DeviceDrivers —>

                   Inputdevice support  —>

                            Keyboards  —> 

                                     <*>   GPIO driven matrix keypad support

 

2、在mx53_loco.c文件中添加代码

 

static const uint32_t mx53_keymap[] = {

         KEY(0,0, KEY_0),

//      KEY(0,1, KEY_A),

//      KEY(0,2, KEY_3),

//      KEY(0,3, KEY_5),

//      KEY(0,4, KEY_6),

//      KEY(0,5, KEY_7),

//      KEY(0,6, KEY_9),

//      KEY(1,0, KEY_9),

//      KEY(1,1, KEY_E),

//      KEY(1,2, KEY_4),

//      KEY(1,3, KEY_R),

//      KEY(1,4, KEY_Y),

//      KEY(1,5, KEY_8),

//      KEY(1,6, KEY_I),

//      KEY(2,0, KEY_TAB),

//      KEY(2,1, KEY_Q),

//      KEY(2,2, KEY_E),

//      KEY(2,3, KEY_T),

//      KEY(2,4, KEY_G),

//      KEY(2,5, KEY_U),

//      KEY(2,6, KEY_J),

};

 

static struct matrix_keymap_data mx53_keymap_data= {

         .keymap            = mx53_keymap,

         .keymap_size  = ARRAY_SIZE(mx53_keymap),

};

 

static const int mx53_row_gpios[] =

                   {GPIO_4_0};

static const int mx53_col_gpios[] =

                   {GPIO_4_1};

 

static struct matrix_keypad_platform_datamx53_pdata = {

         .keymap_data          = &mx53_keymap_data,

         .row_gpios                = mx53_row_gpios,

         .col_gpios                  = mx53_col_gpios,

         .num_row_gpios               = ARRAY_SIZE(mx53_row_gpios),

         .num_col_gpios                 = ARRAY_SIZE(mx53_col_gpios),

         .col_scan_delay_us = 10,

         .debounce_ms                   = 80,

//      .wakeup                     = 1,

         .active_low      = 1,

};

static struct platform_device mx53_device ={

         .name                = “matrix-keypad”,

         .id              = -1,

         .dev           = {

                   .platform_data= &mx53_pdata,

         },

};

static void __initmx53_add__matrix_keypad(void)

{

         platform_device_register(&mx53_device);

}

 

在static void __init mxc_board_init(void)函数中添加代码

mx53_add__matrix_keypad();

系统启动后,运行qt程序时,按下按键有如下打印消息

keycode is 48   unicode is 48 modifiers is 0  isPress is 1,autoRepeat is 0 
keycode is 48   unicode is 48 modifiers is 0  isPress is 0,autoRepeat is 0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146244.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • scratch编程小游戏——黄金矿工

    黄金矿工的玩法就是操控一个不断摆来摆去的钩子去挖出黄金,现在我们就来用scratch编一个黄金矿工首先新建好变量:矿车要画出许多的造型:代码:钩爪的绳索是这个游戏最为复制的一点,方法是移动后画出一条线,返回时用背景一样的颜色来覆盖,我们首先来画出造型:红色的是中心位置代码如下:(此代码需要用到一部分自定义,不懂的见文章末尾链接)自定义部分是这个代码的核心:接下来是黄金,造型的话要画出三个:大、中、小各一个代码如下:黄金代码是程序中非常重要的一环,一定不要有差错现

    2022年4月4日
    2.3K
  • 2021 pycharm激活码_通用破解码

    2021 pycharm激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    52
  • 红旗linux又活过来了_grub引导windows

    红旗linux又活过来了_grub引导windows红旗Linux桌面版4.0软盘启动硬盘安装过程图解(RedFlagLinux4.0)一,准备工作:1,购买或下载红旗Linux桌面版4.0的安装光盘或镜像文件,下载地址:http://www.doczj.com/doc/cc20134b852458fb770b56ff.html/xiazai/xiazai.php?id=13252,在硬盘中至少留2个分区给安装系统用,挂载点所用分区推荐…

    2022年8月20日
    6
  • python自动化办公——python操作Excel、Word、PDF集合大全[通俗易懂]

    python自动化办公——python操作Excel、Word、PDF集合大全[通俗易懂]Python操作Word、Excel、PPT、PDF\、复杂文件、通信软件(微信、邮件、飞书、钉钉)、图片目录  章节一:python使用openpyxl操作excel    1、openpyxl库介绍    2、python怎么打开及读取表格内容?       1)Excel表格述语       2)打开Excel表格并获取表格名称       3)通过sheet名称获取表格       4)获取表格的尺寸大小       5)获取表格…….

    2022年10月12日
    0
  • 斑马网络首次公布整车个性化开放平台 开放姿态助力车企加速换道

    斑马网络首次公布整车个性化开放平台 开放姿态助力车企加速换道

    2021年6月13日
    224
  • decltype 使用

    decltype 使用功能decltype可以将给定的表达式或变量的类型推导出来,包含引用和指针。一般用于复杂表达式作为返回值的类型推导。可以用于补足c++11的auto缺陷.编译阶段的事情,不会任何执行,表达式也不会执行。类型规则规则一:声明类型,类型包含引用就有引用,没有引用也不会自行添加。规则二:返回值则根据返回值类型确定最终类型。规则三:表达式根据默认和重载得到的最终类型。不建议特别复杂的表达式。声明类型分析案例一intmain()..

    2022年9月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号