From 11c28a962a11140692fe06e046a760bc2f0e7cb3 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sat, 9 Jul 2016 21:35:59 +0200 Subject: Use the official X.org syntax to define keyboard layouts (mga#14476) o Gnome/gdm can no longer handle our unofficial or deprecated syntax --- lib/Xconfig/parse.pm | 6 +++--- lib/Xconfig/various.pm | 1 + lib/Xconfig/xfree.pm | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) (limited to 'lib/Xconfig') diff --git a/lib/Xconfig/parse.pm b/lib/Xconfig/parse.pm index ae1f87a..338a3c7 100644 --- a/lib/Xconfig/parse.pm +++ b/lib/Xconfig/parse.pm @@ -141,19 +141,19 @@ sub _raw_to_string { my %kind_names = ( Pointer => [ qw(Protocol Device Emulate3Buttons Emulate3Timeout EmulateWheel EmulateWheelButton) ], Mouse => [ qw(DeviceName Protocol Device AlwaysCore Emulate3Buttons Emulate3Timeout EmulateWheel EmulateWheelButton) ], # Subsection in XInput - Keyboard => [ qw(Protocol Driver XkbModel XkbLayout XkbDisable) ], + Keyboard => [ qw(Protocol Driver XkbModel XkbLayout XkbVariant XkbDisable) ], Monitor => [ qw(Identifier VendorName ModelName HorizSync VertRefresh PreferredMode) ], Device => [ qw(Identifier VendorName BoardName Chipset Driver VideoRam Screen BusID DPMS power_saver AccelMethod MonitorLayout TwinViewOrientation BIOSHotkeys RenderAccel SWCursor XaaNoOffscreenPixmaps) ], Display => [ qw(Depth Modes Virtual) ], # Subsection in Device Screen => [ qw(Identifier Driver Device Monitor DefaultDepth DefaultColorDepth) ], Extensions => [ qw(Composite) ], - InputDevice => [ qw(Identifier Driver Protocol Device Type Mode XkbModel XkbLayout XkbDisable Emulate3Buttons Emulate3Timeout EmulateWheel EmulateWheelButton) ], + InputDevice => [ qw(Identifier Driver Protocol Device Type Mode XkbModel XkbLayout XkbVariant XkbDisable Emulate3Buttons Emulate3Timeout EmulateWheel EmulateWheelButton) ], WacomCursor => [ qw(Port) ], #-\ WacomStylus => [ qw(Port) ], #--> Port must be first WacomEraser => [ qw(Port) ], #-/ ServerLayout => [ qw(Identifier) ], ); -my @want_string = qw(Identifier DeviceName VendorName ModelName BoardName Driver Device Chipset Monitor Protocol XkbModel XkbLayout XkbOptions XkbCompat Load Disable ModulePath BusID PreferredMode); +my @want_string = qw(Identifier DeviceName VendorName ModelName BoardName Driver Device Chipset Monitor Protocol XkbModel XkbLayout XkbVariant XkbOptions XkbCompat Load Disable ModulePath BusID PreferredMode); %kind_names = map_each { lc $::a => [ map { lc } @$::b ] } %kind_names; @want_string = map { lc } @want_string; diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm index 6777cf2..c86439f 100644 --- a/lib/Xconfig/various.pm +++ b/lib/Xconfig/various.pm @@ -26,6 +26,7 @@ sub info { $info .= N("Disable Ctrl-Alt-Backspace: %s\n", configure_ServerFlag($raw_X, 'DontZap') eq 'False' ? N("no") : N("yes")); $info .= N("3D hardware acceleration: %s\n", translate(bool2yesno($card->{use_DRI_GLX} || $card->{DRI_GLX_SPECIAL}))); $info .= N("Keyboard layout: %s\n", $keyboard->{XkbLayout}); + $info .= N("Keyboard variant: %s\n", $keyboard->{XkbVariant}) if $keyboard->{XkbVariant}; $info .= N("Mouse type: %s\n", $mouse->{Protocol}); foreach my $monitor (@monitors) { $info .= N("Monitor: %s\n", $monitor->{ModelName}); diff --git a/lib/Xconfig/xfree.pm b/lib/Xconfig/xfree.pm index 6b284aa..b3c4c2b 100644 --- a/lib/Xconfig/xfree.pm +++ b/lib/Xconfig/xfree.pm @@ -92,7 +92,7 @@ sub set_Revision { ################################################################################ # keyboard ##################################################################### ################################################################################ -my @keyboard_fields = qw(XkbLayout XkbModel XkbDisable XkbOptions XkbCompat); +my @keyboard_fields = qw(XkbLayout XkbVariant XkbModel XkbDisable XkbOptions XkbCompat); sub get_keyboard { my ($raw_X) = @_; my $raw_kbd = _raw_get_keyboard($raw_X) or die "no keyboard section"; -- cgit v1.2.1