Changeset 856

Show
Ignore:
Timestamp:
03/03/08 17:54:18 (9 months ago)
Author:
michux
Message:

add keypad support for module lcm162

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/drv_HD44780.c

    r840 r856  
    7070#ifdef WITH_PARPORT 
    7171#include "drv_generic_parport.h" 
     72#include "drv_generic_keypad.h" 
     73#include "widget_keypad.h" 
    7274#endif 
    7375 
     
    980982#ifdef WITH_PARPORT 
    981983 
     984 
     985static int drv_HD_LCM162_keypad_handler(const int num) 
     986{ 
     987  return num; 
     988} 
     989 
    982990static void drv_HD_LCM162_timer(void __attribute__ ((unused)) * notused) 
    983991{ 
     
    10011009  data = temp; 
    10021010 
     1011  int KEYPAD_VAL=0; 
    10031012  keynum = (data & mask3 ? 1 : 0) + (data & mask5 ? 2 : 0); 
     1013  switch(keynum) 
     1014    { 
     1015    default: 
     1016    case 0: KEYPAD_VAL=WIDGET_KEY_CANCEL; break; 
     1017    case 1: KEYPAD_VAL=WIDGET_KEY_UP; break; 
     1018    case 2: KEYPAD_VAL=WIDGET_KEY_CONFIRM; break; 
     1019    case 3: KEYPAD_VAL=WIDGET_KEY_DOWN; break; 
     1020    } 
     1021 
    10041022  updown = (data & mask6 ? 1 : 0); 
     1023  KEYPAD_VAL += updown ? WIDGET_KEY_PRESSED : WIDGET_KEY_RELEASED; 
     1024 
     1025  drv_generic_keypad_press(KEYPAD_VAL); 
    10051026 
    10061027  debug("key %d press %d", keynum, updown); 
     
    12131234    if (Capabilities & CAP_LCM162) { 
    12141235  timer_add(drv_HD_LCM162_timer, NULL, 10, 0); 
     1236  drv_generic_keypad_real_press = drv_HD_LCM162_keypad_handler; 
    12151237    } 
    12161238#endif 
     
    13331355  return ret; 
    13341356 
     1357    if ((ret = drv_generic_keypad_init(section, Name)) != 0) 
     1358  return ret; 
     1359 
    13351360    /* register text widget */ 
    13361361    wc = Widget_Text; 
  • trunk/drv_generic_keypad.h

    r728 r856  
    2828#include "widget.h" 
    2929 
    30 /* these functinos must be implemented by the real driver */ 
     30/* these functions must be implemented by the real driver */ 
    3131extern int (*drv_generic_keypad_real_press) (const int num); 
    3232