### Component Keystroke Actions for the Motif L&F

This page gives the Motif-style keystroke-actions for:

- The Applet Component
- Standard Components
- Structured Components
- Menu, Toolbar, and Tooltip Components
- Text Components
- Containers: Frames, Windows, Panes, and Icons

Note:
Where the implementation occurs in other than the obvious Look and Feel (L&F) class, the implementing class is shown in parentheses. For example: (DefaultFocusManager). Currently implemented keystrokes that are not to spec are shown in ALL CAPS.

###

### The Applet Component

Component | Action | Intended Key | Implemented
JApplet (Motif L&F) | Navigate out forward | Tab | yes (DefaultFocusManager)
Naviage out backward | Shift+Tab | yes (DefaultFocusManager)
Activate the default button (if defined) | Return | yes (JRootPane)

###

### Standard Components

Component | Action | Intended Key | Implemented
JButton (Motif L&F) | Navigate forward | Tab | yes (DefaultFocusManager)
Navigate backward | Shift+Tab | yes (DefaultFocusManager)
Activate | Return |
Spacebar | yes (BasicButtonListener)
Alt+Char accelerator key, if defined | yes (JButton)

Component | Action | Intended Key | Implemented
JCheckBox (Motif L&F) | Navigate forward | Tab | yes (DefaultFocusManager)
Navigate backward | Shift+Tab | yes (DefaultFocusManager)
Navigate within group | arrow keys |
Check | Spacebar | yes (BasicButtonListener)
Uncheck

Component | Action | Intended Key | Implemented
JRadioButton (Motif L&F) | Navigate forward | Tab | yes (DefaultFocusManager)
Navigate backward | Shift+Tab | yes (DefaultFocusManager)
Navigate within group | arrow keys |
Check | Spacebar | yes (BasicButtonListener)
Uncheck

Component | Action | Intended Key | Implemented
JToggleButton (Motif L&F) | Navigate forward | Tab | yes (DefaultFocusManager)
Navigate backward | Shift+Tab | yes (DefaultFocusManager)
Navigate within group | arrow keys |
Check | Spacebar | yes (BasicButtonListener)
Uncheck

Component | Action | Intended Key | Implemented
JComboBox (Motif L&F) | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Post menu | Down, Spacebar |
Alt+Down | yes (JComboBox)
Retract menu | Esc | yes (JComboBox)
Alt+Up | yes (JComboBox)
Toggle menu up or down | Alt+Up Alt+Down | yes (JComboBox)
Select entry with matching initial character (if not editable) | any char | yes
Move up or down | Up, Down | yes
Other navigation keys?? | See JList
Edit field | See JTextField |
Activate selection | Return | yes (JComboBox)

Component | Action | Intended Key | Implemented
JList (Motif L&F) | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Activate selection | Return |
Move within list | Up, Down | yes (JList)
Block move | PgUp, PgDn |
To beginning of list | Ctrl+Home |
To end of list | Ctrl+End |
Select all entries | Ctrl+/ |
Select an additional item | Ctrl+Spacebar |
Extend selection range up | Shift+Up |
Extend selection range down | Shift+Down |
Extend selection range to top | Shift+Home |
Extend selection range to end | Shift+End |
Block extend up | Shift+PgUp |
Block extend down | Shift+PgDn |

Component | Action | Intended Key | Implemented
JSlider (Motif L&F) | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Increase value | Up, Right | yes
Decrease value | Left, Down | yes
Minimum value | Home | yes
Maximum value | End | yes
Block increase | Ctrl+Right, Ctrl+Up | yes
Block decrease | Ctrl+Left, Ctrl+Down | yes

Component | Action | Intended Key | Implemented
JSpinner (Motif L&F) Not Yet Released | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Change value | Up, Down | yes

Component | Action | Intended Key | Implemented
JStringSpinner (Motif L&F) Not Yet Released | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Change value | Up, Down | yes

### Structured Components

