src/utils.h

Tue, 01 Mar 2011 21:33:32 +0000

author
Philip Pemberton <philpem@philpem.me.uk>
date
Tue, 01 Mar 2011 21:33:32 +0000
changeset 96
45ae4c97155b
parent 89
22198d0a7bef
child 98
d1af20db5f02
permissions
-rw-r--r--

Add keyboard patch from Andrew Warkentin <andreww591 gmail com>

I fixed the keyboard in FreeBee. I looked at the keyboard driver source available on a few sites, and it appears that BEGKBD/KEY_BEGIN_KEYBOARD is only supposed to be sent after the end of mouse data, and that KLAST/KEY_LIST_END is not a separate code, but a flag that is set on the last non-KALLUP/KEY_ALL_UP code in a list. I have attached a patch that implements these changes. I have also attached a patch that adds the 60Hz timer interrupt (I'm not sure if it's totally correct, though, since the cursor blinks rather slowly).

Received-From: Andrew Warkentin <andreww591 gmail com>
Signed-Off-By: Philip Pemberton <philpem@philpem.me.uk>

philpem@88 1 #ifndef _UTILS_H
philpem@88 2 #define _UTILS_H
philpem@71 3
philpem@89 4 #include <stdio.h>
philpem@89 5
philpem@71 6 #ifndef NDEBUG
philpem@71 7 /// Log a message to stderr
philpem@71 8 # define LOG(x, ...) do { fprintf(stderr, "%s:%d:%s(): " x "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__); } while (0)
philpem@71 9 /// Log a message to stderr if 'cond' is true
philpem@71 10 # define LOG_IF(cond, x, ...) do { if (cond) fprintf(stderr, "%s:%d:%s(): " x "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__); } while (0)
philpem@71 11 #else
philpem@71 12 #define LOG(x, ...)
philpem@71 13 #define LOG_IF(cond, x, ...)
philpem@71 14 #endif
philpem@71 15
philpem@88 16 /// Get the number of elements in an array
philpem@88 17 #define NELEMS(x) (sizeof(x)/sizeof(x[0]))
philpem@88 18
philpem@71 19 #endif // _H_UTILS