📄 gpm-1.19.6-to-blaise.diff
字号:
diff -ruN gpm-1.19.6/src/gpm.c gpm-1.19.6-blaise/src/gpm.c--- gpm-1.19.6/src/gpm.c Mon Oct 1 16:02:25 2001+++ gpm-1.19.6-blaise/src/gpm.c Mon Jan 14 00:53:27 2002@@ -454,7 +454,9 @@ event->modifiers = nEvent.modifiers; /* propagate modifiers */ /* propagate buttons */- nEvent.buttons = opt_sequence[nEvent.buttons]&7; /* change the order */++ nEvent.buttons = (opt_sequence[nEvent.buttons&7]&7) |+ (nEvent.buttons & ~7); /* change the order */ oldB=newB; newB=nEvent.buttons; if (!i) event->buttons=nEvent.buttons; diff -ruN gpm-1.19.6/src/headers/gpm.h gpm-1.19.6-blaise/src/headers/gpm.h--- gpm-1.19.6/src/headers/gpm.h Sun Sep 23 15:00:03 2001+++ gpm-1.19.6-blaise/src/headers/gpm.h Mon Jan 14 00:05:47 2002@@ -72,6 +72,9 @@ /*....................................... Cfg buttons */ +#define GPM_B_DOWN 32+#define GPM_B_UP 16+#define GPM_B_FOURTH 8 #define GPM_B_LEFT 4 #define GPM_B_MIDDLE 2 #define GPM_B_RIGHT 1diff -ruN gpm-1.19.6/src/mice.c gpm-1.19.6-blaise/src/mice.c--- gpm-1.19.6/src/mice.c Thu Sep 27 08:50:29 2001+++ gpm-1.19.6-blaise/src/mice.c Mon Jan 14 00:52:54 2002@@ -450,6 +450,30 @@ return write(fd,buffer,5); }+ +static int R_imps2(Gpm_Event *state, int fd)+{+ signed char buffer[4];+ int dx, dy;++ dx = limit_delta(state->dx, -256, 255);+ dy = limit_delta(state->dy, -256, 255);++ buffer[0] = 8 |+ (state->buttons & GPM_B_LEFT ? 1 : 0) |+ (state->buttons & GPM_B_MIDDLE ? 4 : 0) |+ (state->buttons & GPM_B_RIGHT ? 2 : 0) | + (dx < 0 ? 0x10 : 0) |+ (dy > 0 ? 0x20 : 0);+ buffer[1] = dx & 0xFF;+ buffer[2] = (-dy) & 0xFF;+ buffer[3] = + (state->buttons & GPM_B_UP ? -1 : 0) + + (state->buttons & GPM_B_DOWN ? 1 : 0);+ + return write(fd,buffer,4);++} static int M_logimsc(Gpm_Event *state, unsigned char *data) /* same as msc */ {@@ -518,6 +542,14 @@ return 0; } +static int M_imps2(Gpm_Event *state, signed char *data)+{+ int ret = M_ps2(state, data);+ state->buttons |= (data[3]<0) * GPM_B_UP + (data[3]>0) * GPM_B_DOWN; + + return ret;+}+ static int M_netmouse(Gpm_Event *state, unsigned char *data) { /* Avoid this beasts if you can. They connect to normal PS/2 port,@@ -2114,8 +2145,8 @@ "", M_bare, I_pnp, CS7 | STD_FLG, {0x40, 0x40, 0x40, 0x00}, 3, 1, 0, 0, 0}, {"imps2","Microsoft Intellimouse (ps2) - autodetect 2/3 buttons,wheel unused",- "", M_ps2, I_imps2, STD_FLG,- {0xc0, 0x00, 0x00, 0x00}, 4, 1, 0, 0, 0},+ "", M_imps2, I_imps2, STD_FLG,+ {0xC0, 0x00, 0x00, 0x00}, 4, 1, 0, 0, R_imps2}, {"exps2", "IntelliMouse Explorer (ps2) - 3 buttons, wheel unused", "ExplorerPS/2", M_ps2, I_exps2, STD_FLG, {0xc0, 0x00, 0x00, 0x00}, 4, 1, 0, 0, 0},diff -ruN gpm-1.19.6/src/synaptics.c gpm-1.19.6-blaise/src/synaptics.c--- gpm-1.19.6/src/synaptics.c Sun Sep 23 15:00:03 2001+++ gpm-1.19.6-blaise/src/synaptics.c Mon Jan 14 01:54:57 2002@@ -166,7 +166,9 @@ No_Action = 0, Left_Button_Action, Middle_Button_Action,- Right_Button_Action+ Right_Button_Action,+ Up_Button_Action,+ Down_Button_Action } action_type; typedef struct {@@ -495,6 +497,12 @@ case Right_Button_Action: last_corner = GPM_B_RIGHT; break;+ case Up_Button_Action:+ last_corner = GPM_B_UP;+ break;+ case Down_Button_Action:+ last_corner = GPM_B_DOWN;+ break; case No_Action: default: last_corner = 0;@@ -704,7 +712,7 @@ state->buttons |= GPM_B_MIDDLE; if (report.down)- state->buttons |= 0x8;+ state->buttons |= GPM_B_FOURTH; process_corner_taps (state, report); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -