Tab and text selection keyboard shortcut inconsistencies in Apple OSX and Linux applications
One of the things that really drives me mad when using OSX and Linux is the inconsistencies in keyboard shortcuts and menus between applications, I'm sure I'm not the only one bothered by this.
There are two main areas that I find to have problems:
1) Switching and cycling between tabs in applications that have a tabbed user interface
Almost every application I've tried has a different keyboard shortcut and different menu item to select between tabs, even applications from the same publisher have different shortcut keys!
Here's a list to demonstrate:
Safari, Window/Select next tab, ctrl + tab
Terminal, Window/Select next tab, cmd + }
Text Mate, Navigation/Next file tab, cmd + alt + right arrow
iTerm, Window/Select next tab, cmd + right arrow
Firefox, No menu items!, cmd + tab to cycle tables, cmd + alt + right arrow
Eclipse, Window/Navigation/Next editor, cmd + f6
It's almost impossible to remember what keyboard shortcut you should be pressing and you often end up either losing work or moving the cursor/focus to somewhere that you didn't intend.
2) cursor positioning and text selection
Some applications use the standard home/end keys to go to the start and end of the line, others use them to go to the top and bottom of the document
Some applications use the page up/page up keys to go up and down a page, some use them to go to the top or bottom of the document
Some applications use cmd + cursor keys to go to the start and end of a line, other applications use the keys to do something completely different.
Ok, so those are the problems I see, what can we establish to make things better?
1) Use the examples found in the applications made by the same company that makes the operating system and/or refer to their guide. In apple's case they have made multiple applications with different keyboard shortcuts, in such a case I'd look at the keyboard shortcuts in the most popular applications (in their case, Safari) and go with the same menu options and keyboard shortcuts.
If you need to navigate tabs in order and cycle between them then please use 'ctrl' (or 'cmd' on a mac keyboard) + tab and use a modifier key and the cursor left/right keys to move between tabs in order. I'd suggest using just one modifier key, preferrably 'alt' + arrow key.
2) use the standard windows conventions for cursor positioning and page navigation - many Mac and Linux users use Windows keyboards that actually have 'Home', 'End', 'Page Up', 'Page Down':
* Pressing 'Home' should go to the start of a line
* Pressing 'End' should go to the end of a line
* Pressing 'PgDn' should move page the document down one page, if the document is editable the cursor/caret should also move.
* Pressing 'PgUp' should move page the document up one page, if the document is editable the cursor/caret should also move.
* Pressing 'Shift + PgUp' should select a page worth of text before the cursor (or other document elements) and move the cursor to the start of the selection.
* Pressing 'Shift + PgDn' should select a page worth of text after the cursor (or other document elements) and move the cursor to the start of the selection.
* Pressing 'Shift + Home' should select all the text before the cursor to the start of the line and move the cursor to the start of the line
* Pressing 'Shift + End' should select all the text before the after to the end of the line and move the cursor to the end of the line
* Pressing 'Ctrl' (or 'cmd' on a mac keyboard) + 'Home' should move the cursor to the start of the document
* Pressing 'Ctrl' (or 'cmd' on a mac keyboard) + 'End' should move the cursor to the start of the document
* Pressing 'Ctrl' (or 'cmd' on a mac keyboard) + 'Shift' + 'Home' should select all the text in the document before the cursor and move the cursor to the start of the document
* Pressing 'Ctrl' (or 'cmd' on a mac keyboard) + 'Shift' + 'End' should select all the text in the document after the cursor and move the cursor to the start of the document
If you want to support other key combinations for text selection then please add those in ADDITION to the standard ones above.
Doing so will make it easy for everyone to use any application regardless of the operating system.