From a233fd0a6303e977d0bc50d56a984213512d895c Mon Sep 17 00:00:00 2001 From: Martin Kepplinger Date: Fri, 18 Nov 2016 17:36:05 +0100 Subject: [PATCH] tslib: bump version to 1.2 * The first patch is removed because the input-raw plugin is now enabled in tslib's provided ts.conf * The second patch added 2 programs to tslib. The whole patch is removed because: - ts_finddev is now part of tslib. - inputattach is part of the 'Linux console project' located here: https://sourceforge.net/projects/linuxconsole/ Signed-off-by: Martin Kepplinger Signed-off-by: Thomas Petazzoni --- package/tslib/0001-enable_raw_module.patch | 14 - ...02-add_finddef_and_inputattach_utils.patch | 718 ------------------ package/tslib/tslib.hash | 2 +- package/tslib/tslib.mk | 2 +- 4 files changed, 2 insertions(+), 734 deletions(-) delete mode 100644 package/tslib/0001-enable_raw_module.patch delete mode 100644 package/tslib/0002-add_finddef_and_inputattach_utils.patch diff --git a/package/tslib/0001-enable_raw_module.patch b/package/tslib/0001-enable_raw_module.patch deleted file mode 100644 index cb89338cf7..0000000000 --- a/package/tslib/0001-enable_raw_module.patch +++ /dev/null @@ -1,14 +0,0 @@ -Enable raw module by default - -Signed-off-by: Daniel Nyström - -diff -Naur tslib-e000d35a.orig/etc/ts.conf tslib-e000d35a/etc/ts.conf ---- tslib-e000d35a.orig/etc/ts.conf 2010-12-21 18:54:45.000000000 +0100 -+++ tslib-e000d35a/etc/ts.conf 2010-12-21 18:55:03.000000000 +0100 -@@ -1,5 +1,5 @@ - # Uncomment if you wish to use the linux input layer event interface --# module_raw input -+module_raw input - - # Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d - # module_raw collie diff --git a/package/tslib/0002-add_finddef_and_inputattach_utils.patch b/package/tslib/0002-add_finddef_and_inputattach_utils.patch deleted file mode 100644 index dcc6ec75ae..0000000000 --- a/package/tslib/0002-add_finddef_and_inputattach_utils.patch +++ /dev/null @@ -1,718 +0,0 @@ -diff -Naur tslib-org/tests/Makefile.am tslib-1.0/tests/Makefile.am ---- tslib-org/tests/Makefile.am 2006-08-25 00:02:55.000000000 +0300 -+++ tslib-1.0/tests/Makefile.am 2007-05-07 17:39:54.000000000 +0300 -@@ -12,7 +12,7 @@ - AM_CFLAGS = $(DEBUGFLAGS) - INCLUDES = -I$(top_srcdir)/src - --bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest -+bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest ts_finddev inputattach - - ts_test_SOURCES = ts_test.c fbutils.c fbutils.h font_8x8.c font_8x16.c font.h - ts_test_LDADD = $(top_builddir)/src/libts.la -@@ -27,4 +27,10 @@ - ts_calibrate_LDADD = $(top_builddir)/src/libts.la - - ts_harvest_SOURCES = ts_harvest.c fbutils.c fbutils.h testutils.c testutils.h font_8x8.c font_8x16.c font.h --ts_harvest_LDADD = $(top_builddir)/src/libts.la -+ts_harvest_LDADD = $(top_builddir)/src/libts.la -+ -+ts_finddev_SOURCES = ts_finddev.c -+ts_finddev_LDADD = $(top_builddir)/src/libts.la -+ -+inputattach_SOURCES = inputattach.c -+inputattach_LDADD = -diff -Naur tslib-org/tests/inputattach.c tslib-1.0/tests/inputattach.c ---- tslib-org/tests/inputattach.c 1970-01-01 02:00:00.000000000 +0200 -+++ tslib-1.0/tests/inputattach.c 2007-05-07 17:36:37.000000000 +0300 -@@ -0,0 +1,611 @@ -+/* -+ * $Id: inputattach.c,v 1.24 2006/02/08 12:19:31 vojtech Exp $ -+ * -+ * Copyright (c) 1999-2000 Vojtech Pavlik -+ * -+ * Sponsored by SuSE -+ * -+ * Twiddler support Copyright (c) 2001 Arndt Schoenewald -+ * Sponsored by Quelltext AG (http://www.quelltext-ag.de), Dortmund, Germany -+ */ -+ -+/* -+ * Input line discipline attach program -+ */ -+ -+/* -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ * Should you need to contact me, the author, you can do so either by -+ * e-mail - mail your message to , or by paper mail: -+ * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic -+ */ -+ -+/* softa note: -+cvs version is here: -+http://cvs.sourceforge.net/viewcvs.py/ *checkout* /linuxconsole/ruby/utils/inputattach.c -+*/ -+ -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+// softa patch! -+/* -+ * Serio types -+ */ -+#ifndef SERIO_UNKNOWN -+ #define SERIO_UNKNOWN 0x00 -+#endif -+#ifndef SERIO_MSC -+ #define SERIO_MSC 0x01 -+#endif -+#ifndef SERIO_SUN -+ #define SERIO_SUN 0x02 -+#endif -+#ifndef SERIO_MS -+ #define SERIO_MS 0x03 -+#endif -+#ifndef SERIO_MP -+ #define SERIO_MP 0x04 -+#endif -+#ifndef SERIO_MZ -+ #define SERIO_MZ 0x05 -+#endif -+#ifndef SERIO_MZP -+ #define SERIO_MZP 0x06 -+#endif -+#ifndef SERIO_MZPP -+ #define SERIO_MZPP 0x07 -+#endif -+#ifndef SERIO_VSXXXAA -+ #define SERIO_VSXXXAA 0x08 -+#endif -+#ifndef SERIO_SUNKBD -+ #define SERIO_SUNKBD 0x10 -+#endif -+#ifndef SERIO_WARRIOR -+ #define SERIO_WARRIOR 0x18 -+#endif -+#ifndef SERIO_SPACEORB -+ #define SERIO_SPACEORB 0x19 -+#endif -+#ifndef SERIO_MAGELLAN -+ #define SERIO_MAGELLAN 0x1a -+#endif -+#ifndef SERIO_SPACEBALL -+ #define SERIO_SPACEBALL 0x1b -+#endif -+#ifndef SERIO_GUNZE -+ #define SERIO_GUNZE 0x1c -+#endif -+#ifndef SERIO_IFORCE -+ #define SERIO_IFORCE 0x1d -+#endif -+#ifndef SERIO_STINGER -+ #define SERIO_STINGER 0x1e -+#endif -+#ifndef SERIO_NEWTON -+ #define SERIO_NEWTON 0x1f -+#endif -+#ifndef SERIO_STOWAWAY -+ #define SERIO_STOWAWAY 0x20 -+#endif -+#ifndef SERIO_H3600 -+ #define SERIO_H3600 0x21 -+#endif -+#ifndef SERIO_PS2SER -+ #define SERIO_PS2SER 0x22 -+#endif -+#ifndef SERIO_TWIDKBD -+ #define SERIO_TWIDKBD 0x23 -+#endif -+#ifndef SERIO_TWIDJOY -+ #define SERIO_TWIDJOY 0x24 -+#endif -+#ifndef SERIO_HIL -+ #define SERIO_HIL 0x25 -+#endif -+#ifndef SERIO_SNES232 -+ #define SERIO_SNES232 0x26 -+#endif -+#ifndef SERIO_SEMTECH -+ #define SERIO_SEMTECH 0x27 -+#endif -+#ifndef SERIO_LKKBD -+ #define SERIO_LKKBD 0x28 -+#endif -+#ifndef SERIO_ELO -+ #define SERIO_ELO 0x29 -+#endif -+#ifndef SERIO_MICROTOUCH -+ #define SERIO_MICROTOUCH 0x30 -+#endif -+#ifndef SERIO_PENMOUNT -+ #define SERIO_PENMOUNT 0x31 -+#endif -+#ifndef SERIO_TOUCHRIGHT -+ #define SERIO_TOUCHRIGHT 0x32 -+#endif -+#ifndef SERIO_TOUCHWIN -+ #define SERIO_TOUCHWIN 0x33 -+#endif -+// end softa patch! -+ -+int readchar(int fd, unsigned char *c, int timeout) -+{ -+ struct timeval tv; -+ fd_set set; -+ -+ tv.tv_sec = 0; -+ tv.tv_usec = timeout * 1000; -+ -+ FD_ZERO(&set); -+ FD_SET(fd, &set); -+ -+ if (!select(fd+1, &set, NULL, NULL, &tv)) return -1; -+ if (read(fd, c, 1) != 1) return -1; -+ -+ return 0; -+} -+ -+ -+ -+void setline(int fd, int flags, int speed) -+{ -+ struct termios t; -+ -+ tcgetattr(fd, &t); -+ -+ t.c_cflag = flags | CREAD | HUPCL | CLOCAL; -+ t.c_iflag = IGNBRK | IGNPAR; -+ t.c_oflag = 0; -+ t.c_lflag = 0; -+ t.c_cc[VMIN ] = 1; -+ t.c_cc[VTIME] = 0; -+ -+ cfsetispeed(&t, speed); -+ cfsetospeed(&t, speed); -+ -+ tcsetattr(fd, TCSANOW, &t); -+} -+ -+int logitech_command(int fd, char *c) -+{ -+ int i; -+ unsigned char d; -+ for (i = 0; c[i]; i++) { -+ write(fd, c + i, 1); -+ if (readchar(fd, &d, 1000)) -+ return -1; -+ if (c[i] != d) -+ return -1; -+ } -+ return 0; -+} -+ -+int magellan_init(int fd, long *id, long *extra) -+{ -+ write(fd, "m3\rpBB\rz\r", 9); -+ return 0; -+} -+ -+int warrior_init(int fd, long *id, long *extra) -+{ -+ if (logitech_command(fd, "*S")) return -1; -+ setline(fd, CS8, B4800); -+ return 0; -+} -+ -+int spaceball_waitchar(int fd, unsigned char c, unsigned char *d, int timeout) -+{ -+ unsigned char b = 0; -+ -+ while (!readchar(fd, &b, timeout)) { -+ if (b == 0x0a) continue; -+ *d++ = b; -+ if (b == c) break; -+ } -+ -+ *d = 0; -+ -+ return -(b != c); -+} -+ -+int spaceball_waitcmd(int fd, char c, char *d) -+{ -+ int i; -+ -+ for (i = 0; i < 8; i++) { -+ if (spaceball_waitchar(fd, 0x0d, d, 1000)) -+ return -1; -+ if (d[0] == c) -+ return 0; -+ } -+ -+ return -1; -+} -+ -+int spaceball_cmd(int fd, char *c, char *d) -+{ -+ int i; -+ -+ for (i = 0; c[i]; i++) -+ write(fd, c + i, 1); -+ write(fd, "\r", 1); -+ -+ i = spaceball_waitcmd(fd, toupper(c[0]), d); -+ -+ return i; -+} -+ -+#define SPACEBALL_1003 1 -+#define SPACEBALL_2003B 3 -+#define SPACEBALL_2003C 4 -+#define SPACEBALL_3003C 7 -+#define SPACEBALL_4000FLX 8 -+#define SPACEBALL_4000FLX_L 9 -+ -+int spaceball_init(int fd, long *id, long *extra) -+{ -+ char r[64]; -+ -+ if (spaceball_waitchar(fd, 0x11, r, 4000) || -+ spaceball_waitchar(fd, 0x0d, r, 1000)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '@', r)) -+ return -1; -+ -+ if (strncmp("@1 Spaceball alive", r, 18)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '@', r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "hm", r)) -+ return -1; -+ -+ if (!strncmp("Hm2003B", r, 7)) -+ *id = SPACEBALL_2003B; -+ if (!strncmp("Hm2003C", r, 7)) -+ *id = SPACEBALL_2003C; -+ if (!strncmp("Hm3003C", r, 7)) -+ *id = SPACEBALL_3003C; -+ -+ if (!strncmp("HvFirmware", r, 10)) { -+ -+ if (spaceball_cmd(fd, "\"", r)) -+ return -1; -+ -+ if (strncmp("\"1 Spaceball 4000 FLX", r, 21)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '"', r)) -+ return -1; -+ -+ if (strstr(r, " L ")) -+ *id = SPACEBALL_4000FLX_L; -+ else -+ *id = SPACEBALL_4000FLX; -+ -+ if (spaceball_waitcmd(fd, '"', r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "YS", r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "M", r)) -+ return -1; -+ -+ return 0; -+ } -+ -+ if (spaceball_cmd(fd, "P@A@A", r) || -+ spaceball_cmd(fd, "FT@", r) || -+ spaceball_cmd(fd, "MSS", r)) -+ return -1; -+ -+ return 0; -+} -+ -+int stinger_init(int fd, long *id, long *extra) -+{ -+ int i; -+ unsigned char c; -+ unsigned char *response = "\r\n0600520058C272"; -+ -+ if (write(fd, " E5E5", 5) != 5) /* Enable command */ -+ return -1; -+ -+ for (i = 0; i < 16; i++) /* Check for Stinger */ -+ if (readchar(fd, &c, 200) || (c != response[i])) -+ return -1; -+ -+ return 0; -+} -+ -+int mzp_init(int fd, long *id, long *extra) -+{ -+ if (logitech_command(fd, "*X*q")) return -1; -+ setline(fd, CS8, B9600); -+ return 0; -+} -+ -+int newton_init(int fd, long *id, long *extra) -+{ -+ int i; -+ unsigned char c; -+ unsigned char response[35] = -+ { 0x16, 0x10, 0x02, 0x64, 0x5f, 0x69, 0x64, 0x00, -+ 0x00, 0x00, 0x0c, 0x6b, 0x79, 0x62, 0x64, 0x61, -+ 0x70, 0x70, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x6e, -+ 0x6f, 0x66, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x10, -+ 0x03, 0xdd, 0xe7 }; -+ -+ for (i = 0; i < 35; i++) -+ if (readchar(fd, &c, 400) || (c != response[i])) -+ return -1; -+ -+ return 0; -+} -+ -+int twiddler_init(int fd, long *id, long *extra) -+{ -+ unsigned char c[10]; -+ int count, line; -+ -+ /* Turn DTR off, otherwise the Twiddler won't send any data. */ -+ if (ioctl(fd, TIOCMGET, &line)) return -1; -+ line &= ~TIOCM_DTR; -+ if (ioctl(fd, TIOCMSET, &line)) return -1; -+ -+ /* Check whether the device on the serial line is the Twiddler. -+ * -+ * The Twiddler sends data packets of 5 bytes which have the following -+ * properties: the MSB is 0 on the first and 1 on all other bytes, and -+ * the high order nibble of the last byte is always 0x8. -+ * -+ * We read and check two of those 5 byte packets to be sure that we -+ * are indeed talking to a Twiddler. */ -+ -+ /* Read at most 5 bytes until we find one with the MSB set to 0 */ -+ for (count = 0; count < 5; count++) { -+ if (readchar(fd, c+0, 500)) return -1; -+ if ((c[0] & 0x80) == 0) break; -+ } -+ -+ if (count == 5) { -+ /* Could not find header byte in data stream */ -+ return -1; -+ } -+ -+ /* Read remaining 4 bytes plus the full next data packet */ -+ for (count = 1; count < 10; count++) { -+ if (readchar(fd, c+count, 500)) return -1; -+ } -+ -+ /* Check whether the bytes of both data packets obey the rules */ -+ for (count = 1; count < 10; count++) { -+ if ((count % 5 == 0 && (c[count] & 0x80) != 0) -+ || (count % 5 == 4 && (c[count] & 0xF0) != 0x80) -+ || (count % 5 != 0 && (c[count] & 0x80) != 0x80)) { -+ /* Invalid byte in data packet */ -+ return -1; -+ } -+ } -+ -+ return 0; -+} -+ -+int penmount_init(int fd, long *id, long *extra) -+{ -+ unsigned char init_cmd[5] = { 0xF2, 0x00, 0x00, 0x00, 0x00 }; -+ unsigned char start_cmd[5] = { 0xF1, 0x00, 0x00, 0x00, 0x00 }; -+ unsigned char c[10]; -+ int count; -+ -+ /* try to initialize device */ -+ if (write( fd, init_cmd, 5 ) != 5) -+ return -1; -+ -+ /* read the responce */ -+ for (count = 0; count < 5; count ++) { -+ if (readchar(fd, c+0, 500)) return -1; -+ if (c[0] == 0xf2) break; -+ } -+ -+ if (readchar(fd, c+1, 500)) return -1; -+ if (c[1] != 0xd9) return -1; -+ -+ if (readchar(fd, c+2, 500)) return -1; -+ if (c[2] != 0x0a) return -1; -+ -+ /* the device is present! start it! */ -+ if (write( fd, start_cmd, 5 ) != 5) -+ return -1; -+ -+ return 0; -+} -+ -+int dump_init(int fd, long *id, long *extra) -+{ -+ unsigned char c, o = 0; -+ -+ c = 0x80; -+ -+ if (write(fd, &c, 1) != 1) /* Enable command */ -+ return -1; -+ -+ while (1) -+ if (!readchar(fd, &c, 1)) { -+ printf("%02x (%c) ", c, ((c > 32) && (c < 127)) ? c : 'x'); -+ o = 1; -+ } else { -+ if (o) { -+ printf("\n"); -+ o = 0; -+ } -+ } -+} -+ -+struct input_types { -+ char name[16]; -+ char name2[16]; -+ int speed; -+ int flags; -+ unsigned long type; -+ unsigned long id; -+ unsigned long extra; -+ int flush; -+ int (*init)(int fd, long *id, long *extra); -+}; -+ -+struct input_types input_types[] = { -+ -+{ "--sunkbd", "-skb", B1200, CS8, SERIO_SUNKBD, 0, 0, 1, NULL }, -+{ "--lkkbd", "-lk", B4800, CS8|CSTOPB, SERIO_LKKBD, 0, 0, 1, NULL }, -+{ "--vsxxx-aa", "-vs", B4800, CS8|CSTOPB|PARENB|PARODD,SERIO_VSXXXAA, 0, 0, 1, NULL }, -+{ "--spaceorb", "-orb", B9600, CS8, SERIO_SPACEORB, 0, 0, 1, NULL }, -+{ "--spaceball", "-sbl", B9600, CS8, SERIO_SPACEBALL,0, 0, 0, spaceball_init }, -+{ "--magellan", "-mag", B9600, CS8 | CSTOPB | CRTSCTS, SERIO_MAGELLAN, 0, 0, 1, magellan_init }, -+{ "--warrior", "-war", B1200, CS7 | CSTOPB, SERIO_WARRIOR, 0, 0, 1, warrior_init }, -+{ "--stinger", "-sting", B1200, CS8, SERIO_STINGER, 0, 0, 1, stinger_init }, -+{ "--mousesystems", "-msc", B1200, CS8, SERIO_MSC, 0, 0x01, 1, NULL }, -+{ "--sunmouse", "-sun", B1200, CS8, SERIO_SUN, 0, 0x01, 1, NULL }, -+{ "--microsoft", "-bare", B1200, CS7, SERIO_MS, 0, 0, 1, NULL }, -+{ "--mshack", "-ms", B1200, CS7, SERIO_MS, 0, 0x01, 1, NULL }, -+{ "--mouseman", "-mman", B1200, CS7, SERIO_MP, 0, 0x01, 1, NULL }, -+{ "--intellimouse", "-ms3", B1200, CS7, SERIO_MZ, 0, 0x11, 1, NULL }, -+{ "--mmwheel", "-mmw", B1200, CS7 | CSTOPB, SERIO_MZP, 0, 0x13, 1, mzp_init }, -+{ "--iforce", "-ifor", B38400, CS8, SERIO_IFORCE, 0, 0, 0, NULL }, -+{ "--newtonkbd", "-newt", B9600, CS8, SERIO_NEWTON, 0, 0, 0, newton_init }, -+{ "--h3600ts", "-ipaq", B115200, CS8, SERIO_H3600, 0, 0, 0, NULL }, -+{ "--stowawaykbd", "-ipaqkbd", B115200, CS8, SERIO_STOWAWAY, 0, 0, 0, NULL }, -+{ "--ps2serkbd", "-ps2ser", B1200, CS8, SERIO_PS2SER, 0, 0, 1, NULL }, -+{ "--twiddler", "-twid", B2400, CS8, SERIO_TWIDKBD, 0, 0, 0, twiddler_init }, -+{ "--twiddler-joy", "-twidjoy", B2400, CS8, SERIO_TWIDJOY, 0, 0, 0, twiddler_init }, -+{ "--elotouch", "-elo", B9600, CS8 | CRTSCTS, SERIO_ELO, 0, 0, 0, NULL }, -+{ "--elo4002", "-elo6b", B9600, CS8 | CRTSCTS, SERIO_ELO, 1, 0, 0, NULL }, -+{ "--elo271-140", "-elo4b", B9600, CS8 | CRTSCTS, SERIO_ELO, 2, 0, 0, NULL }, -+{ "--elo261-280", "-elo3b", B9600, CS8 | CRTSCTS, SERIO_ELO, 3, 0, 0, NULL }, -+{ "--dump", "-dump", B2400, CS8, 0, 0, 0, 0, dump_init }, -+{ "--dmc9000", "-dmc", B19200, CS8, SERIO_PENMOUNT, 0, 0, 0, penmount_init }, -+{ "", "", 0, 0 } -+ -+}; -+ -+int main(int argc, char **argv) -+{ -+ unsigned long devt; -+ int ldisc; -+ int type; -+ long id, extra; -+ int fd; -+ char c; -+ -+ if (argc < 2 || argc > 3 || !strcmp("--help", argv[1])) { -+ puts(""); -+ puts("Usage: inputttach "); -+ puts(""); -+ puts("Modes:"); -+ puts(" --sunkbd -skb Sun Type 4 and Type 5 keyboards"); -+ puts(" --lkkbd -lk DEC LK201 / LK401 keyboards"); -+ puts(" --vsxxx-aa -vs DEC VSXXX-AA / VSXXX-GA mouse and VSXXX-AB tablet"); -+ puts(" --spaceorb -orb SpaceOrb 360 / SpaceBall Avenger"); -+ puts(" --spaceball -sbl SpaceBall 2003 / 3003 / 4000 FLX"); -+ puts(" --magellan -mag Magellan / SpaceMouse"); -+ puts(" --warrior -war WingMan Warrior"); -+ puts(" --stinger -stng Gravis Stinger"); -+ puts(" --mousesystems -msc 3-button Mouse Systems mice"); -+ puts(" --sunmouse -sun 3-button Sun mice"); -+ puts(" --microsoft -bare 2-button Microsoft mice"); -+ puts(" --mshack -ms 3-button mice in Microsoft mode"); -+ puts(" --mouseman -mman 3-button Logitech and Genius mice"); -+ puts(" --intellimouse -ms3 Microsoft IntelliMouse"); -+ puts(" --mmwheel -mmw Logitech mice with 4-5 buttons or wheel"); -+ puts(" --iforce -ifor I-Force joysticks and wheels"); -+ puts(" --h3600ts -ipaq Ipaq h3600 touchscreen"); -+ puts(" --stowawaykbd -ipaqkbd Stowaway keyboard"); -+ puts(" --ps2serkbd -ps2ser PS/2 via serial keyboard"); -+ puts(" --twiddler -twid Handykey Twiddler chording keyboard"); -+ puts(" --twiddler-joy -twidjoy Handykey Twiddler used as a joystick"); -+ puts(" --dmc9000 -dmc DMC9000/Penpount touchscreen"); -+ puts(""); -+ return 1; -+ } -+ -+ for (type = 0; input_types[type].speed; type++) { -+ if (!strncasecmp(argv[1], input_types[type].name, 16) || -+ !strncasecmp(argv[1], input_types[type].name2, 16)) -+ break; -+ } -+ -+ if (!input_types[type].speed) { -+ fprintf(stderr, "inputattach: invalid mode\n"); -+ return 1; -+ } -+ -+ if ((fd = open(argv[2], O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) { -+ perror("inputattach"); -+ return 1; -+ } -+ -+ setline(fd, input_types[type].flags, input_types[type].speed); -+ -+ if (input_types[type].flush) -+ while (!readchar(fd, &c, 100)); -+ -+ id = input_types[type].id; -+ extra = input_types[type].extra; -+ -+ if (input_types[type].init && input_types[type].init(fd, &id, &extra)) { -+ fprintf(stderr, "inputattach: device initialization failed\n"); -+ return 1; -+ } -+ -+ ldisc = N_MOUSE; -+ if(ioctl(fd, TIOCSETD, &ldisc)) { -+ fprintf(stderr, "inputattach: can't set line discipline\n"); -+ return 1; -+ } -+ -+ devt = input_types[type].type | (id << 8) | (extra << 16); -+ -+ if(ioctl(fd, SPIOCSTYPE, &devt)) { -+ fprintf(stderr, "inputattach: can't set device type\n"); -+ return 1; -+ } -+ -+ read(fd, NULL, 0); -+ -+ ldisc = 0; -+ ioctl(fd, TIOCSETD, &ldisc); -+ close(fd); -+ -+ return 0; -+} -diff -Naur tslib-org/tests/ts_finddev.c tslib-1.0/tests/ts_finddev.c ---- tslib-org/tests/ts_finddev.c 1970-01-01 02:00:00.000000000 +0200 -+++ tslib-1.0/tests/ts_finddev.c 2007-05-07 17:36:37.000000000 +0300 -@@ -0,0 +1,75 @@ -+/* -+ * tslib/src/ts_print.c -+ * -+ * Derived from tslib/src/ts_test.c by Douglas Lowder -+ * Just prints touchscreen events -- does not paint them on framebuffer -+ * -+ * This file is placed under the GPL. Please see the file -+ * COPYING for more details. -+ * -+ * Basic test program for touchscreen library. -+ */ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "tslib.h" -+ -+void usage( int argc, char** argv ) { -+ printf( "Usage: %s device_name wait_for_sec\n", argv[0] ); -+ printf( "\tdevice_name - tdevice to probe, example /dev/input/event0\n" ); -+ printf( "\twait_for_sec - wait seconds for touch event, if 0 - dont wait!\n" ); -+ printf( "\tReturn codes:\n" ); -+ printf( "\t 0 - timeout expired without receiving event.\n" ); -+ printf( "\t But this maybe is TouchScreen.\n" ); -+ printf( "\t -1 - this is NOT TouchScreen device!\n" ); -+ printf( "\t 1 - this is TouchScreen for shure!\n" ); -+ exit(-1); -+} -+ -+void alarm_handler( int sig ) { -+ // time is expired! -+ exit(0); -+} -+ -+int main( int argc, char** argv ) -+{ -+ struct tsdev *ts; -+ struct ts_sample samp; -+ char *tsdevice=NULL; -+ int waitsec; -+ int ret; -+ -+ if (argc != 3) -+ usage( argc, argv ); -+ -+ tsdevice = argv[1]; -+ waitsec = atoi( argv[2] ); -+ if (waitsec < 0) -+ usage( argc, argv ); -+ -+ ts = ts_open( tsdevice, 0 ); -+ if (!ts) -+ return -1; -+ if (ts_config(ts)) -+ return -1; -+ -+ if (!waitsec) { -+ return 0; -+ } -+ -+ printf( "Probe device %s, Please Touch Screen Anywhere in %i seconds! ... \n", tsdevice, waitsec ); -+ signal( SIGALRM, alarm_handler ); -+ alarm( waitsec ); -+ ret = ts_read_raw(ts, &samp, 1 ); -+ if (ret) -+ return 1; -+ -+ return -1; -+} diff --git a/package/tslib/tslib.hash b/package/tslib/tslib.hash index e3ddce54fe..fc493e78d0 100644 --- a/package/tslib/tslib.hash +++ b/package/tslib/tslib.hash @@ -1,2 +1,2 @@ # Locally generated -sha256 121750e9ae0f05ce840ab8dbefdae1297258f0a69dd1967f55c40ac6e87d5ee9 tslib-1.1.tar.gz +sha256 b6450f4d1bc8f4fbbb796a2d1210aee3ccf9ecf302a368dddf279c63eb634833 tslib-1.2.tar.gz diff --git a/package/tslib/tslib.mk b/package/tslib/tslib.mk index 1100247905..6437f60c3d 100644 --- a/package/tslib/tslib.mk +++ b/package/tslib/tslib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TSLIB_VERSION = 1.1 +TSLIB_VERSION = 1.2 TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION) TSLIB_LICENSE = GPL, LGPL TSLIB_LICENSE_FILES = COPYING -- 2.30.2