Commit Graph

29 Commits

Author SHA1 Message Date
Michael Natterer
27f3fcf12c quartz: fix the mapping of GDK_KP_Enter in known_numeric_keys[]
so it will actually be used, instead of delivering GDK_Return
when it should be GDK_KP_Enter.
2012-11-20 19:12:17 +01:00
Michael Natterer
b738cf85d9 quartz: handle yet another dead tilde variant
which is delivered by the US-International keyboard layout.
2012-05-08 15:52:52 +02:00
Michael Natterer
dca75f3b93 quartz: remove excess initializers in the new modifier_keys array 2012-02-23 13:53:51 +01:00
Michael Natterer
0b24f16241 quartz: make function keys work (again?)
The F keys have no unicode mapping, and UCKeyTranslate() returns
a bogus 0x10 as mapping to unicode. Instead of checking for this
random and undocumented return value, simply assign all function
keys explicitly. This patch also splits the ill-named "known_keys"
array into "modifier_keys" and "function_keys" which is much
more obvious.
2012-02-23 13:34:01 +01:00
Michael Natterer
2e06f63743 Bug 663856 - Make option-foo accelerators use the right symbol
If the keyboard group shifting modifier is *also* a normal
accelerator modifier, we need to special case it when calling
gdk_keymap_translate_keyboard_state(), so we get the right
key symbol for accelerators (for example we want Option-O,
not Option-Ø displayed in menu items). This patch should only
affect quartz where the Alt key both shifts the group and can
be used as accel modifier, and not X11 or Win32 where AltGr
is not used for accelerators.

- fix quartz' gdk_keymap_translate_keyboard_state() to return
  the right consumed_modifiers
- add _gtk_translate_keyboard_accel_state() which does the
  special casing
- use it everywhere instead of gdk_keymap_translate_keyboard_state()
2011-11-18 12:25:03 +01:00
Michael Natterer
5a5d6d28c2 quartz: my last commit had merge junk in it, sorry 2011-09-28 19:01:01 +02:00
Michael Natterer
931a228ce0 quartz: don't filter away directly encoded 24-bit UCS characters
gdk_unicode_to_keyval(uc) returning (uc | 0x01000000) is not an
error return value but simply the way to encode 24-bit unicode
characters directly as keyvals.
2011-09-28 13:56:36 +02:00
Michael Natterer
5e602ab0f2 quartz: resolve the modifier confusion on the Mac
- map Alt/Option to MOD1
- map Command to MOD2
- map MOD2 to the virtual Meta
- improve/fix (?) group handling in gdkkeys-quartz.c
2011-09-16 15:54:03 +02:00
John Ralls
45d61a5fd6 Bug 617583 - Dead accents keys don't work in GTK+ applications on OSX
Handle dead keys in special_ucs_table and have them converted by
UCKeyTranslate(), so all dead key combinations can be entered.
Later, this should be handled in the input method, just as it's
done for X11/Win32.
2011-09-09 10:12:40 +02:00
Matthias Clasen
13d69e552d Fix a compatibility problem
It turns out that my attempt at handling Super, Hyper and Meta better
is causing problems, mostly because Alt and Meta are commonly colocated
in the modmap, and apps do a check for the Alt modifier regularly.

See e.g bug 607697.
2010-02-12 18:55:42 -05:00
Kristian Rietveld
e22de4a88e Add gdk_keymap_map_virtual_modifiers() to Quartz backend 2009-12-28 21:18:57 +01:00
Richard Hult
2c3590b47e Bug 558586 – handling of keyboard under darwin (quartz)
2008-11-12  Richard Hult  <richard@imendio.com>

	Bug 558586 – handling of keyboard under darwin (quartz)

	* gdk/quartz/gdkkeys-quartz.c: Follow up on this bug, only use the
	new API when building on 64-bit, since there are still old non-xml
	layouts used out there we don't want to break them. (For 64-bit
	those layouts doesn't work so we don't have a choice there.)

svn path=/trunk/; revision=21782
2008-11-12 12:56:17 +00:00
Richard Hult
a4088461ae Bug 558586 – handling of keyboard under darwin (quartz)
2008-11-06  Richard Hult  <richard@imendio.com>

	Bug 558586 – handling of keyboard under darwin (quartz)

	* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Patch from
	Arnaud Charlet to replace use of deprecated keyboard layout API
	with the new TIS API available in 10.5. The old code is still used
	when building for 10.4.

svn path=/trunk/; revision=21763
2008-11-06 15:35:56 +00:00
Richard Hult
4dbea21c81 Add empty stub to fix linking.
2008-10-10  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: (gdk_keymap_get_caps_lock_state)
	Add empty stub to fix linking.

svn path=/trunk/; revision=21629
2008-10-10 13:38:05 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Richard Hult
91e82e7e9e Check if gdk_unicode_to_keyval() worked before using the result. Makes
2008-05-04  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Check if
	gdk_unicode_to_keyval() worked before using the result. Makes
	function keys work, bug #530156. Also add F16 to the function key
	map.

