--- /dev/null
+/*
+ Small utility to set the keyboard repeat/delay rates
+*/
+
+#include <stdlib.h>
+#include <string.h>
+#include <syscalls.h>
+#include <sys/kd.h>
+#include <fcntl.h>
+
+
+
+void printe( char *m )
+{
+ write(2, m, strlen(m) );
+ write(1, "\n", 1 );
+ exit(1);
+}
+
+
+int main( int argc, char **argv )
+{
+ int fd;
+ struct key_repeat k;
+ int ret;
+
+ if( argc < 3 )
+ printe( "usage: kbdrate rate delay");
+
+ fd=open("/dev/tty", O_RDONLY);
+ if( ! fd )
+ printe( "Cannot open tty dev" );
+
+ k.continual = atoi( argv[1] );
+ k.first = atoi( argv[2] );
+
+ ret=ioctl( fd, KBRATE, &k );
+ if( ret ){
+ printe( "failed ioctl");
+ }
+
+ close( fd );
+ exit(0);
+}
--- /dev/null
+/*
+ Header file for manipulation of the fuxiz console keyboard
+*/
+
+
+/* IOCTL numbers */
+#define KBMAPSIZE 0x20
+#define KBMAPGET 0x21
+#define KBSETTRANS (0x23|IOCTL_SUPER)
+#define KBRATE 0x25
+
+
+/* struct for setting keyboard repeat
+ delays are demarked in tenths of seconds
+ */
+struct key_repeat {
+ uint8_t first;
+ uint8_t continual;
+};
+