Thread (9 messages) 9 messages, 2 authors, 2009-09-09

Re: matrix_keypad driver, Combination keys

From: Xiangfu Liu <hidden>
Date: 2009-09-08 16:48:14
Also in: lkml

Xiangfu Liu wrote:
Hi Dmitry
Dmitry Torokhov wrote:
quoted
Hi,
Historically our KEY_* definitions did not include defines for symbols
like '@' because they do not have a dedicated key but rather being
produced as a combination of a primary key + modifier; the mapping is
done either in console driver or in X.

Looking at the picture of the device that you provided it appears that
your device does not have a dedicated '@' key so it should work in the
same fashion as above.
since we don't have X now. I google about this. I don't know how to 
modify the console driver. can you tell me which file I need look 
into? thanks.

I found an another method. we use busybox in rootfs. the busybox have 
command [dumpkmap] [loadkmap] [showkey],

-----------
in host system run :
/usr/bin/dumpkeys > normal_keymap
/usr/bin/loadkeys funky_mini_keyboard_keymap
/usr/bin/busybox dumpkmap > funky_mini_keyboard_keymap.bin
/usr/bin/loadkeys normal_keymap

then in target system run
"loadkmap funky_mini_keyboard_keymap.bin"
-----------

in our device have a two special keys
[RED UP POINT] keycode is 94
[QI] keycode is 93
can I modify this function matrix_keyboard.c:103
static void matrix_keypad_scan(struct work_struct *work)
to detect the combination keys?
like:
1. if press the compose keys [RED UP POINT] just record
2. if next press the 'w'. will report '@' to OS.

if it's possible. how to report '@' to OS. 
I saw the source code is always report the keycode.

thanks for help
-- 
Xiangfu Liu
Email: xiangfu at qi-hardware dot com
Web: http://www.qi-hardware.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help