aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drv_HD44780.c25
-rw-r--r--drv_generic_keypad.h2
2 files changed, 26 insertions, 1 deletions
diff --git a/drv_HD44780.c b/drv_HD44780.c
index e2a693d..e85f9e1 100644
--- a/drv_HD44780.c
+++ b/drv_HD44780.c
@@ -69,6 +69,8 @@
#ifdef WITH_PARPORT
#include "drv_generic_parport.h"
+#include "drv_generic_keypad.h"
+#include "widget_keypad.h"
#endif
#ifdef WITH_I2C
@@ -979,6 +981,12 @@ static int drv_HD_GPO(const int num, const int val)
#ifdef WITH_PARPORT
+
+static int drv_HD_LCM162_keypad_handler(const int num)
+{
+ return num;
+}
+
static void drv_HD_LCM162_timer(void __attribute__ ((unused)) * notused)
{
static unsigned char data = 0x00;
@@ -1000,8 +1008,21 @@ static void drv_HD_LCM162_timer(void __attribute__ ((unused)) * notused)
if (data != temp) {
data = temp;
+ int KEYPAD_VAL=0;
keynum = (data & mask3 ? 1 : 0) + (data & mask5 ? 2 : 0);
+ switch(keynum)
+ {
+ default:
+ case 0: KEYPAD_VAL=WIDGET_KEY_CANCEL; break;
+ case 1: KEYPAD_VAL=WIDGET_KEY_UP; break;
+ case 2: KEYPAD_VAL=WIDGET_KEY_CONFIRM; break;
+ case 3: KEYPAD_VAL=WIDGET_KEY_DOWN; break;
+ }
+
updown = (data & mask6 ? 1 : 0);
+ KEYPAD_VAL += updown ? WIDGET_KEY_PRESSED : WIDGET_KEY_RELEASED;
+
+ drv_generic_keypad_press(KEYPAD_VAL);
debug("key %d press %d", keynum, updown);
}
@@ -1212,6 +1233,7 @@ static int drv_HD_start(const char *section, const int quiet)
#ifdef WITH_PARPORT
if (Capabilities & CAP_LCM162) {
timer_add(drv_HD_LCM162_timer, NULL, 10, 0);
+ drv_generic_keypad_real_press = drv_HD_LCM162_keypad_handler;
}
#endif
@@ -1332,6 +1354,9 @@ int drv_HD_init(const char *section, const int quiet)
if ((ret = drv_generic_gpio_init(section, Name)) != 0)
return ret;
+ if ((ret = drv_generic_keypad_init(section, Name)) != 0)
+ return ret;
+
/* register text widget */
wc = Widget_Text;
wc.draw = drv_generic_text_draw;
diff --git a/drv_generic_keypad.h b/drv_generic_keypad.h
index 392ed40..5b0c5c9 100644
--- a/drv_generic_keypad.h
+++ b/drv_generic_keypad.h
@@ -27,7 +27,7 @@
#include "widget.h"
-/* these functinos must be implemented by the real driver */
+/* these functions must be implemented by the real driver */
extern int (*drv_generic_keypad_real_press) (const int num);
/* generic functions and widget callbacks */
scan-tables.git/tag/?h=upstream/0%2bgit20160503.4f192bd'>upstream/0+git20160503.4f192bdJonathan McCrohan1307-2667/+38002 2016-01-18Release 0+git20151202.3864e0a-1debian/0+git20151202.3864e0a-1Jonathan McCrohan1-2/+3 2016-01-18Imported Upstream version 0+git20151202.3864e0aJonathan McCrohan840-4057/+18230 2016-01-18Update get-vcs-snapshot.sh to reflect gbp changesJonathan McCrohan2-1/+2 2016-01-18Imported Upstream version 0+git20151202.3864e0aupstream/0+git20151202.3864e0aJonathan McCrohan840-4057/+18230 2015-05-05d/control: various fixes found by libconfig-model-dpkg-perlJonathan McCrohan2-5/+13 2015-04-01Release 0+git20150208.f2053b3-1Jonathan McCrohan1-2/+2 2015-04-01Describe changes made in snapshotJonathan McCrohan1-0/+3 2015-04-01New Upstream Snapshot (commit f2053b3)Jonathan McCrohan1-0/+6 2015-04-01Imported Upstream version 0+git20150208.f2053b3upstream/0+git20150208.f2053b3Jonathan McCrohan32-333/+483 2014-12-28Release 0+git20141218.b46a22c-1debian/0+git20141218.b46a22c-1Jonathan McCrohan1-2/+2 2014-12-28Updated AU DVB-T files; Thanks Brian Burch! (Closes LP: #1393280)Jonathan McCrohan1-0/+1 2014-12-28New Upstream Snapshot (commit b46a22c)Jonathan McCrohan1-0/+6 2014-12-28Imported Upstream version 0+git20141218.b46a22cupstream/0+git20141218.b46a22cJonathan McCrohan535-639/+317 2014-10-20Release 0+git20141009.d26b627-1debian/0+git20141009.d26b627-1Jonathan McCrohan1-2/+2 2014-10-20Fix up packaging to account for move to DVBv5Jonathan McCrohan2-2/+6 2014-10-20delete d/dtv-scan-files.install; Upstream now supplies a MakefileJonathan McCrohan2-4/+1 2014-10-15d/control: update Standards Version to 3.9.6Jonathan McCrohan2-1/+3 2014-10-15d/control: add Build-Depends on dvb-toolsJonathan McCrohan2-1/+2 2014-10-15New Upstream Snapshot (commit d26b627)Jonathan McCrohan1-0/+10 2014-10-15Imported Upstream version 0+git20141009.d26b627upstream/0+git20141009.d26b627Jonathan McCrohan2010-11120/+159271 2014-07-23Release 0+git20140611.14bd6c7-1debian/0+git20140611.14bd6c7-1Jonathan McCrohan1-2/+2 2014-07-23New Upstream Snapshot (commit 14bd6c7)Jonathan McCrohan1-2/+3 2014-07-23Imported Upstream version 0+git20140611.14bd6c7upstream/0+git20140611.14bd6c7Jonathan McCrohan7-11/+60 2014-05-13New Upstream Snapshot (commit 1246b27)Jonathan McCrohan1-0/+6 2014-05-13Imported Upstream version 0+git20140512.1246b27upstream/0+git20140512.1246b27Jonathan McCrohan391-301/+3983 2014-04-05Release 0+git20140326.cfc2975-1debian/0+git20140326.cfc2975-1Jonathan McCrohan1-2/+2 2014-04-05d/control: update Homepage (upstream has moved from Gitweb to cgit)Jonathan McCrohan2-1/+2 2014-04-05New Upstream Snapshot (commit cfc2975)Jonathan McCrohan1-0/+6 2014-04-05Imported Upstream version 0+git20140326.cfc2975upstream/0+git20140326.cfc2975Jonathan McCrohan118-656/+877 2014-01-16Release 0+git20140107.1850cf8-1debian/0+git20140107.1850cf8-1Jonathan McCrohan1-2/+2 2014-01-16Update Standards Version to 3.9.5Jonathan McCrohan2-1/+9