Re: [PATCH] input: add support for generic GPIO-based matrix keypad

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

 



Hi Eric,

On Fri, May 8, 2009 at 6:59 AM, Eric Miao <eric.y.miao@xxxxxxxxx> wrote:
> On Thu, May 7, 2009 at 4:51 PM, Trilok Soni <soni.trilok@xxxxxxxxx> wrote:
>> Hi Eric,
>>
>> On Thu, May 7, 2009 at 2:18 PM, Eric Miao <eric.y.miao@xxxxxxxxx> wrote:
>>> On Thu, May 7, 2009 at 4:41 PM, Trilok Soni <soni.trilok@xxxxxxxxx> wrote:
>>>> Hi Eric,
>>>>
>>>> On Thu, May 7, 2009 at 1:30 PM, Eric Miao <eric.y.miao@xxxxxxxxx> wrote:
>>>>> Original patch by Marek Vasut, modified by Eric in:
>>>>>
>>>>> 1. use delayed work to simplify the debouncing
>>>>> 2. build keycode array for fast lookup
>>>>> 3. combine col_polarity/row_polarity into a single active_low field
>>>>> (are there some cases where the GPIOs are externally connected
>>>>> with an inverter and thus causing two different polarity requirement??)
>>>>> 4. use a generic bit array based XOR algorithm to detect key press/release,
>>>>> which should make the column assertion time shorter and code a bit
>>>>> cleaner
>>>>> 5. remove the ALT_FN handling, which is no way generic, the ALT_FN
>>>>> key should be treated as no different from other keys, and translation
>>>>> will be done by user space by commands like 'loadkeys'.
>>>>>
>>>>> Patch tested on Littleton/PXA310 (though PXA310 has a dedicate keypad
>>>>> controller, I have to configure those pins as generic GPIO to use this
>>>>> driver, works quite well, though ;-)
>>>>
>>>> Any support about removing/clearing ghost/phantom keys? Also we assume
>>>> that all gpios in the matrix should be able to generate interrupts so
>>>> no polldev support required.
>>>>
>>>
>>> Is there some info about such ghost/phantom keys? Otherwise I'll
>>> assume these are something like sticky control keys?
>>>
>>> I'm not sure if there're any such support in console tools and in
>>> input subsystem. Hard to say...
>>>
>>> And the comments below are of great value, I'll incorporate these
>>> suggestions in later submission. Thanks very much.
>>>
>>
>> Could you please have look at following gpio_matrix driver?
>>
>> gpio_matrix.c:
>> http://android.git.kernel.org/?p=kernel/msm.git;a=blob;f=drivers/input/misc/gpio_matrix.c;h=c1f47651a4937d5c976a9625ca5da389dd7e4a7c;hb=HEAD
>>
>> gpio_input.c:
>> http://android.git.kernel.org/?p=kernel/msm.git;a=blob;f=drivers/input/misc/gpio_input.c;h=7e307f267a2a059b64a3fb9c8a379b149016b2f8;hb=HEAD
>>
>
> Mmm... looks not so generic, though. And I still have no idea
> about how its phantom key works unless I see its hw.
>

Right, it could be based on what multi-keys people are interested in
and how it has been placed on the matrix during h/w design time. So,
it highly depends on the h/w design. We don't need to put this support
right now. Above links were just for information purpose only, we can
add such support in future.


-- 
---Trilok Soni
http://triloksoni.wordpress.com
http://www.linkedin.com/in/triloksoni
--
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