Component | Action | Intended Key | Implemented
JTable (Motif L&F) | Navigate out forward | Ctrl+Tab |
Navigate out backward | Ctrl+Shift+Tab |
Move to next cell (wrap to next row) | Tab |
Right | yes
Move to previous cell (wrap to previous row) | Shift+Tab |
Left | yes
Move to cell above | Shift+Return |
Up | yes
Move to cell below | Return |
Down | yes
Block move vertical | PgUp, PgDn |
Block move left | Ctrl+PgUp |
Block move right | Ctrl+PgDn |
Move to first cell in row | Home |
Move to last cell in row | End |
Move to first cell in table | Ctrl+Home |
Move to last cell in table | Ctrl+End |
Select all cells | Ctrl+A |
Select a non-contiguous row | -none- |
Range-select | -none- |
Extend selection one row | Shift+Up, Shift+Down |
Extend selection one column | Shift+Left, Shift+Right |
Extend selection to first/last column | Shift+Home, Shift+End |
Extend selection to first/last row | -none- |
Extend selection to start/end of data | Ctrl+Shift+Home, Ctrl+Shift+End |
Block extend vertical | Shift+PgUp, Shift+PgDn |
Block extend left | Ctrl+Shift+PgUp |
Block extend right | Ctrl+Shift+PgDn |
Begin editing cell | ??? |
Edit cell | See JTextField |

Component | Action | Intended Key | Implemented
JTree (Motif L&F) | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Expand entry | Right | yes (JTree)
Collapse entry | Left | yes (JTree)
Toggle expand/collapse for entry | Return | yes (JTree)
Expand all entries | -none- | n/a
Collapse all entries | -none- | n/a
Move up/down one entry | Up, Down | yes (JTree)
Move to first entry | Home | yes (JTree)
Move to last visible entry | End | yes (JTree)
Block move vertical | PgUp, PgDn | yes (JTree)
Block move left | Ctrl+PgUp |
Block move right | Ctrl+PgDn |
Select all | Ctrl+/ |
Deselect all | Ctrl+\ |
Select a non-contiguous entry | Ctrl+Spacebar |
Range-select | Shift+Spacebar |
Extend selection up | Shift+Up |
Extend selection down | Shift+Down |
Extend selection to start of data | Shift+Home |
Extend selection to end of data | Shift+End |
Block extend vertical | Shift+PgUp, Shift+PgDn |
| Edit cell | See JTextField |

### Menu, Toolbar, and ToolTip Components

Component | Action | Intended Key | Implemented
JMenuBar (Motif L&F) | Navigate out | Esc | yes (JMenuBar)
Select first item (if no item selected) | F10 |
Select next item | Right | yes (JMenuBar)
Select previous item | Left | yes (JMenuBar)
Post menu | Up, Down |
Return | yes
Spacebar | yes (BasicButtonListener)
Alt+Char accelerator key, if defined | yes

Component | Action | Intended Key | Implemented
JMenu (Motif L&F) | Move to next item (wrap to top) | Down | yes
Move to previous item (wrap to bottom) | Up | yes
Retract menu | Esc | yes

Component | Action | Intended Key | Implemented
JMenuItem (Motif L&F) | Activate item | Return | yes
Spacebar | yes (BasicButtonListener)
Alt+Char accelerator key, if defined | yes (JMenuItem)
Post submenu | Right | yes
Retract submenu | Left | yes
Esc | yes

Component | Action | Intended Key | Implemented
JCheckBoxMenuItem (Motif L&F) | Check/Uncheck item (and retract menu) | See JMenuItem, "Activate item"

Component | Action | Intended Key | Implemented
JRadioButtonMenuItem (Motif L&F) | Check/Uncheck item (and retract menu) | See JMenuItem, "Activate item"

Component | Action | Intended Key | Implemented
JPopupMenu (Motif L&F) | Post menu | Shift+F10 |
Retract menu | Esc | yes
Move within menu | Up, Down | yes
Post submenu | Right | yes
Close submenu | Left | yes
Activate entry | Return | yes
Spacebar | yes (BasicButtonListener)

Component | Action | Intended Key | Implemented
JToolBar (Motif L&F) | Navigate out forward | ?? Tab |
Navigate out backward | ?? Shift+Tab |
Select first item (if not in toolbar) | ?? |
Select next item | ?? Right |
Select previous item | ?? Left |
Activate item | ?? Return, Spacebar |

Component | Action | Intended Key | Implemented
JToolTip (Motif L&F) | Post tip | Ctrl+F1 |
Retract tip | Esc, Ctrl+F1 |

### Text Components

Component | Action | Intended Key | Implemented
JTextField (Motif L&F) | Navigate in | Alt+Char accelerator key, if defined | yes (JTextField)
Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Move to prev/next char | Left, Right | yes (JTextComponent)
Move to prev/next word | Ctrl+Left, Ctrl+Right | no
Move to start/end of field | Home/End | yes (JTextComponent) CTRL+LEFT, CTRL+RIGHT (BasicTextUI)
Submit entry | Return | yes
Select all | Ctrl+/ |
Deselect all | Ctrl+\ |
Extend selection left/right | Shift+Left, Shift+Right | yes (BasicTextUI)
Extend selection to start/end | Shift+Home, Shift+End |
Extend selection to prev/next word | Ctrl+Shift+Left, Ctrl+Shift+Right |
Copy selection | Ctrl+Insert | yes CTRL+C (BasicTextUI)
Cut selection | Shift+Delete | yes CTRL+X (BasicTextUI)
Paste | Shift+Insert | yes CTRL+V (BasicTextUI)
Delete next character | Ctrl+D | yes
Delete previous character | Backspace | yes (JTextComponent)

Component | Action | Intended Key | Implemented
JPasswordField (Motif L&F) | Navigate, move within the field, and select | See JTextField
??Selection allowed?? |  |

Component | Action | Intended Key | Implemented
JTextArea (Motif L&F) | Navigate in | Alt+Char accelerator key, if defined | yes (JTextArea)
Navigate out forward | Ctrl+Tab |
Navigate out backward | Ctrl+Shift+Tab |
Move up one line | Up | yes (JTextComponent)
Ctrl+P | yes
Move down one line | Down | yes (JTextComponent)
Ctrl+N | yes
Move forward/back one char | Right, Left | yes (JTextComponent)
Ctrl+F, Ctrl+B | yes
Block move up | PgUp, Alt+V | yes
Block move down | PgDn, Ctrl+V | yes
Block move left/right | Ctrl+PgUp, Ctrl+PgDn |
Move to start/end of line | Home, End | no
Move to prev/next word | Ctrl+Left, Ctrl+Right | no
Move to start of text area | Ctrl+Home | HOME (JTextComponent) CTRL+LEFT(BasicTextUI)
Alt+Shift+Comma | yes
Move to end of text area | Ctrl+End | END (JTextComponent) CTRL+RIGHT (BasicTextUI)
Alt+Shift+Period | yes
Select all | Ctrl+/ |
Deselect all | Ctrl+\ |
Extend selection up/down | Shift+Up, Shift+Down |
Extend selection left/right | Shift+Left, Shift+Right | yes
Extend selection to start/end of line | Shift+Home, Shift+End |
Extend selection to start/end of text area | Ctrl+Shift+Home, Ctrl+Shift+End |
Extend selection to prev/next word | Ctrl+Shift+Left, Ctrl+Shift+Right |
Copy selection | Ctrl+Insert | yes CTRL+C (BasicTextUI)
Cut selection | Shift+Delete | yes CTRL+X (BasicTextUI)
Paste | Shift+Insert | yes CTRL+V (BasicTextUI)
Delete next character | Ctrl+D | yes
Delete | yes (JTextComponent)
Delete previous character | Backspace | yes (JTextComponent)
Insert line break | Return | yes
Insert tab | Tab | yes

Component | Action | Intended Key | Implemented
JTextPane (Motif L&F) | Navigate, move, select | See JTextArea

Component | Action | Intended Key | Implemented
JEditorPane (Motif L&F) | Navigate, move, select | See JTextArea
Move to next/prev HTML link or other focusable element | Tab, Shift+Tab |
Move out of focusable elements that accept a tab | Ctrl+Tab, Ctrl+Shift+Tab |
Activate an HTML link | Return |

### Containers: Frames, Windows, Panes, and Icons

