---
name: "xkbset"
section: "1"
platform: "linux"
package: "xkbset"
version: "0.8-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/xkbset"
---

# xkbset(1)

user preference utility for XKB extensions for X

## NAME

xkbset - user preference utility for XKB extensions for X

## SYNOPSIS

**xkbset** h \| *options* \| exp *expire-options* \| q \[exp\] \| w \[exp\]

where *options* are any or all of:

\[-\]{bell \| b}

\[-\]{repeatkeys *per-key\_repeat\> \| r \<per\_key\_repeat*}

perkeyrepeat *per-key\_repeat*

\[-\]{repeatkeys \| r} \[rate *repeat-delay\> \[\<repeat\_interval*\]\]

\[-\]{mousekeys \| m} \[*mk-dflt\_btn*\]

\[-\]{mousekeysaccel \| ma} \[*mk-delay\> \<mk\_interval\> \<mk\_time\_to\_max*  *mk-max\_speed\> \<mk\_curve*\]

\[-\]{accessx \| a}

\[-\]{sticky \| st} \[\[-\]twokey \| \[-\]latchlock\]...

\[-\]{slowkeys \| sl} \[*slow-keys\_delay*\]

\[-\]{bouncekeys \| bo} \[*debounce-delay*\]

\[-\]{feedback \| f} \[\[-\]dumbbell \| \[-\]led \| \[-\]feature \| \[-\]slowwarn \|  \[-\]slowpress \| \[-\]slowaccept \| \[-\]slowreject \| \[-\]slowrelease \|  \[-\]bouncereject \| \[-\]stickybeep\]...

\[-\]{overlay1 \| ov1}

\[-\]{overlay2 \| ov2}

groupswrap {redirect \| clamp \| wrap} \[*groups-wrap*\]

\[-\]ignoregrouplock

nullify \[\[-\]shift \| \[-\]lock \| \[-\]control \| \[-\]mod1 \| \[-\]mod2 \| \[-\]mod3 \| \[-\]mod4 \|  \[-\]mod5\]...

ignorelock \[\[-\]shift \| \[-\]lock \| \[-\]control \| \[-\]mod1 \| \[-\]mod2 \| \[-\]mod3 \|  \[-\]mod4 \| \[-\]mod5\]...

and where *expire-options* are any or all of:

*ax-timeout*

\[-\|=\]{bell \| b}

\[-\|=\]{repeatkeys \| r}

\[-\|=\]{mousekeys \| m}

\[-\|=\]{mousekeysaccel \| ma}

\[-\|=\]{accessx \| a}

\[-\|=\]{sticky \| st} \[\[-\|=\]twokey \| \[-\|=\]latchlock\]...

\[-\|=\]{slowkeys \| sl}

\[-\|=\]{bouncekeys \| bo}

\[-\|=\]{feedback \| f} \[\[-\|=\]dumbbell \| \[-\|=\]led \| \[-\|=\]feature \| \[-\|=\]slowwarn \|  \[-\|=\]slowpress \| \[-\|=\]slowaccept \| \[-\|=\]slowreject \| \[-\|=\]slowrelease \|  \[-\|=\]bouncereject \| \[-\|=\]stickybeep\]...

\[-\|=\]{overlay1 \| ov1}

\[-\|=\]{overlay2 \| ov2}

\[-\|=\]ignoregrouplock

## DESCRIPTION

This program can be used to set various options available in the XKB extensions.  This includes such things as  **mousekeys** where one can use the numeric pad keys to move the mouse; **stickykeys** where modifiers like control and shift will lock until the next key press (good for one finger typing); **slowkeys** where the keys will not work unless they are pressed for a certain amount of time; and **bouncekeys** in which if a key is pressed more than once rapidly, only one key press will be registered.

## OPTIONS

- **b**

  The **b** option controls whether the bell is switched on or off.

- **h**

  The **h** option (or no options) will type a rather helpful usage message - definitely more informative than this unfinished man page.

- **perkeyrepeat *hex-mask***

  With this option, *hex-mask* is a sequence of 64 hex digits, representing 32 bytes.  These bytes represent which keys will autorepeat, and which will not.  The 8n+kth key will autorepeat if the kth bit of the nth byte is set.  See also the **r** or the **repeatkey** option.

- **repeatkeys\|r \[*key-code* \| rate *delay* \[*interval*\] \]**

  The **r** or **repeatkey**  option can be used to control the autorepeat feature.  By itself, it can switch the autorepeat on or off.  Followed by a single number, it can be used to switch autorepeat on or off for that particular keycode (see also the **perkeyrepeat** option).  Followed by **rate**, it can be used to set the time in milliseconds after the key is pressed before autorepeat will start, and optionally the time in milliseconds between the key repeats.

## BUGS

In some earlier versions of X, some of the features do not work properly.  For example,  mousekeys acceleration.  Also, the **perkeyrepeat** option (or **repeatkey** followed by a key code) did not work.  These are due to bugs in the XKB extensions.  These bugs are fixed in more recent versions of X.

Also the man page is woefully incomplete.

## SEE ALSO

[xset(1)](/xset/1.md)

## AUTHOR

Stephen Montgomery-Smith, University of Missouri
