[Bf-blender-cvs] [e400cfe6bb6] blender-v2.82-release: WM: support keys F20-F24

Asher noreply at git.blender.org
Wed Jan 15 03:27:06 CET 2020


Commit: e400cfe6bb6e70ccae339494e76b5fd526a402ac
Author: Asher
Date:   Wed Jan 15 13:19:32 2020 +1100
Branches: blender-v2.82-release
https://developer.blender.org/rBe400cfe6bb6e70ccae339494e76b5fd526a402ac

WM: support keys F20-F24

This was already supported by GHOST on X11, WIN32.
macOS goes up to F20.

===================================================================

M	source/blender/makesrna/intern/rna_wm.c
M	source/blender/windowmanager/intern/wm_event_system.c
M	source/blender/windowmanager/wm_event_types.h

===================================================================

diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index a57be90b08c..249581d22bf 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -302,6 +302,11 @@ const EnumPropertyItem rna_enum_event_type_items[] = {
     {F17KEY, "F17", 0, "F17", ""},
     {F18KEY, "F18", 0, "F18", ""},
     {F19KEY, "F19", 0, "F19", ""},
+    {F20KEY, "F20", 0, "F20", ""},
+    {F21KEY, "F21", 0, "F21", ""},
+    {F22KEY, "F22", 0, "F22", ""},
+    {F23KEY, "F23", 0, "F23", ""},
+    {F24KEY, "F24", 0, "F24", ""},
     {PAUSEKEY, "PAUSE", 0, "Pause", ""},
     {INSERTKEY, "INSERT", 0, "Insert", "Ins"},
     {HOMEKEY, "HOME", 0, "Home", ""},
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index bc068173327..f5970e8fb61 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -4201,7 +4201,7 @@ static int convert_key(GHOST_TKey key)
   else if (key >= GHOST_kKeyNumpad0 && key <= GHOST_kKeyNumpad9) {
     return (PAD0 + ((int)key - GHOST_kKeyNumpad0));
   }
-  else if (key >= GHOST_kKeyF1 && key <= GHOST_kKeyF19) {
+  else if (key >= GHOST_kKeyF1 && key <= GHOST_kKeyF24) {
     return (F1KEY + ((int)key - GHOST_kKeyF1));
   }
   else {
diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h
index 3bd0851d60c..252eb9673ae 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -223,6 +223,11 @@ enum {
   F17KEY = 0x013c, /* 316 */
   F18KEY = 0x013d, /* 317 */
   F19KEY = 0x013e, /* 318 */
+  F20KEY = 0x013f, /* 319 */
+  F21KEY = 0x0140, /* 320 */
+  F22KEY = 0x0141, /* 321 */
+  F23KEY = 0x0142, /* 322 */
+  F24KEY = 0x0143, /* 323 */
 
   /* *** End of keyboard codes. *** */
 
@@ -347,7 +352,7 @@ enum {
 /* test whether the event is a key on the keyboard */
 #define ISKEYBOARD(event_type) \
   (((event_type) >= 0x0020 && (event_type) <= 0x00ff) || \
-   ((event_type) >= 0x012c && (event_type) <= 0x013f))
+   ((event_type) >= 0x012c && (event_type) <= 0x0143))
 
 /* test whether the event is a modifier key */
 #define ISKEYMODIFIER(event_type) \



More information about the Bf-blender-cvs mailing list