hw/arm/spitz: Avoid clash with Windows header symbol MOD_SHIFT

The Windows headers provided by MinGW define MOD_SHIFT. Avoid
it by using SPITZ_MOD_* for our constants here.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2014-06-19 18:06:24 +01:00
parent e389be1673
commit 0062609f70
1 changed files with 58 additions and 50 deletions

View File

@ -285,9 +285,9 @@ static void spitz_keyboard_keydown(SpitzKeyboardState *s, int keycode)
spitz_keyboard_sense_update(s); spitz_keyboard_sense_update(s);
} }
#define MOD_SHIFT (1 << 7) #define SPITZ_MOD_SHIFT (1 << 7)
#define MOD_CTRL (1 << 8) #define SPITZ_MOD_CTRL (1 << 8)
#define MOD_FN (1 << 9) #define SPITZ_MOD_FN (1 << 9)
#define QUEUE_KEY(c) s->fifo[(s->fifopos + s->fifolen ++) & 0xf] = c #define QUEUE_KEY(c) s->fifo[(s->fifopos + s->fifolen ++) & 0xf] = c
@ -324,21 +324,26 @@ static void spitz_keyboard_handler(void *opaque, int keycode)
} }
code = s->pre_map[mapcode = ((s->modifiers & 3) ? code = s->pre_map[mapcode = ((s->modifiers & 3) ?
(keycode | MOD_SHIFT) : (keycode | SPITZ_MOD_SHIFT) :
(keycode & ~MOD_SHIFT))]; (keycode & ~SPITZ_MOD_SHIFT))];
if (code != mapcode) { if (code != mapcode) {
#if 0 #if 0
if ((code & MOD_SHIFT) && !(s->modifiers & 1)) if ((code & SPITZ_MOD_SHIFT) && !(s->modifiers & 1)) {
QUEUE_KEY(0x2a | (keycode & 0x80)); QUEUE_KEY(0x2a | (keycode & 0x80));
if ((code & MOD_CTRL ) && !(s->modifiers & 4)) }
if ((code & SPITZ_MOD_CTRL) && !(s->modifiers & 4)) {
QUEUE_KEY(0x1d | (keycode & 0x80)); QUEUE_KEY(0x1d | (keycode & 0x80));
if ((code & MOD_FN ) && !(s->modifiers & 8)) }
if ((code & SPITZ_MOD_FN) && !(s->modifiers & 8)) {
QUEUE_KEY(0x38 | (keycode & 0x80)); QUEUE_KEY(0x38 | (keycode & 0x80));
if ((code & MOD_FN ) && (s->modifiers & 1)) }
if ((code & SPITZ_MOD_FN) && (s->modifiers & 1)) {
QUEUE_KEY(0x2a | (~keycode & 0x80)); QUEUE_KEY(0x2a | (~keycode & 0x80));
if ((code & MOD_FN ) && (s->modifiers & 2)) }
if ((code & SPITZ_MOD_FN) && (s->modifiers & 2)) {
QUEUE_KEY(0x36 | (~keycode & 0x80)); QUEUE_KEY(0x36 | (~keycode & 0x80));
}
#else #else
if (keycode & 0x80) { if (keycode & 0x80) {
if ((s->imodifiers & 1 ) && !(s->modifiers & 1)) if ((s->imodifiers & 1 ) && !(s->modifiers & 1))
@ -353,24 +358,27 @@ static void spitz_keyboard_handler(void *opaque, int keycode)
QUEUE_KEY(0x36); QUEUE_KEY(0x36);
s->imodifiers = 0; s->imodifiers = 0;
} else { } else {
if ((code & MOD_SHIFT) && !((s->modifiers | s->imodifiers) & 1)) { if ((code & SPITZ_MOD_SHIFT) &&
!((s->modifiers | s->imodifiers) & 1)) {
QUEUE_KEY(0x2a); QUEUE_KEY(0x2a);
s->imodifiers |= 1; s->imodifiers |= 1;
} }
if ((code & MOD_CTRL ) && !((s->modifiers | s->imodifiers) & 4)) { if ((code & SPITZ_MOD_CTRL) &&
!((s->modifiers | s->imodifiers) & 4)) {
QUEUE_KEY(0x1d); QUEUE_KEY(0x1d);
s->imodifiers |= 4; s->imodifiers |= 4;
} }
if ((code & MOD_FN ) && !((s->modifiers | s->imodifiers) & 8)) { if ((code & SPITZ_MOD_FN) &&
!((s->modifiers | s->imodifiers) & 8)) {
QUEUE_KEY(0x38); QUEUE_KEY(0x38);
s->imodifiers |= 8; s->imodifiers |= 8;
} }
if ((code & MOD_FN ) && (s->modifiers & 1) && if ((code & SPITZ_MOD_FN) && (s->modifiers & 1) &&
!(s->imodifiers & 0x10)) { !(s->imodifiers & 0x10)) {
QUEUE_KEY(0x2a | 0x80); QUEUE_KEY(0x2a | 0x80);
s->imodifiers |= 0x10; s->imodifiers |= 0x10;
} }
if ((code & MOD_FN ) && (s->modifiers & 2) && if ((code & SPITZ_MOD_FN) && (s->modifiers & 2) &&
!(s->imodifiers & 0x20)) { !(s->imodifiers & 0x20)) {
QUEUE_KEY(0x36 | 0x80); QUEUE_KEY(0x36 | 0x80);
s->imodifiers |= 0x20; s->imodifiers |= 0x20;
@ -402,38 +410,38 @@ static void spitz_keyboard_pre_map(SpitzKeyboardState *s)
int i; int i;
for (i = 0; i < 0x100; i ++) for (i = 0; i < 0x100; i ++)
s->pre_map[i] = i; s->pre_map[i] = i;
s->pre_map[0x02 | MOD_SHIFT ] = 0x02 | MOD_SHIFT; /* exclam */ s->pre_map[0x02 | SPITZ_MOD_SHIFT] = 0x02 | SPITZ_MOD_SHIFT; /* exclam */
s->pre_map[0x28 | MOD_SHIFT ] = 0x03 | MOD_SHIFT; /* quotedbl */ s->pre_map[0x28 | SPITZ_MOD_SHIFT] = 0x03 | SPITZ_MOD_SHIFT; /* quotedbl */
s->pre_map[0x04 | MOD_SHIFT ] = 0x04 | MOD_SHIFT; /* numbersign */ s->pre_map[0x04 | SPITZ_MOD_SHIFT] = 0x04 | SPITZ_MOD_SHIFT; /* # */
s->pre_map[0x05 | MOD_SHIFT ] = 0x05 | MOD_SHIFT; /* dollar */ s->pre_map[0x05 | SPITZ_MOD_SHIFT] = 0x05 | SPITZ_MOD_SHIFT; /* dollar */
s->pre_map[0x06 | MOD_SHIFT ] = 0x06 | MOD_SHIFT; /* percent */ s->pre_map[0x06 | SPITZ_MOD_SHIFT] = 0x06 | SPITZ_MOD_SHIFT; /* percent */
s->pre_map[0x08 | MOD_SHIFT ] = 0x07 | MOD_SHIFT; /* ampersand */ s->pre_map[0x08 | SPITZ_MOD_SHIFT] = 0x07 | SPITZ_MOD_SHIFT; /* ampersand */
s->pre_map[0x28 ] = 0x08 | MOD_SHIFT; /* apostrophe */ s->pre_map[0x28] = 0x08 | SPITZ_MOD_SHIFT; /* ' */
s->pre_map[0x0a | MOD_SHIFT ] = 0x09 | MOD_SHIFT; /* parenleft */ s->pre_map[0x0a | SPITZ_MOD_SHIFT] = 0x09 | SPITZ_MOD_SHIFT; /* ( */
s->pre_map[0x0b | MOD_SHIFT ] = 0x0a | MOD_SHIFT; /* parenright */ s->pre_map[0x0b | SPITZ_MOD_SHIFT] = 0x0a | SPITZ_MOD_SHIFT; /* ) */
s->pre_map[0x29 | MOD_SHIFT ] = 0x0b | MOD_SHIFT; /* asciitilde */ s->pre_map[0x29 | SPITZ_MOD_SHIFT] = 0x0b | SPITZ_MOD_SHIFT; /* tilde */
s->pre_map[0x03 | MOD_SHIFT ] = 0x0c | MOD_SHIFT; /* at */ s->pre_map[0x03 | SPITZ_MOD_SHIFT] = 0x0c | SPITZ_MOD_SHIFT; /* at */
s->pre_map[0xd3 ] = 0x0e | MOD_FN; /* Delete */ s->pre_map[0xd3] = 0x0e | SPITZ_MOD_FN; /* Delete */
s->pre_map[0x3a ] = 0x0f | MOD_FN; /* Caps_Lock */ s->pre_map[0x3a] = 0x0f | SPITZ_MOD_FN; /* Caps_Lock */
s->pre_map[0x07 | MOD_SHIFT ] = 0x11 | MOD_FN; /* asciicircum */ s->pre_map[0x07 | SPITZ_MOD_SHIFT] = 0x11 | SPITZ_MOD_FN; /* ^ */
s->pre_map[0x0d ] = 0x12 | MOD_FN; /* equal */ s->pre_map[0x0d] = 0x12 | SPITZ_MOD_FN; /* equal */
s->pre_map[0x0d | MOD_SHIFT ] = 0x13 | MOD_FN; /* plus */ s->pre_map[0x0d | SPITZ_MOD_SHIFT] = 0x13 | SPITZ_MOD_FN; /* plus */
s->pre_map[0x1a ] = 0x14 | MOD_FN; /* bracketleft */ s->pre_map[0x1a] = 0x14 | SPITZ_MOD_FN; /* [ */
s->pre_map[0x1b ] = 0x15 | MOD_FN; /* bracketright */ s->pre_map[0x1b] = 0x15 | SPITZ_MOD_FN; /* ] */
s->pre_map[0x1a | MOD_SHIFT ] = 0x16 | MOD_FN; /* braceleft */ s->pre_map[0x1a | SPITZ_MOD_SHIFT] = 0x16 | SPITZ_MOD_FN; /* { */
s->pre_map[0x1b | MOD_SHIFT ] = 0x17 | MOD_FN; /* braceright */ s->pre_map[0x1b | SPITZ_MOD_SHIFT] = 0x17 | SPITZ_MOD_FN; /* } */
s->pre_map[0x27 ] = 0x22 | MOD_FN; /* semicolon */ s->pre_map[0x27] = 0x22 | SPITZ_MOD_FN; /* semicolon */
s->pre_map[0x27 | MOD_SHIFT ] = 0x23 | MOD_FN; /* colon */ s->pre_map[0x27 | SPITZ_MOD_SHIFT] = 0x23 | SPITZ_MOD_FN; /* colon */
s->pre_map[0x09 | MOD_SHIFT ] = 0x24 | MOD_FN; /* asterisk */ s->pre_map[0x09 | SPITZ_MOD_SHIFT] = 0x24 | SPITZ_MOD_FN; /* asterisk */
s->pre_map[0x2b ] = 0x25 | MOD_FN; /* backslash */ s->pre_map[0x2b] = 0x25 | SPITZ_MOD_FN; /* backslash */
s->pre_map[0x2b | MOD_SHIFT ] = 0x26 | MOD_FN; /* bar */ s->pre_map[0x2b | SPITZ_MOD_SHIFT] = 0x26 | SPITZ_MOD_FN; /* bar */
s->pre_map[0x0c | MOD_SHIFT ] = 0x30 | MOD_FN; /* underscore */ s->pre_map[0x0c | SPITZ_MOD_SHIFT] = 0x30 | SPITZ_MOD_FN; /* _ */
s->pre_map[0x33 | MOD_SHIFT ] = 0x33 | MOD_FN; /* less */ s->pre_map[0x33 | SPITZ_MOD_SHIFT] = 0x33 | SPITZ_MOD_FN; /* less */
s->pre_map[0x35 ] = 0x33 | MOD_SHIFT; /* slash */ s->pre_map[0x35] = 0x33 | SPITZ_MOD_SHIFT; /* slash */
s->pre_map[0x34 | MOD_SHIFT ] = 0x34 | MOD_FN; /* greater */ s->pre_map[0x34 | SPITZ_MOD_SHIFT] = 0x34 | SPITZ_MOD_FN; /* greater */
s->pre_map[0x35 | MOD_SHIFT ] = 0x34 | MOD_SHIFT; /* question */ s->pre_map[0x35 | SPITZ_MOD_SHIFT] = 0x34 | SPITZ_MOD_SHIFT; /* question */
s->pre_map[0x49 ] = 0x48 | MOD_FN; /* Page_Up */ s->pre_map[0x49] = 0x48 | SPITZ_MOD_FN; /* Page_Up */
s->pre_map[0x51 ] = 0x50 | MOD_FN; /* Page_Down */ s->pre_map[0x51] = 0x50 | SPITZ_MOD_FN; /* Page_Down */
s->modifiers = 0; s->modifiers = 0;
s->imodifiers = 0; s->imodifiers = 0;
@ -441,9 +449,9 @@ static void spitz_keyboard_pre_map(SpitzKeyboardState *s)
s->fifolen = 0; s->fifolen = 0;
} }
#undef MOD_SHIFT #undef SPITZ_MOD_SHIFT
#undef MOD_CTRL #undef SPITZ_MOD_CTRL
#undef MOD_FN #undef SPITZ_MOD_FN
static int spitz_keyboard_post_load(void *opaque, int version_id) static int spitz_keyboard_post_load(void *opaque, int version_id)
{ {