📄 gpm-evdev-patch
字号:
diff -ur ../gpm-1.18.1/configure.in ./configure.in--- ../gpm-1.18.1/configure.in Fri Nov 12 13:27:37 1999+++ ./configure.in Tue Mar 27 22:11:46 2001@@ -49,7 +49,7 @@ lispdir='${datadir}/emacs/site-lisp' fi -AC_CHECK_HEADERS(syslog.h linux/joystick.h ncurses.h ncurses/curses.h curses.h)+AC_CHECK_HEADERS(syslog.h linux/joystick.h linux/input.h ncurses.h ncurses/curses.h curses.h) AC_ARG_WITH(curses, [ --without-curses disable curses support even if curses found])diff -ur ../gpm-1.18.1/mice.c ./mice.c--- ../gpm-1.18.1/mice.c Fri Nov 12 13:27:37 1999+++ ./mice.c Tue Mar 27 22:11:23 2001@@ -60,6 +60,9 @@ #include <linux/joystick.h> #endif +#ifdef HAVE_LINUX_INPUT_H+#include <linux/input.h>+#endif /* HAVE_LINUX_INPUT_H */ #include "gpmInt.h" #include "twiddler.h"@@ -948,6 +951,42 @@ return 0; } +#ifdef HAVE_LINUX_INPUT_H+static int+M_evdev (Gpm_Event * state, unsigned char *data)+{+ struct input_event thisevent;+ (void) memcpy (&thisevent, data, sizeof (struct input_event));+ if (thisevent.type == EV_REL)+ {+ if (thisevent.code == REL_X)+ state->dx = (signed char) thisevent.value;+ else if (thisevent.code == REL_Y)+ state->dy = (signed char) thisevent.value;+ }+ else if (thisevent.type == EV_KEY)+ {+ if (thisevent.code == BTN_LEFT)+ {+ state->buttons ^= GPM_B_LEFT;+ }+ else if (thisevent.code == BTN_MIDDLE)+ {+ state->buttons ^= GPM_B_MIDDLE;+ }+ else if (thisevent.code == BTN_RIGHT)+ {+ state->buttons ^= GPM_B_RIGHT;+ }+ else if (thisevent.code == BTN_SIDE)+ {+ state->buttons ^= GPM_B_MIDDLE;+ }+ }+ return 0;+}+#endif /* HAVE_LINUX_INPUT_H */+ /*========================================================================*/ /* Then, mice should be initialized */ @@ -1406,6 +1445,14 @@ return type; } +#ifdef HAVE_LINUX_INPUT_H+static Gpm_Type *+I_evdev (int fd, unsigned short flags, struct Gpm_Type *type)+{+ return type;+}+#endif /* HAVE_LINUX_INPUT_H */+ /*========================================================================*/ /* Finally, the table */ #define STD_FLG (CREAD|CLOCAL|HUPCL)@@ -1532,6 +1579,14 @@ {"wp", "Genius WizardPad tablet", "wizardpad", M_wp, I_wp, STD_FLG, {0xFA, 0x42, 0x00, 0x00}, 10, 1, 0, 1, 0},++#ifdef HAVE_LINUX_INPUT_H+ {"evdev", "Linux Event Device",+ "", M_evdev, I_evdev, STD_FLG,+ {0x00, 0x00, 0x00, 0x00}+ , 16, 16, 0, 0, NULL}+ ,+#endif /* HAVE_LINUX_INPUT_H */ {"", "", "", NULL, NULL, 0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -