-
Notifications
You must be signed in to change notification settings - Fork 73
Keyboard
As far as I know, there are several modifiers usage styles:
- Ctrl - Windows, GNOME, KDE. Shift and Alt — used as additional modifiers.
- Command — NeXT, Apple — physically located where Alt key located at PC-style keyboard. This is essential from UX point of view.
- Alt(Meta) — WindowMaker — applications use Alt as additional modifier for quite important actions.
- Super(Win) — Windows, GNOME - used for system specific actions (window management, lock screen, dashboard, etc).
On Linux there are some applications that has it’s own keyboard usage style (Emacs, Blender, Maya). Usually it’s applications that not bound to specific DE.
This obvious that I need to use keyboard modifiers with respect to as much as possible application usage styles.
In this part of documentation I want to define some rules for applications running inside NEXTSPACE environment.
Here is the mapping of modifiers on PC keyboard based on physical location of keys on NeXT keyboard.
Key name | Physical location | Xorg keysym | NeXTSTEP/NEXTSPACE | WindowMaker |
---|---|---|---|---|
Alt | ‘Alt’ and ‘Alt Gr’ | Alt_L, Alt_R | Command | Mod1 |
Ctrl | ‘Ctrl’ | Ctrl_L, Ctrl_R | Control | Control |
Super,Win | Between Alt and Ctrl | Super_L, Super_R | Alternate | Mod4 |
Shift | Shift | Shift_L, Shift_R | Shift | Shift |
Further sections of this document uses names Control, Alternate, Command, Shift.
Command
Default modifier for NEXTSPACE applications. Mapped to the Alt. Menu item has no special symbol or image for shortcut label. All menu shortcut labels mean usage of Command + letter.
Alternate
Mapped to the Super(Win) key. Menu item shortcut labels shown with italics. Application specific shortcuts (not recommended) may use this modifier if no free letters for Command modifier shortcuts.
Control, Shift
This keys has the same meaning everywhere.
Meta
This not a specific key and has special meaning for some applications. For example Emacs in Terminal maps it to a Super. If your application will use some embedded applications don’t use Alternate+ shortcuts for application’s GUI elements (menu, popup button).
Compose Character Key
From Wikipedia: “A compose key (sometimes called multi key) is a key on a computer keyboard that indicates that the following (usually 2 or more) keystrokes trigger the insertion of an alternate character, typically a precomposed character or a symbol. For instance typing Compose followed by ~ and then n will insert ñ.”
- if you want to use some shortcuts in your application that overlapped
with shortcuts bound to menu items — your shortcuts will ignored and actions connected to menu items will be called. Application level (AppKit, menu items, popup buttons etc.) shortcuts have higher priority.
- Actions in application uses Command modifier for keyboard alternatives.
- Actions that involve desktop manipulation called with Alternate modifier.
- X Window applications usually uses CUA standard (Control or Ctrl modifier).
- If you plan to use Alternate as key modifier for shortcut in your application,
please check if this shortcut is not used for window management functions.
You cannot use these reserved characters as shortcuts for any other commands. If your application does not allow the user to open files, it will not have an Open command and must not use Command-o as a keyboard shortcuts.
Keyboard Alternative | Command | Menu | WindowMaker |
---|---|---|---|
Command-? | Help | Info | |
Command-n | New | Document | |
Command-o | Open | Document | |
Command-s | Save | Document | |
Command-a | Select All | Edit | |
Command-c | Copy | Edit | |
Command-v | Paste | Edit | |
Command-x | Cut | Edit | |
Command-z | Undo | Edit | |
Command-m | Miniaturize Window | Windows | |
Command-w | Close Window | Windows | Mod1-w |
Command-h | Hide | Main | Mod1-h |
Command-p | Main | ||
Command-q | Quit | Main | Mod1-q |
Shortcuts specified in “WindowMaker” column overlap menu item keybard alternatives. If such shortcut pressed over the GNUstep application WindowMaker do nothing with windows and send shortcut to AppKit. If such shortcut pressed over the X11 application WindowMaker process the action to application’s window similar to AppKit one.
This section is based on “Reserved Keyboard Alternatives” of “OpenStep User Interface Guidelines” document.
If your application provides a function listed in table, you must use the command and required keyboard alternative assigned to it. For example, if the application has a Find panel, you must use Command-f as the keyboard alternative for bringing it up.
If the application does not implement a listed function (it does not have a Find panel), you can assign its required keyboard alternative (Command-f) to another menu command. However, to preserve interapplication consistency, it is strongly recommended that you first try to use characters other than those on this list.
Keyboard Alternative | Command | Menu |
---|---|---|
Command-; | Check Spelling | Edit |
Command-b | Bold (Unbold) | Font |
Command-d | Find Previous | Find |
Command-e | Enter Selection | Find |
Command-f | Find Panel | Find |
Command-g | Find Next | Find |
Command-i | Italic (Unitalic) | Font |
Command-t | Font Panel | Font |
Command-C | Colors | Varies |
This section is based on “Required Keyboard Alternatives” of “OpenStep User Interface Guidelines” document.
Action | Configuration Option | Shortcut |
---|---|---|
Order front “Run” panel | RunKey | Mod4 + R |
Start new instance of application | WindowRelaunchKey | Mod4 + Shift + R |
Change ordering level of Dock | DockRaiseLowerKey | Mod4 + Shift + D |
Shade window | ShadeKey | Mod4 + KP_Substract |
Maximize window at all edges | MaximizeKey | Mod4 + KP_Add |
Hide windows of inactive applications | HideOthersKey | Mod1 + Shift + H |
Miniaturize all windows of this application | MiniaturizeAllKey | Mod1 + Shift + M |
Switch focus to the next window | FocusNextKey | Mod1 + Tab |
Switch focus to the prevoious window | FocusPrevKey | Mod1 + Shift + Tab |
The Command-m (Mod1+m) and Command-h (Mod1+h) shortcuts should work for both GNUstep and X11 applications. To make it work Workspace (WindowMaker) use this shortcuts but treat them special for GNUstep applications - does not hide or miniaturize windows and bypass shortcut to GNUstep application.
Copyright (c) Sergii Stoian