XkbSetAutoRepeatRate - Sets the attributes of the RepeatKeys control for a keyboard device


Bool XkbSetAutoRepeatRate (Display * display , unsigned int device_spec , unsigned int timeout , unsigned int interval );


  • - display
        connection to X server
  • - device_spec
        device to configure, or XkbUseCoreKbd
  • - timeout
        initial delay, ms
  • - interval
        delay between repeats, ms


The core protocol allows only control over whether or not the entire keyboard or individual keys should auto-repeat when held down. RepeatKeys is a boolean control that extends this capability by adding control over the delay until a key begins to repeat and the rate at which it repeats. RepeatKeys is coupled with the core auto-repeat control: when RepeatKeys is enabled or disabled, the core auto-repeat is enabled or disabled and vice versa. Auto-repeating keys are controlled by two attributes. The first, timeout, is the delay after the initial press of an auto-repeating key and the first generated repeat event. The second, interval, is the delay between all subsequent generated repeat events. As with all boolean controls, configuring the attributes that determine how the control operates does not automatically enable the control as a whole. XkbSetAutoRepeatRate sends a request to the X server to configure the AutoRepeat control attributes to the values specified in timeout and interval. XkbSetAutoRepeatRate does not wait for a reply; it normally returns True. Specifying a zero value for either timeout or interval causes the server to generate a BadValue protocol error. If a compatible version of the Xkb extension is not available in the server, XkbSetAutoRepeatRate returns False.


  • True
                   The XkbSetAutoRepeatRate function returns True normally.
  • False
                   The XkbSetAutoRepeatRate function returns False if a compatible version of the Xkb extension is not available in the server.



               An argument is out of range