From ca9105f634badf6071aa6522c23e9219abeed2a8 Mon Sep 17 00:00:00 2001 From: Antti K Date: Sat, 2 Aug 2014 18:13:53 +0200 Subject: Document keyState function Yeah, that did look a bit arcane. --- xkbcat.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xkbcat.c b/xkbcat.c index 7a39a99..bfa7eab 100644 --- a/xkbcat.c +++ b/xkbcat.c @@ -14,8 +14,12 @@ const bool DEFAULT_PRINT_UP = false; const bool DEFAULT_PRINT_TIME = false; typedef char KbBuffer[32]; + static inline bool keyState(KbBuffer b, int key) { + // Fetch the `key`-th bit from the buffer. return b[key/8] & (1<<(key%8)); + // This is because XQueryKeymap just writes a bit per key into the buffer. + // Assuming 8-bit chars here, of course. } int printUsage() { -- cgit v1.3-2-g0d8e