Hi with Dmitry's help, our keyboard is work. we use the matrix_keypad.c driver. I found a problem. for example. the keypad is like this: (part of keypad) GPIO GPIO GPIO | | | a_______w_______u_____GPIO | | | |_______s_______j_____GPIO | | | Shift___Alt_____Ctrl__GPIO first time press [Shift] + [a] it's output [a] not the [A] second time press [Shift] + [a] it's output [A]. correct. then all work fine. but when I release the [Shift]. and press [a] it's will also output big [A]. but if the midifier and character not in same column GPIO. it will work fine. other modifier all like this. same GPIO will cause problem. I should look into the matrix_keypad.c to fix this, right? Best Regards -- Xiangfu Liu Email: xiangfu at qi-hardware dot com Web: http://www.qi-hardware.com -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html