
On Mar 11, 2010, at 5:35 PM, Krzysztof Kosiński wrote:
Hello
I have never used OSX, but I know there are issues with modifier keys on it. Correct me if I'm wrong.
- Control is called Command, and is used for shortcuts
No.
Control is called "Ctl" and exists separately.
Command is used for shortcuts. I believe that Command usually maps to the Super key. Or might be Meta. I'd have to check.
- There is a different key called Control, which is used to emulate a
right click and is rarely used for shortcuts
Control is the *same* control key as on Linux, and maps as such.
But yes, control-click is to invoke a "right click" context menu.
- Left Alt is called Option and is used for shortcuts
Yes left alt is also called Option.
No, for the US layout alt is not used for shortcuts. It's often used for other characters.
- Right Alt (AltGr) is called Alt and is used for inputting diacritics
(third level chooser)
Right alt is not AltGr in a US Layout. It is simply right-alt and generally functions as the left alt.
Not all Mac keyboards have this. Noticeably most laptops have it missing.
- Shift is called Shift
The left and right shift keys are left and right shift.
I would like to know the following things, to create an initial solution for Inkscape, with the goal of including it in GTK.
- How are those keys reported to GDK, e.g. which bits in the state
field are set when they are pressed? GDK knows about Shift, Control, Mod1 (aka Alt), Super (aka Windows key), Hyper and Meta. Which of them correspond to which Mac keys?
I think Meta is often the Command/Apple/Flower key. Left alt and right alt are reported separately, and left and right shift are identifiable.
- Does the above differ in the Quartz version of GTK? I know there are
some X server preferences that can be used to alter the mapping.
Meta-w is copy in emacs. In OSX it is "close the window". For my X I do have the option set to pass those through instead of letting the OS close my editing windows.
- Is it OK to shorten "Option" as "Opt" in the UI? I know that Command
is shortened as Cmd.
It's generally shorted to "⌥" which is U+2325 http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=2325
My plan is as follows:
[SNIP of masks, macros and defines]
I've been working on this also.
One of the things we need to support is input devices. A common need is for tablets, joysticks, etc. to be able to work as modifiers. Another very common request is user assigned as Josh mentioned.
With all considerations taken in, it seems best to plan for a dynamic approach where one uses functions instead of hardcoded masks and macros. This will allow for things like per-user customizations and also hooking in support for extended input devices.
BTW, we are very unique on the input front. It's pretty much down to just us and GIMP for using extended devices on GTK, and they are even removing the stock dialog from GTK so that apps will no longer have a means to enable other than mouse emulation. Our app is giving users detailed control beyond the normal GTK app in other areas. So that is consistent with more detailed control on the keyboard front.
PS is there any way to run OSX in a virtual machine? If not, then maybe people who do have access to OSX machines could help.
Unfortunately last I looked it seemed difficult to do this. Most likely illegal unless one purchases a copy of OS X.