Thread (3 messages) flat view 3 messages, 2 authors, 2011-11-22

Re: matrix_keyboard based driver

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2011-11-21 17:27:21

Hi CHristian,

On Mon, Nov 21, 2011 at 02:52:17PM +0100, Christian Gmeiner wrote:
Hi all,

today I started with a basic matrix_keyboard based keypad driver. It
seems to work quite
well but I have some questions.

Is it possible to define following values from user space?

* debounce time in [ms]
No as it is mostly hardware property, not user preference.
* auto repeat time in [ms]
Yes: EVIOCSREP (kbdrate or similar). Note that X ignores kernel
autorepeat and implements its own.
* multi click abort time in [ms]
I have no idea what that is, so apparently no ;)
I am also not sure about the default keymap I should use in the
platform_data. At
the moment it looks like:

static const uint32_t ot200_keymap[] = {
	KEY(0, 1, 0x01),
	KEY(0, 2, 0x02),
	KEY(0, 3, 0x03),
	KEY(0, 4, 0x04),
	KEY(0, 5, 0x05),
	KEY(0, 6, 0x06),
	KEY(0, 7, 0x07),
	KEY(0, 8, 0x08),
	KEY(0, 9, 0x09),
...
...
	KEY(9, 6, 0x96),
	KEY(9, 7, 0x97),
	KEY(9, 8, 0x98),
	KEY(9, 9, 0x99),
The last items in triplets should be KEY_* constant defined in
include/linux/input.h
};

I need to configure the mapping from userspace and it is be done via loadkeys
if I am not wrong.
To adjust mapping of the input device itself one should use 'setkeycode'
or some other utility issuing EVIOCGKEYCODE/EVIOCSKEYCODE ioctls.

loadkeys adjusts higher level keymap used by the console.
Does the input core handle cases like SHIFT key and
CAPS lock?
No, that is the task for higher layers (console, X, etc...).

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help