new Max OS X keymap 关注
We have introduced new keymap for Mac OS X. So any feedback is welcome.
The major change is remapping PcControl -> MacCommand and PsAlt ->
MacControl. Thanks to Erik Hanson for good advices.
First glance looks good (haven't started using it, just reviewing it compared to my custom keymap)
"Delete to Word Start" should be Option-Backspace, to match OSX native applications
Change "Edit -> New..." to something else, apple laptops do not have an insert key
Command-G to "Find Next" matches native OSX behavior
Why is "Go to Bookmark 7" Command-7 when the rest are Ctrl-#
I've modified the various editor actions to match the OSX native actions, I've attached my modified keymap (including some of the above changes)
Pretty good, takes a bit of getting used to but it works rather well.
One combo which does not work however is code->generate, this is mapped to ctrl+insert and there is no insert key.
Some things I noticed:
- ctrl-w => command-w is confusing since command-w is traditionnally associated with close window on Mac OS
- Moving between words is traditionally associated with option:
+ next word = option-right
+ previous word = option-left
+ move to end of line = command-right (sometimes end)
+ move to beginning of line = command-left (sometimes home)
+ selection is done using shift
- Meta-m (command-m) is associated with minimize to dock in OS X (even though this doesn't seem to work for Java apps)
- Close active editor should be command-m and not command-f4
I meant command-w and NOT command-m... :)
You mapped NewElement to meta-m instead of meta-n... :)
- Open file should be command-o (right it is mapped to override method)
- Traditionaly, meta-i, meta-u and meta-b are associated with font style modifications (meta-i: italic, meta-u: underline, meta-b: bold, meta-t: reverting style to plain) but I guess it doesn't really matter here... just thought you migh want to know... ;)
The real point being that ctrl-o for override should probably stay ctrl-o and ctrl-i for implement should stay ctrl-i to be consistent...
What to make the "Gotos" then?
I mapped Control-N and Control-P to Up and Down respectively to match the emacs key-combos that work in all Cocoa text fields..
yeah I agree with keeping some of the ctrl commands. Generally I think it's fine to use them for java specific things that don't really have mac equivelants. Eg, go to class, why not have that be ctrl-n? Same with go to file, why not ctrl-shift-n? Some measure of consistency with other platforms would be nice, while also minding the Mac UI guidelines. The trick I guess would be finding a reasonable compromise between the two, hence this discussion!
problem is that you already mapped meta-m to Generate... :)
I'm trying to create a modified version of your keymap... but I'm having some problems...
Seems IDEA doesn't let me add ctrl-w as a shortcut for select for at caret. It does not recognize the ke stroke...
Likewise, I wanted to use option-meta-d for a binding but it is intercepted by the OS as hide/show the Dock... :(
Sorry for the stupid question, but how do I get this keymap to test?
The problem with keeping them is that a OS X user is not used to using the ctrl key... and it will be difficult to remember which shortcuts use the ctrl key and which use meta... :(
Does your 'w' key work at all?
Go into 'System Prefs', 'Keyboard', 'Full Keyboard Access', and set "Press Control with..." to "Custom Keys" and select all weird characters.
Even if you have full keyboard access off, OS X still eats some of the keypresses (control-w / control-u specifically).
I reported as a bug to apple, but you may want to also.
Which keymap are you talking about? The one provided by IntelliJ or Peter's?
I'm curious as to how many IDEA-using OSX users are "switchers" (i am) vs longtime Mac users that are now doing Java dev on OSX.
My guess is the former. At least from people I have ran into (java developers :)
To test mine, download the file attached to the message, and then place it in ~/.IntelliJIdea/config/keymaps
Otherwise you just need IDEA build 700 to see the new default..
The new keymap that Vladimir introduced.
IDEA build 700.
Yeah, just figured that out... I will file a bug with Apple.
I am a long time Mac user who didn't use to be able to develop on Mac OS but now can thanks to OS X! :)
Attached is my modified version of the modified version... Adding in particular mapping for Open and Close and other stuff... I haven't tested it fully. I guess one could only judge of the quality of a keymap after an extensive use. YMMV, as usual! :)
Modified Again OSX.xml
After some thinking about how I'm used to write code, I found that my fingers find more easily the key that allows me to select or move between words. (muscle memory I guess)
In a well behaved OS X keymap, this key should be option since that is the key that is traditionally associated with word operations in text fields. When invoking a shortcut, I find it easier for example, not to have to change the modifier key I just hold to select a set of words to invoke an operation on these words.
To put it shortly, I would rather use option than control to invoke operations. Having to switch between control and option is too much trouble for me (I know, I'm THAT lazy! _;; ). However, the fact that option+letter can create special character is troublesome and not handled consistently across different IDEA versions.
For example, I replaced the ctrl-space shortcut by option-space because I find it easier to find the option key than the control key. Problem is that with 699 and 700, doing so not only invoke code completion but also inserts a "weird" character while it doesn't do so in Aurora... AFAIR, it didn't use to do so in versions previous to 699.
I much prefer the Aurora behavior since it suits my style better. I guess it all boils down to having IDEA consumes the events if they correspond to shortcuts.
Vladimir, why is it handled differently between Ariadna latest versions and Aurora?
I am a switcher also, although I used Macs back in the dark ages quite a bit.
"Chris Laprun" <firstname.lastname@example.org> wrote in message
Perhaps some standard should be reached, like all standard application,
editing and navigation commands could use command (er, meta) and
refactorings and other things that don't show up in many other programs
could use control.
You may want to read the User Input, Keyboard section in the Aqua Human
Gordon Tyler (Software Developer)
Quest Software <http://java.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: 416-643-4846 | Fax: 416-594-1919
Maybe you Mac guys need two major keymaps: "pure Mac" and "Win switcher"?
Just a thought :)
"peter royal" <email@example.com> wrote in message
longtime Mac users that are now doing Java dev on OSX.
peter royal wrote:
Chris Laprun wrote:
Also CommandShiftLEFT/RIGHT moves to start/end of line with selection.
And optionshiftLEFT/RIGHT moves to previous/next word with selection.
Great job in general. Thanks for the taking the trouble to do this. One minor issues:
File-Exit should probably be File-Quit and be invoked with commnad-q. (Certainly not a big deal).
peter royal <firstname.lastname@example.org> wrote: