]> git.webhop.me Git - lcd4linux.git/commitdiff
Crystalfontz keypad patch from kenson
authormichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Tue, 13 Mar 2007 12:37:46 +0000 (12:37 +0000)
committermichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Tue, 13 Mar 2007 12:37:46 +0000 (12:37 +0000)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@780 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

drv_Crystalfontz.c

index 7372ac3d405762bf6d255880fb762f417b4bbe96..3854ce1f1b99b404de0ebf88f254b32ba0a19f73 100644 (file)
@@ -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;
     }