[U-Boot] [PATCH 3/6] input: Change LED state bits to conform i8042 compatible keyboard

Bin Meng bmeng.cn at gmail.com
Thu Nov 12 14:33:03 CET 2015


When sending LED update command to an i8042 compatible keyboard,
bit1 is 'Num Lock' and bit2 is 'Caps Lock' in the data byte. But
input library defines bit1 as 'Caps Lock' and bit2 as 'Num Lock'.
This causes a wrong LED to be set on an i8042 compatible keyboard.
Change the LED state bits to be i8042 compatible, and change the
keyboard flags as well.

Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
---

 drivers/input/input.c | 6 +++---
 include/input.h       | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/input/input.c b/drivers/input/input.c
index 0926de5..5c3fad9 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -18,9 +18,9 @@
 
 enum {
 	/* These correspond to the lights on the keyboard */
-	FLAG_NUM_LOCK		= 1 << 0,
-	FLAG_CAPS_LOCK		= 1 << 1,
-	FLAG_SCROLL_LOCK	= 1 << 2,
+	FLAG_SCROLL_LOCK	= 1 << 0,
+	FLAG_NUM_LOCK		= 1 << 1,
+	FLAG_CAPS_LOCK		= 1 << 2,
 
 	/* Special flag ORed with key code to indicate release */
 	KEY_RELEASE		= 1 << 15,
diff --git a/include/input.h b/include/input.h
index ad120e4..2902b07 100644
--- a/include/input.h
+++ b/include/input.h
@@ -17,8 +17,8 @@ enum {
 enum {
 	/* Keyboard LEDs */
 	INPUT_LED_SCROLL	= 1 << 0,
-	INPUT_LED_CAPS		= 1 << 1,
-	INPUT_LED_NUM		= 1 << 2,
+	INPUT_LED_NUM		= 1 << 1,
+	INPUT_LED_CAPS		= 1 << 2,
 };
 
 /*
-- 
1.8.2.1



More information about the U-Boot mailing list