[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47A84979.5080004@hvsistemas.es>
Date: Tue, 05 Feb 2008 12:33:13 +0100
From: Javier Herrero <jherrero@...istemas.es>
To: Vojtech Pavlik <vojtech@...e.cz>
CC: Bryan Wu <bryan.wu@...log.com>,
Will Newton <will.newton@...il.com>, dmitry.torokhov@...il.com,
linux-input@...ey.karlin.mff.cuni.cz, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1 try#2] [INPUT] keypad driver: Added support for OpenCores
Keyboard Controller
Vojtech Pavlik escribió:
> On Tue, Feb 05, 2008 at 12:18:15PM +0100, Javier Herrero wrote:
>> Dear Vojtech,
>>
>> I think that a 1:1 mapping between linux keycodes and what keyboard sends
>> is right, because the scan code to key code conversion is already
>> programmed and done inside the FPGA code.
>
> And the FPGA code changes with different keyboards attached?
>
The original OpenCores keyboard controller is a 6 rows x 12 cols
keyboard controller that can be customized for other row/col sizes
modifiying Constants.vhd VHDL file, in which also the translation table
is defined, and for different key disposition schemes both the number of
rows and cols can be changed. We are currently using this controller
with a 4x4 key matrix, and with a different key mapping values, so I
thought that it would be preferable to have the driver mapping fixed to
1:1 and do the mapping in the VHDL, since in most cases the keyboard
using this controller would be different to the default keyboard defined
in the original Contants.vhd VHDL file.
Regards,
Javier
>> Best regards,
>>
>> Javier
>>
>> Vojtech Pavlik escribió:
>>> On Thu, Jan 31, 2008 at 01:18:22AM +0800, Bryan Wu wrote:
>>>
>>>> +static irqreturn_t opencores_kbd_isr(int irq, void *dev_id)
>>>> +{
>>>> + unsigned char c;
>>>> + struct platform_device *pdev = dev_id;
>>>> + struct opencores_kbd *opencores_kbd = platform_get_drvdata(pdev);
>>>> + struct input_dev *input = opencores_kbd->input;
>>>> +
>>>> + c = readb(opencores_kbd->addr_res->start);
>>>> + input_report_key(input, c & 0x7f, c & 0x80 ? 0 : 1);
>>>> + input_sync(input);
>>>> +
>>>> + return IRQ_HANDLED;
>>>> +}
>>> This looks utterly wrong: It assumes 1:1 mapping between Linux keycodes
>>> and what the keyboard sends, which I can't believe is the case.
>>>
>> --
>> ------------------------------------------------------------------------
>> Javier Herrero EMAIL: jherrero@...istemas.com
>> HV Sistemas S.L. PHONE: +34 949 336 806
>> Los Charcones, 17A FAX: +34 949 336 792
>> 19170 El Casar - Guadalajara - Spain WEB: http://www.hvsistemas.com
>
--
------------------------------------------------------------------------
Javier Herrero EMAIL: jherrero@...istemas.com
HV Sistemas S.L. PHONE: +34 949 336 806
Los Charcones, 17A FAX: +34 949 336 792
19170 El Casar - Guadalajara - Spain WEB: http://www.hvsistemas.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists