On Sun, Oct 27, 2024 at 03:14:38PM -0400, William Bulley wrote: > I am running FreeBSD 14.1-STABLE along with xorg-7.7_3 using > a Happy Hacking keyboard. About two weeks ago my keyboard > arrow keys (UP, DOWN, LEFT, RIGHT) which appear below the > LEFT SHIFT on the left failed to work. By this I mean that > pressing any of these four keys would not allow me to move > around a web page or a text file using vi(1), etc.
paging in things from a long time ago: arrow keys mixup used to be an indication of xfree86 vs evdev XKB rules. I don't know enough about FreeBSD but might be that you're using the evdev ruleset with the old keyboard driver or the xfree86 ruleset with the evdev/libinput driver. You might find google results for this from around 2006-2009 where this was a frequent-enough bug. Cheers, Peter > This must have been caused by a change to the operating > system since I had just upgraded from 14,0-STABLE, or from > some change to the Xorg ports which change from time to > time and which I upgrade weekly if any changes occur. > > This is what I have today: > > unix% setxkbmap -print -verbose 10 > Setting verbose level to 10 > locale is C > Trying to load rules file ./rules/base... > Success. > Applied rules from base: > rules: base > model: hhk > layout: us > options: terminate:ctrl_alt_bksp > Trying to build keymap using the following components: > keycodes: xfree86+aliases(qwerty) > types: complete > compat: complete > symbols: pc+us+terminate(ctrl_alt_bksp) > geometry: hhk(basic) > xkb_keymap { > xkb_keycodes { include "xfree86+aliases(qwerty)" }; > xkb_types { include "complete" }; > xkb_compat { include "complete" }; > xkb_symbols { include "pc+us+terminate(ctrl_alt_bksp)" }; > xkb_geometry { include "hhk(basic)" }; > }; > > I have tried to determine why my arrow keys no longer "work" and > have attached some output from the xev(1) command along with the > various correct and incorrect keycode values that I have found. > > I have tried various other keyboard models (pc104, pc105, etc.) > and my arrow keys fail to work in those cases. Please advise. > > Thank you in advance. Have a great day! > > -- > William Bulley > E-MAIL: w...@umich.edu > <w...@umich.edu> > > According to the /usr/local/share/X11/xkb/keycodes/xfree86 file: > > keycode 111 is PRSC (print screen) > > keycode 116 is RWIN (right window??) > > keycode 114 is BRK (break??) > > keycode 113 is RALT (right ALT) > > > The arrow keys are labeled: PG_UP, PG_DN, HOME, and END when the > FUNCTION key IS pressed. > > > PG_UP corresponds to UP ARROW when the FUNCTION key is not pressed. > > PG_DN corresponds to DOWN ARROW when the FUNCTION key is not pressed. > > HOME corresponds to LEFT ARROW when the FUNCTION key is not pressed. > > END corresponds to RIGHT ARROW when the FUNCTION key is not pressed. > > > The keycode for PGUP is 99. > > The keycode for PGDN is 105. > > The keycode for HOME is 97. > > The keycode for END is 103. > > > The keycode for UP is 98. > > The keycode for DOWN is 104. > > The keycode for LEFT is 100. > > The keycode for RGHT is 102. > > > =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= > > > What follows is output from the xev(1) command during a running > session of xorg/x11 on FreeBSD 14.1-STABLE: > > Pressing the RETURN key: > > KeyPress event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2792066, (19,26), root:(88,95), > state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES, > " XLookupString gives 1 bytes: (0d) " > " XmbLookupString gives 1 bytes: (0d) " > XFilterEvent returns: False > > KeyRelease event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2792146, (19,26), root:(88,95), > state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES, > " XLookupString gives 1 bytes: (0d) " > XFilterEvent returns: False > > > Pressing the "UP ARROW" key: > > KeyPress event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2885680, (25,33), root:(117,125), > state 0x0, keycode 111 (keysym 0xff61, Print), same_screen YES, > XLookupString gives 0 bytes: > XmbLookupString gives 0 bytes: > XFilterEvent returns: False > > KeyRelease event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2885776, (25,33), root:(117,125), > state 0x0, keycode 111 (keysym 0xff61, Print), same_screen YES, > XLookupString gives 0 bytes: > XFilterEvent returns: False > > > Pressing the "DOWN ARROW" key: > > KeyPress event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2926224, (33,34), root:(148,149), > state 0x0, keycode 116 (keysym 0xffec, Super_R), same_screen YES, > XLookupString gives 0 bytes: > XmbLookupString gives 0 bytes: > XFilterEvent returns: False > > KeyRelease event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2926288, (33,34), root:(148,149), > state 0x40, keycode 116 (keysym 0xffec, Super_R), same_screen YES, > XLookupString gives 0 bytes: > XFilterEvent returns: False > > > Pressing the "RIGHT ARROW" key: > > KeyPress event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2970735, (33,42), root:(171,180), > state 0x0, keycode 114 (keysym 0x0, NoSymbol), same_screen YES, > XLookupString gives 0 bytes: > XmbLookupString gives 0 bytes: > XFilterEvent returns: False > > KeyRelease event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 2970815, (33,42), root:(171,180), > state 0x0, keycode 114 (keysym 0x0, NoSymbol), same_screen YES, > XLookupString gives 0 bytes: > XFilterEvent returns: False > > > Pressing the "LEFT ARROW" key: > > KeyPress event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 3008558, (34,38), root:(195,199), > state 0x0, keycode 113 (keysym 0xffea, Alt_R), same_screen YES, > XLookupString gives 0 bytes: > XmbLookupString gives 0 bytes: > XFilterEvent returns: False > > KeyRelease event, serial 32, synthetic NO, window 0x2600001, > root 0x555, subw 0x2600002, time 3008638, (34,38), root:(195,199), > state 0x8, keycode 113 (keysym 0xffea, Alt_R), same_screen YES, > XLookupString gives 0 bytes: > XFilterEvent returns: False >