keypad input method question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi folks,

Recently, I ported Linux to a previously unsupported device (it uses
pxa270 processer, so most of the work was already done), and I had a
couple of issues that I hope you could help me with.

1) I wrote a new 'multi-function' driver for the STMPE2401 gpio
expander, which also has a keypad controller, 3 pwm channels, and a
rotator input, and I would appreciate it if a couple of people could
review it for me so that it could be submitted upstream. So far, only
the keypad function is implemented because my device doesn't use the
others. However, I've already coded in most of the structure for the
other device functions but they just return -ENOSYS on probe. I'm sure
that someone with sufficient experience could probably look at my
driver and give me a few tips on how to improve it before submission.
Which leads me to my next question...

2) currently the input is a bit complicated - there are a couple of
different modifier keys, and I'm not really sure where to start to
have userspace handle the scancode-keycode mapping. Right now it's
done in kernel mode in a small callback function. Can somebody point
me in the right direction? It would be nice if the keypad worked at
the console and also in X or other graphical environments. Currently
I'm trying to get it to work in Android, which just uses the typical
event interface for key-remapping.

I suppose one way to do it would be to have the kernel dynamically
switch based on if the event device is open... still it's a bit
confusing. Any tips?

Regards,

Chris
--
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

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux