summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorWilliam Hua <william@attente.ca>2014-01-08 10:58:56 -0500
committerRyan Lortie <desrt@desrt.ca>2014-01-08 17:42:19 -0500
commit2a109250d56880686f9e84860c0344c94e148cd2 (patch)
treeed298dfd8b636f3559601e4e150e58918409311a /gdk
parent92fcc31c8adb90d5092e49d0353c593cb3f712c4 (diff)
downloadgtk+-2a109250d56880686f9e84860c0344c94e148cd2.tar.gz
Move get_key_equivalent() to gdk quartz utils.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
Diffstat (limited to 'gdk')
-rw-r--r--gdk/quartz/gdkquartzutils.h2
-rw-r--r--gdk/quartz/gdkutils-quartz.c147
2 files changed, 149 insertions, 0 deletions
diff --git a/gdk/quartz/gdkquartzutils.h b/gdk/quartz/gdkquartzutils.h
index f6dcb965cb..c816bf30ee 100644
--- a/gdk/quartz/gdkquartzutils.h
+++ b/gdk/quartz/gdkquartzutils.h
@@ -32,6 +32,8 @@ GDK_AVAILABLE_IN_ALL
NSImage *gdk_quartz_pixbuf_to_ns_image_libgtk_only (GdkPixbuf *pixbuf);
GDK_AVAILABLE_IN_ALL
NSEvent *gdk_quartz_event_get_nsevent (GdkEvent *event);
+GDK_AVAILABLE_IN_3_12
+gunichar gdk_quartz_get_key_equivalent (guint key);
G_END_DECLS
diff --git a/gdk/quartz/gdkutils-quartz.c b/gdk/quartz/gdkutils-quartz.c
index d5a77d3a74..30eff8a7e1 100644
--- a/gdk/quartz/gdkutils-quartz.c
+++ b/gdk/quartz/gdkutils-quartz.c
@@ -95,3 +95,150 @@ gdk_quartz_event_get_nsevent (GdkEvent *event)
/* FIXME: If the event here is unallocated, we crash. */
return ((GdkEventPrivate *) event)->windowing_data;
}
+
+/*
+ * Code for key code conversion
+ *
+ * Copyright (C) 2009 Paul Davis
+ */
+gunichar
+gdk_quartz_get_key_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';
+}