Component | Action | Intended Key | Implemented
JDesktopPane (Motif L&F) | Navigate forward among open application windows, then desktop icons | Ctrl+Alt+F6 Alt+Tab Alt+Esc |
Navigate backward among open application windows, then desktop icons | Ctrl+Alt+Shift+F6 Alt+Shift+Tab |
Navigate forward among open associated windows | Ctrl+F6 Alt+F6 |
Navigate backward among open associated windows | Ctrl+Shift+F6 Alt+Shift+F6 |
Post menu of window-options | Shift+Esc Ctrl+Spacebar Alt+Spacebar |
Open window (when iconized) | Return |

Component | Action | Intended Key | Implemented
JDirectoryPane (Motif L&F) | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Open file | Return |
Move up/down one entry | Up, Down |
Move left/right one column | Left, Right |
Block move vertical | PgUp, PgDn |
Block move left | Ctrl+PgUp |
Block move right | Ctrl+PgDn |
Move to first item in view | -none- |
Move to last item in view | -none- |
Move to first data item | Ctrl+Home |
Move to last data item | Ctrl+end |
Move to first column | Home |
Move to last column | End |
Select all | Ctrl+/ |
Deselect all | Ctrl+\ |
Select an item | Spacebar |
Add to selection (single) | Ctrl+Spacebar |
Extend selection up/down | Shift+Up, Shift+Down |
Extend selection to start/end of line | Shift+Home, Shift+End |
Extend selection to start/end of data | Ctrl+Shift+Home, Ctrl+Shift+End |
Extend selection left/right | Shift+Left, Shift+Right |
Block extend up | Shift+PgUp |
Block extend down | Shift+PgDn |
Block extend left | Ctrl+Shift+PgUp |
Block extend right | Ctrl+Shift+PgDn |

Component | Action | Intended Key | Implemented
JOptionPane (Motif L&F) | Navigate out | Alt+F6 |
Retract dialog | Esc |
Activate the default button (if defined) | Return | yes (JRootPane)

Component | Action | Intended Key | Implemented
JDialog (Motif L&F) | Navigate out | Alt+F6 |
Retract dialog | Esc |
Activate the default button (if defined) | Return | yes (JRootPane)

Component | Action | Intended Key | Implemented
JScrollPane (Motif L&F) | Navigate out forward | Tab | yes (DefaultFocusManager)
Navigate out backward | Shift+Tab | yes (DefaultFocusManager)
Move up/down | Up, Down |
Move lerft/right | Left, Right |
Block move up/down | PgUp, PgDn |
Move to start/end of data | Ctrl+Home, Ctrl+End |
Block move right | Ctrl+PgDn |
Block move left | Ctrl+PgUp |

Component | Action | Intended Key | Implemented
JSplitPane (Motif L&F) | Navigate out forward | Ctrl+Tab |
Navigate out backward | Ctrl+Shift+Tab |
Move between panes | Tab, F6 |
Move to splitter bar | F8 |
Resize pane vertical | Up, Down |
Resize pane horizontal | Left, Right |
Resize to min/max | Home, End |

Component | Action | Intended Key | Implemented
JTabbedPane (Motif L&F) | Navigate out | Ctrl+Tab |
Move to tab left/right | Left, Right | yes (JTabbedPane)
Move to tab above/below | Up, Down | yes (JTabbedPane)
Move from tab to page | Return, Ctrl+Down |
Move from page to tab | Ctrl+Up |
Move from page to prev page | Ctrl+PgUp |
Move from page to next page | Ctrl+PgDn |

Component | Action | Intended Key | Implemented
JFrame (Motif L&F) | Navigate out | Alt+Esc |
Display window menu | Alt+Spacebar |
Activate the default button (if defined) | Return | yes (JRootPane)

Component | Action | Intended Key | Implemented
JInternalFrame (Motif L&F) | Navigate out | ?? |
Open (restore) | Return |
Display window menu | Alt+Spacebar |
Activate the default button (if defined) | Return | yes (JRootPane)

Component | Action | Intended Key | Implemented
JWindow (Motif L&F) | Activate the default button (if defined) | Return | yes (JRootPane)