From 3d479927d79c4a06b06f946309bbe3d68fd37d68 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Fri, 26 Feb 2010 18:21:37 -0800 Subject: [PATCH] move XQueryKeymap binding to x11.xlib --- basis/game/input/linux/linux.factor | 75 ++++++++++++++--------------- basis/x11/xlib/xlib.factor | 5 ++ 2 files changed, 42 insertions(+), 38 deletions(-) diff --git a/basis/game/input/linux/linux.factor b/basis/game/input/linux/linux.factor index a1b9c57def..cd482ae604 100644 --- a/basis/game/input/linux/linux.factor +++ b/basis/game/input/linux/linux.factor @@ -42,49 +42,48 @@ M: linux-game-input-backend vibrate-controller 3drop ; CONSTANT: x>hid-bit-order { - -0 0 0 0 0 0 0 0 -0 41 30 31 32 33 34 35 -36 37 38 39 45 46 42 43 -20 26 8 21 23 28 24 12 -18 19 47 48 40 224 4 22 -7 9 10 11 13 14 15 51 -52 53 225 49 29 27 6 25 -5 17 16 54 55 56 229 85 -226 44 57 58 59 60 61 62 -63 64 65 66 67 83 71 95 -96 97 86 92 93 94 87 91 -90 89 98 99 0 0 0 68 -69 0 0 0 0 0 0 0 -88 228 84 70 0 0 74 82 -75 80 79 77 81 78 73 76 -127 129 128 102 103 0 72 0 -0 0 0 227 231 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 41 30 31 32 33 34 35 + 36 37 38 39 45 46 42 43 + 20 26 8 21 23 28 24 12 + 18 19 47 48 40 224 4 22 + 7 9 10 11 13 14 15 51 + 52 53 225 49 29 27 6 25 + 5 17 16 54 55 56 229 85 + 226 44 57 58 59 60 61 62 + 63 64 65 66 67 83 71 95 + 96 97 86 92 93 94 87 91 + 90 89 98 99 0 0 0 68 + 69 0 0 0 0 0 0 0 + 88 228 84 70 0 0 74 82 + 75 80 79 77 81 78 73 76 + 127 129 128 102 103 0 72 0 + 0 0 0 227 231 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 } : x-bits>hid-bits ( bit-array -- bit-array ) - 256 iota [ 2array ] { } 2map-as [ first ] filter [ second ] map - x>hid-bit-order [ nth ] curry map - 256 swap [ t swap pick set-nth ] each ; + 256 iota [ 2array ] { } 2map-as [ first ] filter [ second ] map + x>hid-bit-order [ nth ] curry map + 256 swap [ t swap pick set-nth ] each ; M: linux-game-input-backend read-keyboard - dpy get 256 [ XQueryKeymap drop ] keep - x-bits>hid-bits keyboard-state boa ; + dpy get 256 [ XQueryKeymap drop ] keep + x-bits>hid-bits keyboard-state boa ; M: linux-game-input-backend read-mouse 0 0 0 0 2 mouse-state boa ; diff --git a/basis/x11/xlib/xlib.factor b/basis/x11/xlib/xlib.factor index e86bb5e8c3..1c5ff2e3ef 100644 --- a/basis/x11/xlib/xlib.factor +++ b/basis/x11/xlib/xlib.factor @@ -1406,3 +1406,8 @@ X-FUNCTION: c-string setlocale ( int category, c-string name ) ; X-FUNCTION: Bool XSupportsLocale ( ) ; X-FUNCTION: c-string XSetLocaleModifiers ( c-string modifier_list ) ; + +! uncategorized xlib bindings + +X-FUNCTION: int XQueryKeymap ( Display* display, char[32] keys_return ) ; +