aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2000-09-01 23:12:10 +0800
committersobomax <sobomax@FreeBSD.org>2000-09-01 23:12:10 +0800
commitb68bb2cfb349835787a0e0d5acbb19ae03fd213d (patch)
tree712b2e39d28d1d63f7662900f75f69aa17684d5c
parent75ab154284f7b8ae4cc5d820c207bce440d7c2b6 (diff)
downloadfreebsd-ports-gnome-b68bb2cfb349835787a0e0d5acbb19ae03fd213d.tar.gz
freebsd-ports-gnome-b68bb2cfb349835787a0e0d5acbb19ae03fd213d.tar.zst
freebsd-ports-gnome-b68bb2cfb349835787a0e0d5acbb19ae03fd213d.zip
Yet again improve keyboard support.
-rw-r--r--graphics/svgalib/Makefile1
-rw-r--r--graphics/svgalib/files/patch-ah39
2 files changed, 34 insertions, 6 deletions
diff --git a/graphics/svgalib/Makefile b/graphics/svgalib/Makefile
index d1faff83f7ca..34ef82d145ce 100644
--- a/graphics/svgalib/Makefile
+++ b/graphics/svgalib/Makefile
@@ -14,7 +14,6 @@ MAINTAINER= sobomax@freebsd.org
USE_GMAKE= yes
INSTALLS_SHLIB= yes
-CFLAGS+= -DDEBUG
ALL_TARGET= shared static
diff --git a/graphics/svgalib/files/patch-ah b/graphics/svgalib/files/patch-ah
index 42b76da9b23f..8e6d25ef89a2 100644
--- a/graphics/svgalib/files/patch-ah
+++ b/graphics/svgalib/files/patch-ah
@@ -1,5 +1,5 @@
--- src/keyboard/keyboard.c.orig Sun Jul 18 09:41:15 1999
-+++ src/keyboard/keyboard.c Wed Aug 30 19:04:39 2000
++++ src/keyboard/keyboard.c Fri Sep 1 11:01:20 2000
@@ -28,12 +28,12 @@
#include <sys/ioctl.h>
#include <fcntl.h>
@@ -15,16 +15,45 @@
/* Needed to check uid of keymap files */
#include <sys/stat.h>
#include <unistd.h>
-@@ -340,7 +340,7 @@
+@@ -69,10 +69,11 @@
+ "KP_4", "KP_5", "KP_6", "KP_Add",
+ "KP_1", "KP_2", "KP_3",
+ "KP_0", "KP_Period",
+- "Last_Console", "", "less", "F11", "F12", "", "", "", "", "", "", "",
+- "KP_Enter", "Control", "KP_Divide", "Control_backslash", "AltGr", "Break",
++ "Last_Console", "", "less", "F11", "F12",
++ "KP_Enter", "Control", "KP_Divide", "Control_backslash", "AltGr",
+ "Find", "Up", "Prior", "Left", "Right", "Select", "Down", "Next", "Insert",
+- "Remove", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
++ "Remove", "Break", "", "", "", "", "", "",
++ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
+ };
+ static void default_handler(int, int);
+ static char *kbd_load_keymap(char *ptr);
+@@ -333,14 +334,19 @@
+ tcgetattr(__svgalib_kbd_fd, &oldkbdtermios);
+ newkbdtermios = oldkbdtermios;
- tcsetattr(__svgalib_kbd_fd, TCSAFLUSH, &newkbdtermios);
++ cfmakeraw(&newkbdtermios);
+ newkbdtermios.c_lflag &= ~(ICANON | ECHO | ISIG);
+- newkbdtermios.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | IXOFF | IXON);
++ newkbdtermios.c_oflag = OPOST | ONLCR;
++ newkbdtermios.c_iflag = IGNPAR | IGNBRK;
++ newkbdtermios.c_cflag = CREAD | CS8;
+ newkbdtermios.c_cc[VMIN] = 0; /* Making these 0 seems to have the */
+ newkbdtermios.c_cc[VTIME] = 0; /* desired effect. */
++ cfsetispeed(&newkbdtermios, 9600);
++ cfsetospeed(&newkbdtermios, 9600);
+
+- tcsetattr(__svgalib_kbd_fd, TCSAFLUSH, &newkbdtermios);
++ tcsetattr(__svgalib_kbd_fd, TCSANOW, &newkbdtermios);
- ioctl(__svgalib_kbd_fd, KDSKBMODE, K_MEDIUMRAW);
+ ioctl(__svgalib_kbd_fd, KDSKBMODE, K_CODE);
keyboard_clearstate();
-@@ -578,7 +578,7 @@
+@@ -578,7 +584,7 @@
/* VT switch. */
/* *** what about F11 & F12? */
int j, vt = 0;
@@ -33,7 +62,7 @@
for (j = 0; j < 12; j++)
if (functionkey_state & (1 << j)) {
vt = j + 1;
-@@ -587,9 +587,9 @@
+@@ -587,9 +593,9 @@
}
/* Do not switch vt's if need not to */