From 3fe74144bf1b5b43256dcc33640bb2293d86202d Mon Sep 17 00:00:00 2001 From: michael Date: Tue, 13 Mar 2007 12:37:46 +0000 Subject: Crystalfontz keypad patch from kenson git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@780 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- drv_Crystalfontz.c | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) (limited to 'drv_Crystalfontz.c') diff --git a/drv_Crystalfontz.c b/drv_Crystalfontz.c index 7372ac3..3854ce1 100644 --- a/drv_Crystalfontz.c +++ b/drv_Crystalfontz.c @@ -104,7 +104,7 @@ typedef struct { static MODEL Models[] = { {626, "626", 2, 16, 0, 0, 1, 0}, - {631, "631", 2, 20, 0, 0, 3, 22}, + {631, "631", 2, 20, 4, 0, 3, 22}, {632, "632", 2, 16, 0, 0, 1, 0}, {633, "633", 2, 16, 4, 4, 2, 18}, {634, "634", 4, 20, 0, 0, 1, 0}, @@ -531,35 +531,53 @@ static int drv_CF_keypad(const int num) case 2: break; case 3: - if (num < 8) + if ((num < 8) || ((num > 12) && (num < 17))) val = WIDGET_KEY_PRESSED; else val = WIDGET_KEY_RELEASED; switch (num) { case 1: - case 8: + case 7: val += WIDGET_KEY_UP; break; case 2: - case 9: + case 8: val += WIDGET_KEY_DOWN; break; case 3: - case 10: + case 9: val += WIDGET_KEY_LEFT; break; case 4: - case 11: + case 10: val += WIDGET_KEY_RIGHT; break; case 5: - case 12: + case 11: val += WIDGET_KEY_CONFIRM; break; - case 7: - case 13: + case 6: + case 12: val += WIDGET_KEY_CANCEL; break; + + /* added for 631, too lazy to make new WIDGET_KEY defines */ + case 13: + case 17: + val += WIDGET_KEY_UP; /* really UPLEFT */ + break; + case 14: + case 18: + val += WIDGET_KEY_RIGHT; /* really UPRIGHT */ + break; + case 15: + case 19: + val += WIDGET_KEY_LEFT; /* really DOWNLEFT */ + break; + case 16: + case 20: + val += WIDGET_KEY_DOWN; /* really DOWNRIGHT */ + break; } break; } -- cgit v1.2.3