【发布时间】:2013-09-17 03:19:03
【问题描述】:
我正在尝试使用 IR 遥控器将某些键码传递给 Android。到目前为止,我可以通过数字键(0-9)和方向键(上、下、左、右、回车)。现在我正在尝试扩展键以包含其他字符,例如 a-z。
我正在修改的代码是 Android 的 Linux 内核部分中的 IR 驱动程序。它类似于this 驱动程序。但是,当我传递 KEY_A 之类的值(将“a”映射到 30:在 Linux 的 include/linux/input.h 中定义)时,Android 看不到它。
向上传递命令的代码部分如下:
input_report_key(cir->input, cir->last_key, 1);
input_report_key(cir->input, cir->last_key, 0);
input_sync(cir->input);
当我打印 cir->last_key 时,当我按下“a”按钮时,我可以看到值 30。但是,我不确定如何将代码从这里跟踪到 Android,以查看按钮按下的位置。
在 Android 中,我有一个名为 /system/usr/keylayout/qwerty.kl 的文件,用于映射值,例如30 映射到“a”。问题是当我按“a”时,Android 永远不会得到 30 的值。
【问题讨论】: