android HID添加(一)

做android有两年了,所接触的都是系统源码;最近想想,应该记录下所学,所做的些事情。

通常来说,HID在android平台都是可以直接用的,至少80%的按键是OK的,这里所说的“标准按键”意思就是android原生的源码有定义的keycode,这里给出推荐标准HID的步骤。

 AKEYCODE_HOME = 3, AKEYCODE_BACK = 4, AKEYCODE_CALL = 5, AKEYCODE_ENDCALL = 6, AKEYCODE_0 = 7, AKEYCODE_1 = 8, AKEYCODE_2 = 9, AKEYCODE_3 = 10, AKEYCODE_4 = 11, AKEYCODE_5 = 12, AKEYCODE_6 = 13, AKEYCODE_7 = 14, AKEYCODE_8 = 15, AKEYCODE_9 = 16,


1 、check HID键盘的按键,看是否有不正确的按键,如有控制台输入cmd:getevent

/dev/input/event0: 0004 0004 00000054
/dev/input/event0: 0001 009e 00000001
/dev/input/event0: 0000 0000 00000000
/dev/input/event0: 0001 009e 00000000
/dev/input/event0: 0000 0000 00000000


 1.1 :  “0004”即是改按键的scancode,接下来查看linux\kernel\drivers\hid\hid-input.c,0004对应数组的“30”

static const unsigned char hid_keyboard[256] = {
 0,  0,  0,  0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38,
50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44,  2,  3,
 4,  5,  6,  7,  8,  9, 10, 11, 28,  1, 14, 15, 57, 12, 13, 26,
27, 43, 43, 39, 40, 41, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 87, 88, 99, 70,119,110,102,104,111,107,109,106,
105,108,103, 69, 98, 55, 74, 78, 96, 79, 80, 81, 75, 76, 77, 71,
72, 73, 82, 83, 86,127,116,117,183,184,185,186,187,188,189,190,
191,192,193,194,134,138,130,132,128,129,131,137,133,135,136,113,
115,114,unk,unk,unk,121,unk, 89, 93,124, 92, 94, 95,unk,unk,unk,
122,123, 90, 91, 85,unk,unk,unk,unk,unk,unk,unk,111,unk,unk,unk,
unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,
unk,unk,unk,unk,unk,unk,179,180,unk,unk,unk,unk,unk,unk,unk,unk,
unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,unk,
unk,unk,unk,unk,unk,unk,unk,unk,111,unk,unk,unk,unk,unk,unk,unk,
29, 42, 56,125, 97, 54,100,126,164,166,165,163,161,115,114,113,
150,158,159,128,136,177,178,176,142,152,173,140,unk,unk,unk,unk
};


  1.2:继续检查Generic.kl/kcm,修改“30”所对应的字符


2、控制台下输入cmd shell@android:/ # cat proc/bus/input/devices

 shell@android:/ # cat proc/bus/input/devices 
I: Bus=0018 Vendor=3697 Product=0001 Version=0001N: Name="MStar Smart TV IR Receiver"P: Phys=/dev/irS: Sysfs=/devices/virtual/rc/rc0/input0U: Uniq=H: Handlers=kbd event0 B: PROP=0B: EV=13B: KEY=fc0000 0 fc900 143840 0 0 0 6000000 108000 1a8 c0004c01 9e37c0 48007 f8000000 10000ffcB: MSC=10


3、源码android\frameworks\base\data\keyboards目录下,Generic.kcm/Generic.kl各copy一份,更改“Generic”为“Vendor_3697_Product_0001”.kcm/kl;更改Android.mk3


4、重新编译源码,升级固件.... OK!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值