| 44abe47d | 11-Oct-2012 |
Hung-Te Lin <hungte@chromium.org> |
input: Add ANSI 3.64 escape sequence generation.
To support Non-ASCII keys (ex, Fn, PgUp/Dn, arrow keys, ...), we need to translate key code into escape sequence.
(Updated by sjg@chromium.org to mo
input: Add ANSI 3.64 escape sequence generation.
To support Non-ASCII keys (ex, Fn, PgUp/Dn, arrow keys, ...), we need to translate key code into escape sequence.
(Updated by sjg@chromium.org to move away from a function to store keycodes, so we can easily record how many were sent. We now need to return this from input_send_keycodes() so we know whether keys were generated.)
Signed-off-by: Hung-Te Lin <hungte@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@ti.com>
show more ...
|
| 59a1b72c | 11-Oct-2012 |
Marc Jones <marc.jones@chromium.org> |
input: Fix i8042 keyboard reset
The i8042 keyboard reset was not checking the results of the output buffer after the reset command. This can jam up some KBC/keyboards. Also, remove a write to the wr
input: Fix i8042 keyboard reset
The i8042 keyboard reset was not checking the results of the output buffer after the reset command. This can jam up some KBC/keyboards. Also, remove a write to the wrong register and the CONFIG setting around the incorrect write.
Signed-off-by: Marc Jones <marc.jones@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@ti.com>
show more ...
|
| 45fe668f | 11-Oct-2012 |
Louis Yung-Chieh Lo <yjlou@chromium.org> |
input: i8042: Provide feature to disable keyboard before booting kernel
The BIOS leaves the keyboard enabled during boot time so that any keystroke would interfere kernel driver initialization.
Add
input: i8042: Provide feature to disable keyboard before booting kernel
The BIOS leaves the keyboard enabled during boot time so that any keystroke would interfere kernel driver initialization.
Add a way to disable the keyboard to make sure no scancode will be generated during the boot time. Note that the keyboard will be re-enabled again after the kernel driver is up.
This code can be called from the board functions. Signed-off-by: Louis Yung-Chieh Lo <yjlou@chromium.org>
Signed-off-by: Louis Yung-Chieh Lo <yjlou@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@ti.com>
show more ...
|
| 48edb304 | 12-Oct-2012 |
Gabe Black <gabeblack@chromium.org> |
input: Provide a board specific mechanism to decide whether to skip i8042 init
This change adds a board overridable function which can be used to decide whether or not to initialize the i8042 keyboa
input: Provide a board specific mechanism to decide whether to skip i8042 init
This change adds a board overridable function which can be used to decide whether or not to initialize the i8042 keyboard controller. On systems where it isn't actually connected to anything, this can save a significant amount of boot time.
On Stumpy, this saves about 200ms on boot.
Signed-off-by: Gabe Black <gabeblack@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@ti.com>
show more ...
|
| 14813f19 | 27-Sep-2012 |
Simon Glass <sjg@chromium.org> |
input: Add debugging for key matrix key codes
These are read from the fdt - add a debug feature to display the mapping on start-up.
See that we get debug output listing the keycodes
Signed-off-by:
input: Add debugging for key matrix key codes
These are read from the fdt - add a debug feature to display the mapping on start-up.
See that we get debug output listing the keycodes
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 1b1d3e64 | 27-Sep-2012 |
Simon Glass <sjg@chromium.org> |
input: Separate out keyboard repeat/delay from init
It is inconvenient to have to specify the keyboard repeat and delay at init time if it is not yet available, so move this into a separate function
input: Separate out keyboard repeat/delay from init
It is inconvenient to have to specify the keyboard repeat and delay at init time if it is not yet available, so move this into a separate function.
Some drivers will want to do this when their keyboard init routine is actually called.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 6642a681 | 17-Apr-2012 |
Rakesh Iyer <riyer@nvidia.com> |
tegra: Add tegra keyboard driver
Add support for internal matrix keyboard controller for Nvidia Tegra platforms. This driver uses the fdt decode function to obtain its key codes.
Support for the Ct
tegra: Add tegra keyboard driver
Add support for internal matrix keyboard controller for Nvidia Tegra platforms. This driver uses the fdt decode function to obtain its key codes.
Support for the Ctrl modifier is provided. The left and right ctrl keys are dealt with in the same way.
This uses the new keyboard input library (drivers/input/input.c) to decode keys and handle most of the common input logic. The new key matrix library is also used to decode (row, column) key positions into key codes.
The intent is to make this driver purely about dealing with the hardware.
Key detection before the driver is loaded is supported. This key will be picked up when the keyboard driver is initialized.
Modified by Bernie Thompson <bhthompson@chromium.org> and Simon Glass <sjg@chromium.org> for device tree, input layer, key matrix and various other things.
Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
show more ...
|
| 92c27c51 | 17-Apr-2012 |
Bernie Thompson <bhthompson@chromium.org> |
input: Add support for keyboard matrix decoding from an fdt
Matrix keyboards require a key map to be set up, and must also deal with key ghosting.
Create a keyboard matrix management implementation
input: Add support for keyboard matrix decoding from an fdt
Matrix keyboards require a key map to be set up, and must also deal with key ghosting.
Create a keyboard matrix management implementation which can be leveraged by various keyboard drivers. This includes code to read the keymap from the FDT and perform debouncing.
Signed-off-by: Bernie Thompson <bhthompson@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
show more ...
|
| 22e0f5a9 | 14-Nov-2011 |
Gabe Black <gabeblack@chromium.org> |
x86: Fix some bugs in the i8402 driver when no controller is present
If no controller is present, the i8402 driver should return immediately and not attempt to operate on the missing hardware.
In k
x86: Fix some bugs in the i8402 driver when no controller is present
If no controller is present, the i8402 driver should return immediately and not attempt to operate on the missing hardware.
In kbd_input_empty, the status register is checked every millisecond to see whether the input buffer is empty, up to a timeout which is tracked by decrimenting a counter each time the check is performed. The decrement is performed with a postfix -- operator, and the value of the counter is checked in place. That means that when the counter reaches zero and the loop terminates, it will actually be decrimented one more time and become -1. That value is returned as the return value of the function. That would give the right answer if it wasn't for that extra decrement because a timeout would indicate that the buffer never became empty.
This change fixes both of those bugs.
Signed-off-by: Gabe Black <gabeblack@chromium.org>
show more ...
|