Re: [PATCH] input: driver for USB VoIP phones with CM109 chipset

From: Pavel Machek
Date: Mon Mar 03 2008 - 17:13:16 EST


On Mon 2008-03-03 23:07:02, Alfred E. Heggestad wrote:
> Pavel Machek wrote:
>> Hi!
>>
>>> + Komunikate KIP1000 Keyboard Matrix
>>> +
>>> + -> -- 1 -- 2 -- 3 --> GPI pin 4 (0x10)
>>> + | | | |
>>> + <- -- 4 -- 5 -- 6 --> GPI pin 5 (0x20)
>>> + | | | |
>>> + END - 7 -- 8 -- 9 --> GPI pin 6 (0x40)
>>> + | | | |
>>> + OK -- * -- 0 -- # --> GPI pin 7 (0x80)
>>> + | | | |
>>> +
>>> + /|\ /|\ /|\ /|\
>>> + | | | |
>>> +GPO
>>> +pin: 3 2 1 0
>>> + 0x8 0x4 0x2 0x1
>>> +
>>> + */
>>> +static int keymap_kip1000(int scancode)
>>> +{
>>> + switch (scancode) { /* phone key: */
>>> + case 0x82: return KEY_0; /* 0 */
>>> + case 0x14: return KEY_1; /* 1 */
>>> + case 0x12: return KEY_2; /* 2 */
>>> + case 0x11: return KEY_3; /* 3 */
>>> + case 0x24: return KEY_4; /* 4 */
>>> + case 0x22: return KEY_5; /* 5 */
>>> + case 0x21: return KEY_6; /* 6 */
>>> + case 0x44: return KEY_7; /* 7 */
>>> + case 0x42: return KEY_8; /* 8 */
>>> + case 0x41: return KEY_9; /* 9 */
>>> + case 0x81: return KEY_LEFTSHIFT | KEY_3 << 8; /* # */
>>
>> That's a very dirty hack, right?
>>
>
> yeah, that is a dirty hack which we should avoid by defining
> a new key called e.g. KEY_KPPOUND for the '#'-key.

Yes please. Phones are pretty common these days.

> the CM109 driver is based on the Yealink driver
> (drivers/input/misc/yealink.c) so the same hack exists there..

Fix it too ;-).

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/