diff options
Diffstat (limited to 'src/libdraw/x11-keyboard.c')
-rw-r--r-- | src/libdraw/x11-keyboard.c | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/src/libdraw/x11-keyboard.c b/src/libdraw/x11-keyboard.c deleted file mode 100644 index 77fa78ba..00000000 --- a/src/libdraw/x11-keyboard.c +++ /dev/null @@ -1,78 +0,0 @@ -#include <u.h> -#include "x11-inc.h" -#include <libc.h> -#include <draw.h> -#include <thread.h> -#include <memdraw.h> -#include <keyboard.h> -#include "x11-memdraw.h" - -void -closekeyboard(Keyboardctl *kc) -{ - if(kc == nil) - return; - -/* postnote(PNPROC, kc->pid, "kill"); -*/ - -#ifdef BUG - /* Drain the channel */ - while(?kc->c) - <-kc->c; -#endif - - close(kc->ctlfd); - close(kc->consfd); - free(kc->file); - free(kc->c); - free(kc); -} - -static -void -_ioproc(void *arg) -{ - int i; - int fd; - Keyboardctl *kc; - Rune r; - XEvent xevent; - - kc = arg; - threadsetname("kbdproc"); - kc->pid = getpid(); - fd = XConnectionNumber(_x.kbdcon); - XSelectInput(_x.kbdcon, _x.drawable, KeyPressMask); - for(;;){ - XWindowEvent(_x.kbdcon, _x.drawable, KeyPressMask, &xevent); - switch(xevent.type){ - case KeyPress: - i = _xtoplan9kbd(&xevent); - if(i == -1) - continue; - r = i; - send(kc->c, &r); - while((i=_xtoplan9kbd(nil)) >= 0){ - r = i; - send(kc->c, &r); - } - break; - } - } -} - -Keyboardctl* -initkeyboard(char *file) -{ - Keyboardctl *kc; - - kc = mallocz(sizeof(Keyboardctl), 1); - if(kc == nil) - return nil; - kc->c = chancreate(sizeof(Rune), 20); - chansetname(kc->c, "kbdc"); - proccreate(_ioproc, kc, 256*1024); - return kc; -} - |