svn path=/trunk/; revision=20071
2008-05-04 15:15:00 +00:00
Richard Hult
378511618d Remove stray semicolon after if statement. Fixes bug #530963, patch from
2008-05-04  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Remove stray
	semicolon after if statement. Fixes bug #530963, patch from Yevgen
	Muntyan.

svn path=/trunk/; revision=20069
2008-05-04 15:07:18 +00:00
Richard Hult
821432ac4e Make shift tab work with unicode layouts (e.g. all Leopard layouts), fixes
2007-11-04  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Make shift
	tab work with unicode layouts (e.g. all Leopard layouts), fixes
	bug #493404.

svn path=/trunk/; revision=18967
2007-11-04 18:11:22 +00:00
Richard Hult
9ba84faa5a Add stub.
2007-07-06  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c (gdk_keymap_have_bidi_layouts): Add
	stub.

svn path=/trunk/; revision=18387
2007-07-06 18:46:39 +00:00
Richard Hult
9e2114e629 Clean up namespaces to make the code more maintainable.
2007-04-06  Richard Hult  <richard@imendio.com>

	* gdk/quartz/: Clean up namespaces to make the code more
	maintainable.

	* gdk/quartz/gdkdrawable-quartz.c:
	* gdk/quartz/gdkgc-quartz.c: Fix bug #418384, alignment of tiled
	images, by setting the pattern phase for the CG pattern.

svn path=/trunk/; revision=17584
2007-04-06 21:12:48 +00:00
Richard Hult
7724832996 Special-case shift-tab and map it to GDK_ISO_Left_Tab, fixes bug #350806.
2006-09-06  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Special-case
	shift-tab and map it to GDK_ISO_Left_Tab, fixes bug #350806.
2006-09-06 17:29:28 +00:00
Richard Hult
7a3c18ab7b Set the window level depending on the type hint.
2006-07-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Set the
	window level depending on the type hint.

	* gdk/quartz/gdkevents-quartz.c (gdk_keyboard_grab,
	pointer_ungrab_internal): Only break the grab if the new window is
	a different one.
	(gdk_event_translate): Catch the case where the entire app loses
	focus and break any grabs. Only do implicit grabs when the event
	mask has both press and release.

	* gdk/quartz/gdkkeys-quartz.c (translate_keysym):
	* gdk/quartz/gdkselection-quartz.c:

        * gdk/quartz/GdkQuartzWindow.c
	([GdkQuartzWindow -windowDidResignKey:]): Use this to update the
	focus window instead of resignMain, fixes the case where other apps
	uses focus follows mouse (like the terminal can).
2006-07-24 10:46:21 +00:00
Richard Hult
d473868ace Fill in string, length and is_modifier for key events. Map some more keys
2006-07-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (create_key_event):
	* gdk/quartz/gdkkeys-quartz.c: (_gdk_quartz_key_event_type),
	(_gdk_quartz_key_is_modifier):
	* gdk/quartz/gdkprivate-quartz.h: Fill in string, length and
	is_modifier for key events. Map some more keys into gdk keyvals.
2006-07-17 18:39:43 +00:00
Richard Hult
da6c726ce0 Add escape to the list of special keys, to get the escape key working.
2006-07-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: Add escape to the list of special
	keys, to get the escape key working.
2006-07-17 15:43:55 +00:00
Richard Hult
2fbe2ebc9a Generate a grab broken event when appropriate. Fixes bug #346603, patch
2006-07-07  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: Generate a grab broken event when
	appropriate. Fixes bug #346603, patch from Dave Vasilevsky.

	* gdk/quartz/gdkevents-quartz.c:
	* gdk/quartz/gdkkeys-quartz.c:
	* gdk/quartz/gdkprivate-quartz.c: Another patch from Dave Vasilevsky,
	fixes bug #346605. Makes modifier key events being sent properly.
2006-07-07 20:19:22 +00:00
Anders Carlsson
2ba96a7150 Handle page up and page down.
2006-04-12  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkkeys-quartz.c:
        Handle page up and page down.
2006-04-12 09:35:34 +00:00
Richard Hult
ce823f5b28 Add more stubs.
2006-03-27  Richard Hult  <richard@imendio.com>

	* gdk/quartz: Add more stubs.
2006-03-27 10:47:29 +00:00
Anders Carlsson
617595dff2 Support non-MacRoman keyboard layouts. (#322585, Wolfgang Thaller)
2006-01-18  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkkeys-quartz.c:
        (maybe_update_keymap):
	    Support non-MacRoman keyboard layouts.
	    (#322585, Wolfgang Thaller)
2006-01-18 09:30:00 +00:00
Anders Carlsson
1097260aa7 Add quartz backend.
2005-11-21  Anders Carlsson  <andersca@imendio.com>

        * configure.in:
        * gtk/Makefile.am:
        * gdk/Makefile.am:
	* gdk/quartz/*:
	Add quartz backend.

        * docs/tools/Makefile.am:
	Only build docshooter when the X11 backend is used.

        * gtk/gtkplug-stub.c:
	Include gtkplug.h here.

        * gtk/gtksocket-stub.c:
	Include gtksocket.h here.
2005-11-22 10:03:32 +00:00