mx53 linux gpio 模拟matrix keypad
大家好,又见面了,我是你们的朋友全栈君。
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.cn/146244.html原文链接:https://javaforall.cn
相关文章
- 在Linux上体验五笔输入法的乐趣(linux下的五笔输入法)
- 实验Linux操作系统模拟实验:提升学习效率(linux操作系统模拟)
- 在Linux中完成程序配置文件管理(linux程序配置文件)
- Win轻松模拟Linux,获得全新体验(win模拟linux)
- 操作Linux模拟键盘操作:改变行为方式(linux模拟键盘)
- 启动盘如何制作U盘 Linux 引导盘(如何制作u盘linux)
- 部署Linux下快速部署Web网站的技巧(linux模拟网站)
- 更新Linux最新版本升级:带来更强劲的体验(linux语言版本)
- 访问深入探索:Linux 下模拟网站访问实践经验(linux模拟网站)
- Linux下的模拟体验之旅(linux模拟软件)
- Linux远程启动:实现无缝连接(linux远程启动)
- Linux下NS2的安装与配置(linux安装ns2)
- 开发Linux分支开发:实现更多可能(linux的分支)
- 轻松访问Linux系统:远程桌面Win连接LINUX(win远程linux)
- Linux下安装ns2网络模拟环境步骤简介(linux安装ns2)
- 一键给Linux文件批量重命名的好方法(批量重命名linux)
- 命令学习 Linux 命令:模拟实践体验(模拟linux)
- 在Linux上使用模拟U盘(linux模拟u盘)
- 掌握Linux命令:模拟体验真正的Linux操作(linux命令模拟)
- Linux的分支:开源之旅(linux的分支)
- 手机上模拟Linux,一键打开神器!(手机linux模拟器)
- Linux中下载网盘文件,简易教程(linux下载网盘文件)
- 「模拟Linux操作系统实践,体验更流畅的开发」(linux操作系统模拟器)
- 如何在Linux中重命名目录?(linux给目录重命名)
- 25字中文文章标题:Linux命令模拟回车,轻松提升操作效率(linux命令模拟回车)
- Linux内核控制GPIO:新的控制方式(linux内核 gpio)