Skip to content
  • Rui Matos's avatar
    keyboard: Apply XKB layouts ourselves and stop relying on libgnomekbd · b6e011ad
    Rui Matos authored and Bastien Nocera's avatar Bastien Nocera committed
    libgnomekbd/xklavier aren't a good fit to have the keyboard input
    story that we want since they rely on implementation details of the
    XKB protocol to provide users with a means to switch keyboard layouts.
    
    Of note here is a) their reliance on XKB groups, of which there can be
    only up to 4, to specify the layouts the user is able to switch
    between and b) their reliance on XKB options to specify the keybinding
    to switch layouts which is a restricted set and falls outside the
    regular GNOME desktop wide keybindings management as it's implemented
    entirely on the X server side.
    
    This commit introduces the use of a shared GSettings schema from
    gsettings-desktop-schemas which will be the storage for our new
    concept of "input sources".
    
    We only handle XKB layouts as input sources for now. We do it using
    roughly the same method that setxkbmap(1) uses which should allow the
    users that want to specify their own XKB features (except layout) to
    still do so outside of GNOME (e.g. in a session startup script).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=676102
    b6e011ad