[gtk: 13/72] macos: add key equivalent helper
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 13/72] macos: add key equivalent helper
- Date: Wed, 14 Oct 2020 19:08:10 +0000 (UTC)
commit aed279ed4eaac772b09d89feb7ccd1e058612649
Author: Christian Hergert <chergert redhat com>
Date: Fri Oct 9 20:03:52 2020 -0700
macos: add key equivalent helper
This is needed by quartz code in gtk/.
gdk/macos/gdkmacoskeymap-private.h | 1 +
gdk/macos/gdkmacoskeymap.c | 147 +++++++++++++++++++++++++++++++++++++
2 files changed, 148 insertions(+)
---
diff --git a/gdk/macos/gdkmacoskeymap-private.h b/gdk/macos/gdkmacoskeymap-private.h
index 34ff21b225..ac0f2dd691 100644
--- a/gdk/macos/gdkmacoskeymap-private.h
+++ b/gdk/macos/gdkmacoskeymap-private.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
GdkMacosKeymap *_gdk_macos_keymap_new (GdkMacosDisplay *display);
GdkEventType _gdk_macos_keymap_get_event_type (NSEvent *event);
gboolean _gdk_macos_keymap_is_modifier (guint keycode);
+gunichar _gdk_macos_keymap_get_equivalent (guint key);
G_END_DECLS
diff --git a/gdk/macos/gdkmacoskeymap.c b/gdk/macos/gdkmacoskeymap.c
index 0de006f377..4d54311874 100644
--- a/gdk/macos/gdkmacoskeymap.c
+++ b/gdk/macos/gdkmacoskeymap.c
@@ -696,3 +696,150 @@ _gdk_macos_keymap_is_modifier (guint keycode)
return FALSE;
}
+
+/*
+ * Code for key code conversion
+ *
+ * Copyright (C) 2009 Paul Davis
+ */
+gunichar
+_gdk_macos_keymap_get_equivalent (guint key)
+{
+ if (key >= GDK_KEY_A && key <= GDK_KEY_Z)
+ return key + (GDK_KEY_a - GDK_KEY_A);
+
+ if (key >= GDK_KEY_space && key <= GDK_KEY_asciitilde)
+ return key;
+
+ switch (key)
+ {
+ case GDK_KEY_BackSpace:
+ return NSBackspaceCharacter;
+ case GDK_KEY_Delete:
+ return NSDeleteFunctionKey;
+ case GDK_KEY_Pause:
+ return NSPauseFunctionKey;
+ case GDK_KEY_Scroll_Lock:
+ return NSScrollLockFunctionKey;
+ case GDK_KEY_Sys_Req:
+ return NSSysReqFunctionKey;
+ case GDK_KEY_Home:
+ return NSHomeFunctionKey;
+ case GDK_KEY_Left:
+ case GDK_KEY_leftarrow:
+ return NSLeftArrowFunctionKey;
+ case GDK_KEY_Up:
+ case GDK_KEY_uparrow:
+ return NSUpArrowFunctionKey;
+ case GDK_KEY_Right:
+ case GDK_KEY_rightarrow:
+ return NSRightArrowFunctionKey;
+ case GDK_KEY_Down:
+ case GDK_KEY_downarrow:
+ return NSDownArrowFunctionKey;
+ case GDK_KEY_Page_Up:
+ return NSPageUpFunctionKey;
+ case GDK_KEY_Page_Down:
+ return NSPageDownFunctionKey;
+ case GDK_KEY_End:
+ return NSEndFunctionKey;
+ case GDK_KEY_Begin:
+ return NSBeginFunctionKey;
+ case GDK_KEY_Select:
+ return NSSelectFunctionKey;
+ case GDK_KEY_Print:
+ return NSPrintFunctionKey;
+ case GDK_KEY_Execute:
+ return NSExecuteFunctionKey;
+ case GDK_KEY_Insert:
+ return NSInsertFunctionKey;
+ case GDK_KEY_Undo:
+ return NSUndoFunctionKey;
+ case GDK_KEY_Redo:
+ return NSRedoFunctionKey;
+ case GDK_KEY_Menu:
+ return NSMenuFunctionKey;
+ case GDK_KEY_Find:
+ return NSFindFunctionKey;
+ case GDK_KEY_Help:
+ return NSHelpFunctionKey;
+ case GDK_KEY_Break:
+ return NSBreakFunctionKey;
+ case GDK_KEY_Mode_switch:
+ return NSModeSwitchFunctionKey;
+ case GDK_KEY_F1:
+ return NSF1FunctionKey;
+ case GDK_KEY_F2:
+ return NSF2FunctionKey;
+ case GDK_KEY_F3:
+ return NSF3FunctionKey;
+ case GDK_KEY_F4:
+ return NSF4FunctionKey;
+ case GDK_KEY_F5:
+ return NSF5FunctionKey;
+ case GDK_KEY_F6:
+ return NSF6FunctionKey;
+ case GDK_KEY_F7:
+ return NSF7FunctionKey;
+ case GDK_KEY_F8:
+ return NSF8FunctionKey;
+ case GDK_KEY_F9:
+ return NSF9FunctionKey;
+ case GDK_KEY_F10:
+ return NSF10FunctionKey;
+ case GDK_KEY_F11:
+ return NSF11FunctionKey;
+ case GDK_KEY_F12:
+ return NSF12FunctionKey;
+ case GDK_KEY_F13:
+ return NSF13FunctionKey;
+ case GDK_KEY_F14:
+ return NSF14FunctionKey;
+ case GDK_KEY_F15:
+ return NSF15FunctionKey;
+ case GDK_KEY_F16:
+ return NSF16FunctionKey;
+ case GDK_KEY_F17:
+ return NSF17FunctionKey;
+ case GDK_KEY_F18:
+ return NSF18FunctionKey;
+ case GDK_KEY_F19:
+ return NSF19FunctionKey;
+ case GDK_KEY_F20:
+ return NSF20FunctionKey;
+ case GDK_KEY_F21:
+ return NSF21FunctionKey;
+ case GDK_KEY_F22:
+ return NSF22FunctionKey;
+ case GDK_KEY_F23:
+ return NSF23FunctionKey;
+ case GDK_KEY_F24:
+ return NSF24FunctionKey;
+ case GDK_KEY_F25:
+ return NSF25FunctionKey;
+ case GDK_KEY_F26:
+ return NSF26FunctionKey;
+ case GDK_KEY_F27:
+ return NSF27FunctionKey;
+ case GDK_KEY_F28:
+ return NSF28FunctionKey;
+ case GDK_KEY_F29:
+ return NSF29FunctionKey;
+ case GDK_KEY_F30:
+ return NSF30FunctionKey;
+ case GDK_KEY_F31:
+ return NSF31FunctionKey;
+ case GDK_KEY_F32:
+ return NSF32FunctionKey;
+ case GDK_KEY_F33:
+ return NSF33FunctionKey;
+ case GDK_KEY_F34:
+ return NSF34FunctionKey;
+ case GDK_KEY_F35:
+ return NSF35FunctionKey;
+ default:
+ break;
+ }
+
+ return '\0';
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]