keyboard arrow keys not working...

Peter Hutterer peter.hutterer at who-t.net
Mon Oct 28 00:06:27 UTC 2024


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: web at umich.edu
> <web at 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
> 



More information about the xorg mailing list