pageup/pagedown/arrow keys and numpad
Brought to you by:
tringali
On an X session over SSH, the nedit client does not respond to the page-up/down and arrow keys. This seems to be related to the Num-Lock.
Num-Lock On - ./0 respond as ./0, but 1-9 respond as arrows page function.
Num-Lock Off - ./0 does not respond, and 0-9 respond as arrows page function.
NEdit 5.5
Sep 30, 2004
Built on: Linux, x86-64, GNU C
Built at: Mar 5 2006, 05:16:01
With Motif: 2.3.0 [@(#)Motif Version 2.3.0] (UNTESTED)
Running Motif: 2.3 [unknown]
Server: The X.Org Foundation 70000000
Visual: 16-bit TrueColor (ID 0xf0, Default)
Locale: en_US
Logged In: NO
submitted by ektoric@gmail.com
Logged In: NO
Looks like this may be related to [ 493421 ].
Per that bug's suggestion, I ran:
~]$ xprop -root | grep BIND
_MOTIF_DEFAULT_BINDINGS(STRING) = "osfActivate:<Key>KP_Enter\nosfBackSpace:<Key>BackSpace\nosfCancel:<Key>Escape\nosfCopy:Ctrl<Key>Insert\nosfCut:Shift<Key>Delete\nosfDelete:<Key>Delete\nosfBeginLine:<Key>Home\nosfBeginLine:<Key>KP_Home\nosfEndLine:<Key>End\nosfEndLine:<Key>KP_End\nosfInsert:<Key>Insert\nosfLeft:<Key>Left\nosfLeft:<Key>KP_Left\nosfMenu:Shift<Key>F10\nosfMenuBar:<Key>F10\nosfPageDown:<Key>Next\nosfPageDown:<Key>KP_Page_Down\nosfPageLeft:Ctrl<Key>Prior\nosfPageRight:Ctrl<Key>Next\nosfPageUp:<Key>Prior\nosfPageUp:<Key>KP_Page_Up\nosfPaste:Shift<Key>Insert\nosfRight:<Key>Right\nosfRight:<Key>KP_Right\nosfUp:<Key>Up\nosfUp:<Key>KP_Up\nosfDown:<Key>Down\nosfDown:<Key>KP_Down"
~]$ appres NEdit
*Frame.highlightBackground: #e6e6e6
*Frame.foreground: #000000
*Frame.activeBackground: #e6e6e6
*Frame.background: #e6e6e6
*Frame.activeForeground: #000000
*Frame.highlightColor: #000000
*XmMenuShell.background: #e6e6e6
*XmMenuShell.foreground: #000000
*XmMessageBox.background: #e6e6e6
*XmMessageBox.foreground: #000000
*Label.highlightBackground: #e6e6e6
*Label.foreground: #000000
*Label.activeBackground: #e6e6e6
*Label.background: #e6e6e6
*Label.activeForeground: #000000
*Label.highlightColor: #000000
*XmPanedWindow.background: #e6e6e6
*XmPanedWindow.foreground: #000000
*List.background: #ffffff
*List.foreground: #000000
*XmPushButton.background: #e6e6e6
*XmPushButton.foreground: #000000
*Listbox.highlightBackground: #ffffff
*Listbox.foreground: #000000
*Listbox.activeBackground: #ffffff
*Listbox.selectForeground: #ffffff
*Listbox.background: #ffffff
*Listbox.activeForeground: #000000
*Listbox.highlightColor: #000000
*Listbox.selectBackground: #4c59a6
*XmPushButtonGadget.background: #e6e6e6
*XmPushButtonGadget.foreground: #000000
*Menu.highlightBackground: #e6e6e6
*Menu.foreground: #000000
*Menu.activeBackground: #e6e6e6
*Menu.background: #e6e6e6
*Menu.activeForeground: #000000
*Menu.highlightColor: #000000
*XmRowColumn.background: #e6e6e6
*XmRowColumn.foreground: #000000
*MenuButton.background: #e6e6e6
*MenuButton.foreground: #000000
*XmSash.background: #e6e6e6
*XmSash.foreground: #000000
*Menubutton.highlightBackground: #e6e6e6
*Menubutton.foreground: #000000
*Menubutton.activeBackground: #e6e6e6
*Menubutton.background: #e6e6e6
*Menubutton.activeForeground: #000000
*Menubutton.highlightColor: #000000
*XmScrollBar.background: #e6e6e6
*XmScrollBar.foreground: #000000
*Radiobutton.highlightBackground: #e6e6e6
*Radiobutton.foreground: #000000
*Radiobutton.activeBackground: #e6e6e6
*Radiobutton.background: #e6e6e6
*Radiobutton.activeForeground: #000000
*Radiobutton.highlightColor: #000000
*XmScrolledWindow.background: #e6e6e6
*XmScrolledWindow.foreground: #000000
*Scale.highlightBackground: #e6e6e6
*Scale.foreground: #000000
*Scale.activeBackground: #e6e6e6
*Scale.background: #e6e6e6
*Scale.activeForeground: #000000
*Scale.highlightColor: #000000
*Scale.troughColor: #e6e6e6
*XmSelectionBox.background: #e6e6e6
*XmSelectionBox.foreground: #000000
*XmSeparator.background: #e6e6e6
*XmSeparator.foreground: #000000
*Scrollbar*height: 15
*Scrollbar.foreground: #000000
*Scrollbar.highlightBackground: #e6e6e6
*Scrollbar*pushThumb: false
*Scrollbar.highlightColor: #000000
*Scrollbar.troughColor: #e6e6e6
*Scrollbar.activeBackground: #e6e6e6
*Scrollbar*shadowWidth: 2
*Scrollbar*Cursor: left_ptr
*Scrollbar.activeForeground: #000000
*Scrollbar*width: 15
*Scrollbar*background: #e6e6e6
*Scrollbar*cursorName: left_ptr
*XmSeparatorGadget.background: #e6e6e6
*XmSeparatorGadget.foreground: #000000
*XmTearOffButton.background: #e6e6e6
*XmTearOffButton.foreground: #000000
*XmTearOffButtonGadget.background: #e6e6e6
*XmTearOffButtonGadget.foreground: #000000
*XmText.background: #ffffff
*XmText.foreground: #000000
*Box.background: #e6e6e6
*Box.foreground: #000000
*XmTextField.background: #ffffff
*XmTextField.foreground: #000000
*XmToggleButton.background: #e6e6e6
*XmToggleButton.foreground: #000000
*XmToggleButtonGadget.background: #e6e6e6
*XmToggleButtonGadget.foreground: #000000
*Button.highlightBackground: #e6e6e6
*Button.foreground: #000000
*Button.activeBackground: #e6e6e6
*Button.background: #e6e6e6
*Button.activeForeground: #000000
*Button.highlightColor: #000000
*SimpleMenu*background: #e6e6e6
*SimpleMenu*foreground: #000000
*SmeBSB*shadowWidth: 3
*rvplayer*authortext.background: #e6e6e6
*rvplayer*authortext.bottomShadowPixel: #ffffff
*rvplayer*authortext.topShadowPixel: #8f8f8f
*rvplayer*statustext.background: #e6e6e6
*rvplayer*statustext.foreground: #000000
*rvplayer*volumeslider.bottomShadowPixel: #ffffff
*rvplayer*volumeslider.topShadowPixel: #8f8f8f
*rvplayer*copyrighttext.background: #e6e6e6
*rvplayer*copyrighttext.bottomShadowPixel: #ffffff
*rvplayer*copyrighttext.topShadowPixel: #8f8f8f
*rvplayer*Label.BorderColor: #000000
*rvplayer*MenuButton.BorderColor: #000000
*rvplayer*MenuButton.background: #e6e6e6
*rvplayer*timeinfotext.background: #e6e6e6
*rvplayer*timeinfotext.bottomShadowPixel: #ffffff
*rvplayer*timeinfotext.foreground: #000000
*rvplayer*timeinfotext.topShadowPixel: #8f8f8f
*rvplayer*Vslider.thumbPixel: #ffffff
*rvplayer*Command.BorderColor: #000000
*rvplayer*Command.background: #e6e6e6
*rvplayer*Command.foreground: #000000
*rvplayer*SepLine.BorderColor: #e6e6e6
*rvplayer*SepLine.bottomShadowPixel: #ffffff
*rvplayer*SepLine.topShadowPixel: #8f8f8f
*rvplayer*SimpleMenu.BorderColor: #8f8f8f
*rvplayer*SimpleMenu.background: #e6e6e6
*rvplayer*SimpleMenu.foreground: #000000
*rvplayer*proptext.background: #e6e6e6
*rvplayer*proptext.foreground: #000000
*rvplayer*timeslider.bottomShadowPixel: #ffffff
*rvplayer*timeslider.foreground: #e6e6e6
*rvplayer*timeslider.thumbPixel: #ffffff
*rvplayer*timeslider.topShadowPixel: #8f8f8f
*rvplayer*SmeBSB*fgInsensitive: #ffffff
*rvplayer*statusback.background: #e6e6e6
*rvplayer*statusback.foreground: #000000
*rvplayer*titletext.background: #e6e6e6
*rvplayer*titletext.bottomShadowPixel: #ffffff
*rvplayer*titletext.topShadowPixel: #8f8f8f
*rvplayer*background: #e6e6e6
*Text.highlightBackground: #ffffff
*Text.foreground: #000000
*Text.activeBackground: #ffffff
*Text.selectForeground: #ffffff
*Text.background: #ffffff
*Text.activeForeground: #000000
*Text.highlightColor: #000000
*Text.selectBackground: #4c59a6
*Toggle.background: #e6e6e6
*Toggle.foreground: #000000
*Canvas.highlightBackground: #ffffff
*Canvas.foreground: #000000
*Canvas.activeBackground: #ffffff
*Canvas.selectforeground: #ffffff
*Canvas.background: #ffffff
*Canvas.activeForeground: #000000
*Canvas.highlightColor: #000000
*Canvas.selectbackground: #4c59a6
*Toplevel.highlightBackground: #e6e6e6
*Toplevel.foreground: #000000
*Toplevel.activeBackground: #e6e6e6
*Toplevel.background: #e6e6e6
*Toplevel.activeForeground: #000000
*Toplevel.highlightColor: #000000
*XmCascadeButton.background: #e6e6e6
*XmCascadeButton.foreground: #000000
*XmCascadeButtonGadget.background: #e6e6e6
*XmCascadeButtonGadget.foreground: #000000
*Checkbutton.highlightBackground: #e6e6e6
*Checkbutton.foreground: #000000
*Checkbutton.activeBackground: #e6e6e6
*Checkbutton.background: #e6e6e6
*Checkbutton.activeForeground: #000000
*Checkbutton.highlightColor: #000000
*XmDialogShell.background: #e6e6e6
*XmDialogShell.foreground: #000000
*Command.background: #e6e6e6
*Command.foreground: #000000
*XmFileSelectionBox.background: #e6e6e6
*XmFileSelectionBox.foreground: #000000
*Dialog.background: #e6e6e6
*Dialog.foreground: #000000
*XmForm.background: #e6e6e6
*XmForm.foreground: #000000
*Entry.highlightBackground: #ffffff
*Entry.foreground: #000000
*Entry.activeBackground: #ffffff
*Entry.selectForeground: #ffffff
*Entry.background: #ffffff
*Entry.activeForeground: #000000
*Entry.highlightColor: #000000
*Entry.selectBackground: #4c59a6
*XmFrame.background: #e6e6e6
*XmFrame.foreground: #000000
*XmLabel.background: #e6e6e6
*XmLabel.foreground: #000000
*XmLabelGadget.background: #e6e6e6
*XmLabelGadget.foreground: #000000
*Form.background: #e6e6e6
*Form.foreground: #000000
*XmList.background: #ffffff
*XmList.foreground: #000000
*beNiceToColormap: false
*ScrollbarBackground: #e6e6e6
*foreground: #000000
*borderColor: black
*background: #e6e6e6
*ShapeStyle: Rectangle
~]$
Logged In: YES
user_id=11321
Originator: NO
I've never really been able to get the keypad keys working reliably, and
this is without using remote X over ssh. I think Motif has some bad
issues here, or just doesn't bother configuring it.
Sometimes the X server doesn't report the keypad keys at all.
Try running 'xev', put the mouse into the window, and type your keypad arrow keys.
I see something like this:
KeyPress event, serial 32, synthetic NO, window 0x2c00002,
root 0x7a, subw 0x2c00003, time 3218709342, (53,46), root:(57,854),
state 0x0, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x2c00002,
root 0x7a, subw 0x2c00003, time 3218709421, (53,46), root:(57,854),
state 0x0, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 32, synthetic NO, window 0x2c00002,
root 0x7a, subw 0x2c00003, time 3218709501, (53,46), root:(57,854),
state 0x0, keycode 80 (keysym 0xff97, KP_Up), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x2c00002,
root 0x7a, subw 0x2c00003, time 3218709583, (53,46), root:(57,854),
state 0x0, keycode 80 (keysym 0xff97, KP_Up), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
But, Motif doesn't seem to know what to do with KP_Up, etc. That makes
sense since it's not in my virtual bindings. You'd have to have osfUp
mapped to both Up and KP_Up.
The virutal bindings don't look right to me:
osfActivate:<Key>KP_Enter
osfBackSpace:<Key>BackSpace
osfCancel:<Key>Escape
osfCopy:Ctrl<Key>Insert
osfCut:Shift<Key>Delete
osfDelete:<Key>Delete
osfBeginLine:<Key>Home
osfBeginLine:<Key>KP_Home
osfEndLine:<Key>End
osfEndLine:<Key>KP_End
osfInsert:<Key>Insert
osfLeft:<Key>Left
osfLeft:<Key>KP_Left
osfMenu:Shift<Key>F10
osfMenuBar:<Key>F10
osfPageDown:<Key>Next
osfPageDown:<Key>KP_Page_Down
osfPageLeft:Ctrl<Key>Prior
osfPageRight:Ctrl<Key>Next
osfPageUp:<Key>Prior
osfPageUp:<Key>KP_Page_Up
osfPaste:Shift<Key>Insert
osfRight:<Key>Right
osfRight:<Key>KP_Right
osfUp:<Key>Up
osfUp:<Key>KP_Up
osfDown:<Key>Down
osfDown:<Key>KP_Down
Note there are duplicate entires for osfUp, and others. That looks like a mistake to me.
I don't know if you coded it up, or some software vendor did. If you did, it's pretty
fixable. Use this pattern instead for multi-key bindings:
osfUp: <Key>Up,<Key>KP_Up
But heed the warning above, that I've never gotten it to work...
If the software vendor did install these weird bindings, we'll have to take it up with
them.
Logged In: NO
Please change the status of this to Closed / Invalid.
It was indeed the motif keybindings. After no idea what changed, I was trying to set the _MOTIF_DEFAULT_BINDINGS. This time, xprop -root | grep BIND with a cleaner response:
xprop -root _MOTIF_DEFAULT_BINDINGS
_MOTIF_DEFAULT_BINDINGS(STRING) = "
osfCancel:<Key>Escape,<Key>Cancel\n
osfLeft:<Key>Left\n
osfUp:<Key>Up\n
osfRight:<Key>Right\n
osfDown:<Key>Down\n
osfEndLine:<Key>End\n
osfBeginLine:<Key>Home,<Key>Begin\n
osfPageUp:<Key>Prior\n
osfPageDown:<Key>Next\n
osfBackSpace:<Key>BackSpace\n
osfDelete:<Key>Delete\n
osfInsert:<Key>Insert\n
osfAddMode:Shift<Key>F8\n
osfHelp:<Key>F1,<Key>Help\n
osfMenu:Shift<Key>F10,<Key>Menu\n
osfMenuBar:<Key>F10,Shift<Key>Menu\n
osfSelect:<Key>Select\n
osfActivate:<Key>KP_Enter,<Key>Execute\n
osfClear:<Key>Clear\n
osfUndo:<Key>Undo\n
osfSwitchDirection:Alt<Key>Return,Alt<Key>KP_Enter"
I reestablished my SSH session, and things are working great now!
Logged In: YES
user_id=11321
Originator: NO
Closed on request.