* [Qemu-devel] [PATCH v5 3/4] adb-keys.h: initial commit
@ 2016-03-15 17:17 Programmingkid
2016-03-15 17:43 ` Peter Maydell
0 siblings, 1 reply; 3+ messages in thread
From: Programmingkid @ 2016-03-15 17:17 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel qemu-devel
This commit implements the adb-keys.h file. It holds information on adb keycode
values.
Signed-off-by: John Arbuckle <programmingkidx@gmail.com>
---
* v5 changes
Commented out the ADB_KEY_POWER because it isn't in use. It wasn't deleted
because it might be useful in the future.
Changed the additional information link to another web page.
* v4 changes
Replaced an 'a' with 'an'.
Replaced __ADBKEYS__ with ADB_KEYS_H.
Added additional information comment with link.
Changed license to GNU GPL v2 or later.
* v3 changes
Changed name of file from MacKeys.h to adb-keys.h.
Changed name of constants from MAC_KEYS_ to ADB_KEYS_.
include/hw/input/adb-keys.h | 148 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 148 insertions(+)
create mode 100644 include/hw/input/adb-keys.h
diff --git a/include/hw/input/adb-keys.h b/include/hw/input/adb-keys.h
new file mode 100644
index 0000000..f340340
--- /dev/null
+++ b/include/hw/input/adb-keys.h
@@ -0,0 +1,148 @@
+/*
+ * QEMU System Emulator
+ *
+ * Copyright (c) 2016 John Arbuckle
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+/*
+ * adb-keys.h
+ *
+ * Provides an enum of all the Macintosh keycodes.
+ * Note: keys like Power, volume related, and eject are handled at a lower
+ * level and are not available to QEMU. That doesn't mean we can't
+ * substitute one key for another. The function keys like F1 make a good
+ * substitute for these keys. This can be done in the GTK, SDL, or Cocoa
+ * code.
+ * Additional information: http://www.archive.org/stream/apple-guide-macintosh
+ * -family-hardware/Apple_Guide_to_the_Macintosh_Family
+ * _Hardware_2e#page/n345/mode/2up - page 308
+ */
+
+#ifndef ADB_KEYS_H
+#define ADB_KEYS_H
+
+enum {
+ ADB_KEY_A = 0,
+ ADB_KEY_B = 11,
+ ADB_KEY_C = 8,
+ ADB_KEY_D = 2,
+ ADB_KEY_E = 14,
+ ADB_KEY_F = 3,
+ ADB_KEY_G = 5,
+ ADB_KEY_H = 4,
+ ADB_KEY_I = 34,
+ ADB_KEY_J = 38,
+ ADB_KEY_K = 40,
+ ADB_KEY_L = 37,
+ ADB_KEY_M = 46,
+ ADB_KEY_N = 45,
+ ADB_KEY_O = 31,
+ ADB_KEY_P = 35,
+ ADB_KEY_Q = 12,
+ ADB_KEY_R = 15,
+ ADB_KEY_S = 1,
+ ADB_KEY_T = 17,
+ ADB_KEY_U = 32,
+ ADB_KEY_V = 9,
+ ADB_KEY_W = 13,
+ ADB_KEY_X = 7,
+ ADB_KEY_Y = 16,
+ ADB_KEY_Z = 6,
+
+ ADB_KEY_0 = 29,
+ ADB_KEY_1 = 18,
+ ADB_KEY_2 = 19,
+ ADB_KEY_3 = 20,
+ ADB_KEY_4 = 21,
+ ADB_KEY_5 = 23,
+ ADB_KEY_6 = 22,
+ ADB_KEY_7 = 26,
+ ADB_KEY_8 = 28,
+ ADB_KEY_9 = 25,
+
+ ADB_KEY_GRAVE_ACCENT = 50,
+ ADB_KEY_MINUS = 27,
+ ADB_KEY_EQUAL = 24,
+ ADB_KEY_DELETE = 51,
+ ADB_KEY_CAPS_LOCK = 57,
+ ADB_KEY_TAB = 48,
+ ADB_KEY_RETURN = 36,
+ ADB_KEY_LEFT_BRACKET = 33,
+ ADB_KEY_RIGHT_BRACKET = 30,
+ ADB_KEY_BACKSLASH = 42,
+ ADB_KEY_SEMICOLON = 41,
+ ADB_KEY_APOSTROPHE = 39,
+ ADB_KEY_COMMA = 43,
+ ADB_KEY_PERIOD = 47,
+ ADB_KEY_FORWARD_SLASH = 44,
+ ADB_KEY_LEFT_SHIFT = 56,
+ ADB_KEY_RIGHT_SHIFT = 123,
+ ADB_KEY_SPACEBAR = 49,
+ ADB_KEY_LEFT_CONTROL = 54,
+ ADB_KEY_RIGHT_CONTROL = 125,
+ ADB_KEY_LEFT_OPTION = 58,
+ ADB_KEY_RIGHT_OPTION = 124,
+ ADB_KEY_LEFT_COMMAND = 55,
+ ADB_KEY_RIGHT_COMMAND = 126,
+
+ ADB_KEY_KP_0 = 82,
+ ADB_KEY_KP_1 = 83,
+ ADB_KEY_KP_2 = 84,
+ ADB_KEY_KP_3 = 85,
+ ADB_KEY_KP_4 = 86,
+ ADB_KEY_KP_5 = 87,
+ ADB_KEY_KP_6 = 88,
+ ADB_KEY_KP_7 = 89,
+ ADB_KEY_KP_8 = 91,
+ ADB_KEY_KP_9 = 92,
+ ADB_KEY_KP_PERIOD = 65,
+ ADB_KEY_KP_ENTER = 76,
+ ADB_KEY_KP_PLUS = 69,
+ ADB_KEY_KP_SUBTRACT = 78,
+ ADB_KEY_KP_MULTIPLY = 67,
+ ADB_KEY_KP_DIVIDE = 75,
+ ADB_KEY_KP_EQUAL = 81,
+ ADB_KEY_KP_CLEAR = 71,
+
+ ADB_KEY_UP = 62,
+ ADB_KEY_DOWN = 61,
+ ADB_KEY_LEFT = 59,
+ ADB_KEY_RIGHT = 60,
+
+ ADB_KEY_HELP = 114,
+ ADB_KEY_HOME = 115,
+ ADB_KEY_PAGE_UP = 116,
+ ADB_KEY_PAGE_DOWN = 121,
+ ADB_KEY_END = 119,
+ ADB_KEY_FORWARD_DELETE = 117,
+
+ ADB_KEY_ESC = 53,
+ ADB_KEY_F1 = 122,
+ ADB_KEY_F2 = 120,
+ ADB_KEY_F3 = 99,
+ ADB_KEY_F4 = 118,
+ ADB_KEY_F5 = 96,
+ ADB_KEY_F6 = 97,
+ ADB_KEY_F7 = 98,
+ ADB_KEY_F8 = 100,
+ ADB_KEY_F9 = 101,
+ ADB_KEY_F10 = 109,
+ ADB_KEY_F11 = 103,
+ ADB_KEY_F12 = 111,
+ ADB_KEY_F13 = 105,
+ ADB_KEY_F14 = 107,
+ ADB_KEY_F15 = 113,
+
+ ADB_KEY_VOLUME_UP = 72,
+ ADB_KEY_VOLUME_DOWN = 73,
+ ADB_KEY_VOLUME_MUTE = 74,
+ /* ADB_KEY_POWER = 32639, */
+};
+
+/* Could not find the value for this key. */
+/* #define ADB_KEY_EJECT */
+
+#endif /* ADB_KEYS_H */
--
2.7.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v5 3/4] adb-keys.h: initial commit
2016-03-15 17:17 [Qemu-devel] [PATCH v5 3/4] adb-keys.h: initial commit Programmingkid
@ 2016-03-15 17:43 ` Peter Maydell
2016-03-15 18:02 ` Programmingkid
0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2016-03-15 17:43 UTC (permalink / raw)
To: Programmingkid; +Cc: qemu-devel qemu-devel
On 15 March 2016 at 17:17, Programmingkid <programmingkidx@gmail.com> wrote:
> This commit implements the adb-keys.h file. It holds information on adb keycode
> values.
>
> Signed-off-by: John Arbuckle <programmingkidx@gmail.com>
> ---
> * v5 changes
> +/*
> + * adb-keys.h
> + *
> + * Provides an enum of all the Macintosh keycodes.
> + * Note: keys like Power, volume related, and eject are handled at a lower
> + * level and are not available to QEMU. That doesn't mean we can't
> + * substitute one key for another. The function keys like F1 make a good
> + * substitute for these keys. This can be done in the GTK, SDL, or Cocoa
> + * code.
> + * Additional information: http://www.archive.org/stream/apple-guide-macintosh
> + * -family-hardware/Apple_Guide_to_the_Macintosh_Family
> + * _Hardware_2e#page/n345/mode/2up - page 308
Better to have the whole URL on one line so you can just cut-n-paste
it into a web browser.
> + ADB_KEY_LEFT_CONTROL = 54,
> + ADB_KEY_RIGHT_CONTROL = 125,
> + ADB_KEY_LEFT_OPTION = 58,
> + ADB_KEY_RIGHT_OPTION = 124,
> + ADB_KEY_LEFT_COMMAND = 55,
> + ADB_KEY_RIGHT_COMMAND = 126,
Where does this one come from? The Apple doc shows the Extended Keyboard
as generating the same keycode for left and right command (0x37).
(Incidentally if we're using that doc as our official reference for
the keycodes then using hex the same as it does would be good.)
thanks
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v5 3/4] adb-keys.h: initial commit
2016-03-15 17:43 ` Peter Maydell
@ 2016-03-15 18:02 ` Programmingkid
0 siblings, 0 replies; 3+ messages in thread
From: Programmingkid @ 2016-03-15 18:02 UTC (permalink / raw)
To: Peter Maydell; +Cc: qemu-devel qemu-devel
On Mar 15, 2016, at 1:43 PM, Peter Maydell wrote:
> On 15 March 2016 at 17:17, Programmingkid <programmingkidx@gmail.com> wrote:
>> This commit implements the adb-keys.h file. It holds information on adb keycode
>> values.
>>
>> Signed-off-by: John Arbuckle <programmingkidx@gmail.com>
>> ---
>> * v5 changes
>> +/*
>> + * adb-keys.h
>> + *
>> + * Provides an enum of all the Macintosh keycodes.
>> + * Note: keys like Power, volume related, and eject are handled at a lower
>> + * level and are not available to QEMU. That doesn't mean we can't
>> + * substitute one key for another. The function keys like F1 make a good
>> + * substitute for these keys. This can be done in the GTK, SDL, or Cocoa
>> + * code.
>> + * Additional information: http://www.archive.org/stream/apple-guide-macintosh
>> + * -family-hardware/Apple_Guide_to_the_Macintosh_Family
>> + * _Hardware_2e#page/n345/mode/2up - page 308
>
> Better to have the whole URL on one line so you can just cut-n-paste
> it into a web browser.
It goes against the guidelines, but ok.
>
>> + ADB_KEY_LEFT_CONTROL = 54,
>> + ADB_KEY_RIGHT_CONTROL = 125,
>> + ADB_KEY_LEFT_OPTION = 58,
>> + ADB_KEY_RIGHT_OPTION = 124,
>> + ADB_KEY_LEFT_COMMAND = 55,
>> + ADB_KEY_RIGHT_COMMAND = 126,
>
> Where does this one come from? The Apple doc shows the Extended Keyboard
> as generating the same keycode for left and right command (0x37).
I think it came from the old pc_to_adb_keycode array. The xev command in a linux guess does correctly report that Right Super key is being pushed when ADB_KEY_RIGHT_COMMAND is set to 126. On a Mac OS guess keyboard viewer does indicate at least one of the command keys is being pushed. So this value does work.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-03-15 18:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-15 17:17 [Qemu-devel] [PATCH v5 3/4] adb-keys.h: initial commit Programmingkid
2016-03-15 17:43 ` Peter Maydell
2016-03-15 18:02 ` Programmingkid
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).