Status at 8-Jan-02: Ctrl-X, Ctrl-C and Ctrl-V work in combo box field as expected, that's probably clever enough for now.
| Java
JComboBox |
MSWin
CComboBox |
Gtk 1.2.9
GtkCombo |
Gtk Proposed
Bug #53579 |
Status at
8-Jan-02 Bugzilla Patch? NO |
|---|---|---|---|---|
| Navigate in - Tab | Navigate in - Tab, or Alt+mnemonic | Navigate in - Tab, arrow keys, or Alt+mnemonic |
Navigate in - Tab,
or Alt+mnemonic
|
OK |
| Navigate out - Tab, Shift+Tab (reverses direction) | Navigate out - Tab, Shift+Tab (reverses direction) | Navigate out - Tab, Shift+Tab, arrow keys. |
Navigate out - Tab
|
OK |
| Drop down list - Alt+Down arrow | Drop down list - Alt+Down arrow or F4. | Drop down list- Enter. |
Drop down list -
Ctrl+Down Arrow (for consistency with notebook keynav)
|
Ctrl+Down arrow: Not implemented, still uses Enter. Enter should do whatever pressing enter in a regular GtkEntry box does-- i.e. either activate the window's default button or move the focus to the next control, depending on the value of the widget's 'activates default button' flag. |
| Roll up list - Esc | Roll up list - Alt+Up arrow or F4. | Roll up list- Esc. |
Roll up list - Esc
or Ctrl+Up Arrow
|
Esc: OK
Ctrl+Up Arrow : not implemented |
| Default or selected action - Enter (rolls up list) | Default or selected action - Enter (rolls up list) | Default or selected action - Enter (rolls up list) | Select from list- Enter | OK |
| Navigate within list - Arrow keys | Navigate within list- Arrow keys, Home, End; additionally Shift+F8 in multi-selection boxes. | Navigate within list- Arrow keys, PgUp, PgDn. (Selects while navigating). |
Navigate within
list- Arrow keys, PgUp, PgDn, Home, End.
Ctrl+PgUp/PgDn - scroll list left/right, if required. Focus should not wrap around, system warning beep should sound whenever user tries to move focus past beginning or end of list. |
Arrow keys - OK, wraparound beep TBD
PgUp,PgDn - OK,wraparound beep TBD Home, End - Not implemented, currently
they scroll the list left/right., but left/right arrow keys already do
this as well, which is probably fine. (For consistency with other
scrolled areas, though, Ctrl+PgUp/PgDn should scroll list left/right as
well, or instead).
|
| Select from list - Enter | Select from list - Enter, Spacebar, Home, End or any printing character for single-selection boxes; additionally Ctrl/Shift+Up/Down, Ctrl/Shift+Space, Ctrl/Shift+Home/End in multi-selection boxes. | Select from list - Enter, PageUp, PageDn. Multi-selection not supported. | Select from list-
Enter or Spacebar, PageUp to select item at top of this then previous page, PageDn to select item at bottom of this then next page, Home to select first item in list, End to select last item in list, any printing character to select next item in list starting with that character. If selection is attempted beyond the current bounds of the field's contents, system warning beep should be sounded. |
Enter : OK
Spacebar: Not implemented PgUp/PgDn: OK Home/End: Not implemented, currently they scroll list left/right (see previous note) Wraparound beep - TBD |
| Cycle thru entries without posting menu - Up/Down Arrow Keys | Cycle thru entries without posting menu - Up/Down Arrow Keys | Cycle thru entries without posting menu - Up/Down Arrow Keys... but when you reach first or last entry, arrow keys revert to navigation controls and focus moves to the previous or next control instead. | Cycle thru entries without dropping down list- Up/Down
Arrow Keys, PgUp/Dn, Home/End.
When last entry is selected and Down Arrow is pressed, or first entry is selected and Up Arrow is pressed, system warning beep should sound rather than wrapping around. |
Up/Down arrow: Broken; still move focus
after first or last entry in list reached
PgUp/PgDn/Home/End: Not implemented |
| Java
JList |
MSWin
CListBox |
Gtk 1.2.9
GtkList |
Gtk Proposed
GtkTreeView Bug #53580 |
Status at
8-Jan-02 Bugzilla Patch? NO |
|---|---|---|---|---|
| Navigate in - Tab | Navigate in - Tab or Alt+mnemonic | Navigate in - Tab, Alt+mnemonic or arrow keys. |
Navigate in - Tab
or Alt+mnemonic, give focus to header first if present, then list body
with further Tab
|
OK, but currently no way to give list headers focus (using jrb's latest testreeview prog) |
| Navigate out - Tab, Shift+Tab (reverses direction) | Navigate out - Tab, Shift+Tab (reverses direction) | Navigate out- Tab, Alt+mnemonic, or Ctrl+Arrowkeys. |
Navigate out - Tab,
Alt+mnemonic
|
OK |
|
Navigate within -
U/D Arrow = Move up/down one row or line, list scrolls if necessary to show newly focused line PgUp, PgDn = Move up/down one view minus one line, the first line in view gets selection Home, Ctrl+home = move to beginning of list End, Ctrl+End = move to end of list |
Navigate within -
U/D arrow = Move up/down one row or line; list scrolls if necessary. Selects in extended selection listbox, moves focus only in multi-selection listbox. PgUp, PgDn = Move up/down one view minus one line. First line in view gets focus (MS listbox) or selection (ES listbox). Home, Ctrl+home = move focus/selection to beginning of list End, Ctrl+end = move focus/selection to end of list Printable character = cycle focus/selection through list items that start with that character Alt+Up/Down or F4 to show/hide list (dropdown lists only) |
Navigate within -
U/D arrow = Move up/down one row or line, list scrolls if necessary to show newly-focused line. PgUp, PgDn = Move up/down one view minus one line, the first line in view gets selection Enter to show/hide dropdown (dropdown lists only) |
Navigate
within -
Up/Down
Arrow = Move up/down one row or line, list scrolls if necessary to show
newly focused line
PgUp, PgDn = Move up/down one view minus one line, the first line in view
gets selection
Home, Ctrl+home = move to beginning of list End, Ctrl+End = move to end of list Focus should not wrap around, system warning beep should sound whenever user tries to move focus past beginning or end of list. |
Up/Down arrow: OK
PgUp/PgDn: broken-- first press on PgDn is moving focus one line too far, i.e. it's scrolling when it shouldn't, and PgUp seems to be moving to first item in list rather than first in current view. Also PgDn seems to "stick" sometimes, e.g. when focus hits Row 8 in jrb's testtreeview prog Home, End: OK Wraparound: Focus move is OK, system beep TBD |
| Selection (assumes list enables multiple selections) -
Ctrl+A = Select all Spacebar = make a selection, deselects previous selection Ctrl+Spacebar = Discontiguous extension, doesn't affect previous selection Shift+spacebar = contiguous selection, extends selection from previous selection point Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of list Shift+end = extend selection to end of list Shift+page down = extend selection down one view Shift+page up = extend selection up one view |
Selection -
Spacebar = make a selection. Deselects previous selection only in extended-selection listbox, not in multiple selection listbox. Ctrl+Spacebar = Discontiguous extension, doesn't affect previous selection Shift+spacebar = contiguous selection, extends selection from previous selection point Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of list Shift+end = extend selection to end of list Shift+page down = extend selection down one view Shift+page up = extend selection up one view |
Selection -
In single selection listbox, selection follows navigation. Haven't had a chance to check multi-selection listboxes yet, assuming gtk has such a thing... |
Selection (assumes list enables multiple selections) -
Ctrl+A , Ctrl+/= Select all Shift+Ctrl+A, Ctrl+\ = Deselect all Spacebar = make a selection, deselects previous selection Ctrl+Spacebar = Discontiguous extension, doesn't affect previous selection Shift+spacebar = contiguous selection, extends selection from previous selection point Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of list Ctrl+home = focus and add first item in list to discontiguous selection Shift+end = extend selection to end of list Ctrl+End = focus and add last item in list to discontigous selection Shift+page down = extend selection down one view Shift+page up = extend selection up one view Ctrl+PgUp/PgDn = select and move focus to top/bottom of view, then top/bottom of previous/next view on subsequent press Printable character string = select next visible item in list starting with that string (single-selection tree only) Printable character = select next visible item in list starting with that character (single-selection tree only) If selection is attempted beyond the current bounds of the field's contents, system warning beep should be sounded. |
Ctrl+A : OK
Ctrl+/ : Not implemented Shift-Ctrl-A: Not implemented Ctrl+\: Not implemented Spacebar: not implemented- but jrb has implemented a different model where moving focus also moves selection by default, and you hold down Ctrl+arrow to move the focus without selecting. This allows the same range of functionality as the proposal; however there is a possible usability issue as this way it's much easier to clear a carefully-composed multiple selection by mistake when trying to add a new item. Non-keynav problem: when making a multiple selection with the mouse (shift/ctrl+click), the focus indicator currently disappears Ctrl+Spacebar: OK, within the context of the model jrb has chosen Shift+Spacebar: OK Shift+Up/Down: OK Shift+Home/End: Broken-- currently only moves focus to first/last item, doesn't extend selection Ctrl+Home/End: Broken-- currently deselects your current selection first Shift+PgDn: Almost works, but initial press scrolls one line too far as mentioned above Shift+PgUp: Broken-- currently does what Shift+Home is supposed to do Ctrl+PgUp/Dn: Broken, PgUp takes you to first item in list instead of top item in view, and PgDn moves focus down one line too many. (N.B. Within the context of jrb's model, only focus should move, rather than automatically adding newly-focused item to selection as proposed) Printable character string-- not implemented, jrb has chosen to implement an interactive search box instead, by pressing Ctrl-S. This is better in that it supports input of international characters more readily, but perhaps isn't as intuitive. Typing into this box also causes the list to unnecessarily scroll around a lot, presumably just a bug. Out of bounds selection: TBD, not sure if it beeps or not... |
| Re-order columns:
not currently possible |
Re-order columns: not currently possible | Re-order columns: not currently possible | Re-order columns: when column header has keyboard focus:
Ctrl+left/right arrow moves column one position left/right Ctrl+Home/End moves column to first/last position in list/table header. |
Not currently implemented |
| Re-size columns: not currently possible |
Re-size columns: not currently possible |
Re-size columns: not currently possible | Shift+left/right arrow makes column narrower/wider (should adjust right edge of column if possible, otherwise left edge) | Not currently implemented |
| Activate column header (same as clikcking): not currently possible | Activate column header (same as clikcking): not currently possible | Activate column header (same as clikcking): not currently possible | Spacebar | Not currently implemented - currently implements Enter, but this should be used for activating default button in window, if there is one |
| Edit cell: not currently possible | Edit cell: select cell and press Enter | Edit cell: not currently possible | Edit cell: select cell and press Spacebar; Enter confirms changes, Esc cancels | OK |
| Activate selection (same as dbl-click): Enter | Activate selection (same as dbl-click): Enter | Activate selection (same as dbl-click): Enter | Activate selection (same as dbl-click): Enter | Enter: TBD |
| Java
JTree |
MSWin32
CTreeCtrl |
Gtk1.2.9
GtkTree |
Gtk Proposed
GtkTreeView Bug #53580 |
Status at
8-Jan-02 Bugzilla Patch? NO |
|---|---|---|---|---|
| Navigate in - Tab | Navigate in - Tab, or Alt+mnemonic | Navigate in - Tab, or Alt+mnemonic, give focus to header first if present, then list body with further Tab |
Navigate in - Tab,
or Alt+mnemonic
|
OK, but currently no way to give list headers focus (all header functionality e.g. sorting, re-ordering seems to have been temporarily removed however) |
| Navigate out - Tab, Shift+Tab (reverses direction) | Navigate out - Tab, Shift+Tab (reverses direction) | Navigate out - Tab, Shift+Tab (reverses direction) |
Navigate out - Tab,
or Alt+mnemonic
|
OK |
| Expand hierarchy - R Arrow Key | Expand hierarchy- right arrow opens one branch, asterisk
(on keypad) expands all branches under selected branch.
Plus sign (on keypad) expands everything under current selection back to previously-opened state, or opens only one level if it has not previously been opened. |
Expand branch - plus key (+) on keyboard or keypad expands
selected branch.
|
Expand selected branch- "+" on keyboard or keypad
Expand selected branch and all children - Shift+right arrow, or Shift+"+"
(keypad)
|
"+" : OK
Shift+"+": TBD |
| Contract hierarchy - L Arrow Key | Contract hierarchy - left arrow closes selected branch, minus sign (on keypad) closes all branches under current selection. | Collapse branch - minus key (-) on keyboard only collapses selected branch. Minus key on keypad has no effect. | Collapse selected branch - left arrow or "-"
Collapse selected branch and all children - Shift+left arrow, or Shift+"-" (keypad). |
"-": works on keyboard only, not keypad |
|
Navigate within -
U/D Arrow = Move focus up/down one tree element home = move focus to first element in tree, view is changed to show first element end = move focus to last element in tree, view is changed to show first element PgUp, PgDn = Move up/down one JViewport view, first/last focusable element in view gets focus Ctrl+page down = move right one JViewport view, last focusable component in view gets focus Ctrl+page up = move left one JViewport view, first focusable component in view gets focus |
Navigate within -
U/D arrow = select next visible object above or below current selection. Page Up/Dwn = selects the top or bottom object currently visible. Press a second time to move up or down one screen. Home/End = select first or last item in the tree. Any printing character = select next item in tree with specified name or initial letter. Repeating the character selects successive items beginning with the same character. Backspace = select the parent of the currently selected item. |
Navigate within-
U/D arrow = move to or select next visible object above or below current selection. (Is the move/select choice decided by the programmer? Different gtk apps seem to behave differently here). Page Up/Dwn = moves to or selects the top or bottom object currently visible. Press a second time to move up or down one screen. Ctrl+Home, Ctrl+End = move to or select first or last visible item in tree. |
Navigate within -
(NB: Keyboard focus box should be visible at all times) Up/Down arrow = move keyboard focus to next visible object above or below current selection (in same or different row, as appropriate), selecting that object's row if tree only allows single-selection. See also (*) below. Left/Right arrow = move keyboard focus to next/previous focusable object in selected row. Don't wrap around but play system warning beep if attempt to move focus off either end. Page Up/Dwn = move focus to the top or bottom row currently visible. Press a second time to move up or down one screen. Select and highlight rows if tree only allows single-selection. See (*) below. Home/End = move keyboard focus to first or last visible item in the tree. Selects that row if tree is single-selection only. Any printing character = move keyboard focus to next visible item in tree with specified name or initial letter, selecting its row if tree is single-selection only. Repeating the character moves focus to successive items beginning with the same character. Backspace = move keyboard focus to the parent of the currently selected item. Selects that row if tree is single-selection only. Focus should not wrap around, system warning beep should sound whenever user tries to move focus past beginning or end of tree, or the beginning or end of an indvidual row. --- (*) When moving keyboard focus to a different row, and that row has no selectable object in the same column as focus has just come from, then there's potentially 4 things we could do: i) Just assume there is a blank cell at that position in that row, and focus that ii) skip focus to the next row that has a focusable object in the correct column; iii) move focus to the leftmost selectable object in the previous/next row that contains any selectable objects; iv) move focus to the previous/next row, and to the object in column
f in that row, where f is the largest number such that 1<=f<n, and
n is the column number from which focus has moved. (A picture would
help!)
|
Up/Down arrow: focus move OK, system
beep TBD. implemented such that all rows have same no. of
colums, even if some cells empty. Also see notes on listboxes in
table above-- jrb has implemented a different model for multiple selections
than that proposed, which provides same functionality but may prove bothersome.
Left/Right arrow: moves focus OK, warning beep TBD. PgUp/PgDn: broken-- first press on PgDn is moving focus one line too far, i.e. it's scrolling when it shouldn't, and PgUp seems to be moving to first item in list rather than first in current view. Home, End: OK Printable character string-- not implemented, jrb has chosen to implement an interactive search box instead, by pressing Ctrl-S. This is better in that it supports input of international characters more readily, but perhaps isn't as intuitive. Typing into this box also causes the list to unnecessarily scroll around a lot, presumably just a bug. Backspace: OK, within
context of jrb's model
|
| Selection -
Ctrl+/ = Select all Ctrl+\ = De-select all Shift+down = extend selection down Shift+up = extend selection up Shift+home = extend selection to beginning of data Shift+end = extend selection to end of data Shift+page down = extend selection down one view Shift+page up = extend selection up one view Ctrl+Shift+page down = extend selection right one view Ctrl+Shift+page up = extend selection left one view |
Selection -
The Win32 tree view only supports single selection of items. Navigation keys therefore control selection as well.
|
Selection -
Shift+down = extend selection down Shift+up = extend selection up Shift+Ctrl+home = extend selection to beginning of data Shift+Ctrl+end = extend selection to end of data Shift+page up/down = extend selection to first/last currently-visible item. Use again to extend selection to beginning of previous page/end of next page. |
Selection -
Single-selection trees: - Ctrl+Spacebar = toggle selection of row with current keyboard focus. Printable character = focus next visible item in tree starting with that character, and select its row. Printable character string = focus next visible item in tree starting with that string, and select its row. --- Multi-selection trees: Ctrl+A, Ctrl+/= Select all Shift+Ctrl+A, Ctrl+\= De-select all Spacebar = select currently-focused item's row, deselect all other rows. If the focused item is activatable (eg checkbox), activate it at the same time. Ctrl+Spacebar = toggle selection state of currently-focused item's row. Doesn't affect selection state of any other rows, and doesn't activate the currently-focused item if it activatable (eg checkbox). Shift+Spacebar = extend row selection from last selected row to this one. Shift+down = Move keyboard focus to next row, and extend selection to include that row. See (*) above. Shift+up = Move keyboard focus to previous row, and extend selection to include that row. See (*) above. Shift+home = move keyboard focus to first selectable object in tree, and select that and all intervening rows. Shift+end = move keyboard focus to last selectable object in tree, and select that and all intervening rows. Shift+page up/down = move keyboard focus to first/last currently-visible row, selecting that and all intervening rows. Use again to extend selection to beginning of previous page/end of next page. See (*) above. Printable character = focus next visible item in tree starting with that character. No additional rows are selected. Printable character string = focus next visible item in tree starting with that string. No additional rows are selected. If selection is attempted beyond the current bounds of the field's contents, system warning beep should be sounded. |
Single-selection trees:
Ctrl+Spacebar: OK Printable character: not implemented, uses Ctrl-S to popup search box --- Multi-selection trees: Ctrl-A: OK
Shift-Ctrl-A: Not implemented Ctrl+\: Not implemented Spacebar: Almost works within context of jrb's selection model, but doesn't select row if focused cell contents are activatable (e.g. checkbox)- only activates cell contents. Ctrl-Spacebar: OK within context of jrb's model Shift+Spacebar: OK Shift+Up/Down: OK Shift+Home/End: Broken-- currently only moves focus to first/last item, doesn't extend selection Ctrl+Home/End: Broken-- currently deselects your current selection first Shift+PgDn: Almost works, but initial press scrolls one line too far as mentioned above Shift+PgUp: Broken-- currently does what Shift+Home is supposed to do Ctrl+PgUp/Dn: Broken, PgUp takes you to first item in list instead of top item in view, and PgDn moves focus down one line too many. (N.B. Within the context of jrb's model, only focus should move, rather than automatically adding newly-focused item to selection as proposed) Printable character string-- not implemented, jrb has chosen to implement an interactive search box instead, by pressing Ctrl-S. This is better in that it supports input of international characters more readily, but perhaps isn't as intuitive. Typing into this box also causes the list to unnecessarily scroll around a lot, presumably just a bug. Out of bounds selection: TBD,
not
sure if it beeps or not...
|
| Re-order columns:
not currently possible |
Re-order columns:
not currently possible |
Re-order columns:
not currently possible |
Re-order columns: when column header has keyboard focus:
Ctrl+left/right arrow moves column one position left/right Ctrl+Home/End moves column to first/last position in list/table header. |
Not currently implemented |
| Re-size columns:
not currently possible |
Re-size columns:
not currently possible |
Re-size columns:
not currently possible |
Shift+left/right arrow makes column narrower/wider (should adjust right edge of column if possible, otherwise left edge) | Not currently implemented |
| Activate column header (same as clikcking): not currently possible | Activate column header (same as clikcking): not currently possible | Activate column header (same as clikcking): not currently possible | Spacebar | Not currently implemented - currently implements Enter, but this should be used for activating default button in window, if there is one |
| Edit cell: not currently possible | Edit cell: select cell and press Enter; Enter confirms changes, Esc cancels | Edit cell: not currently possible | Edit cell: select cell and press Spacebar; Enter confirms changes, Esc cancels | OK |
| Activate selection (same as dbl-click): Enter | Activate selection (same as dbl-click): Enter | Activate selection (same as dbl-click): Enter | Activate selection (same as dbl-click): Enter | Enter: TBD |