diff options
author | marcus <marcus@FreeBSD.org> | 2009-12-07 07:03:54 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2009-12-07 07:03:54 +0800 |
commit | 68db65fca3bc93f32631a7955700d86882e2c988 (patch) | |
tree | 33841c79380b40c88eb75d195769a97b2113fe8d /x11/gdm | |
parent | 458d27eb576d599777d0254b6ca7aa3168b31ba3 (diff) | |
download | freebsd-ports-gnome-68db65fca3bc93f32631a7955700d86882e2c988.tar.gz freebsd-ports-gnome-68db65fca3bc93f32631a7955700d86882e2c988.tar.zst freebsd-ports-gnome-68db65fca3bc93f32631a7955700d86882e2c988.zip |
Add keyboard invariant support to GDM.
PR: 141143
Submitted by: Andreas Wetzel <mickey242@gmx.net>
Diffstat (limited to 'x11/gdm')
-rw-r--r-- | x11/gdm/Makefile | 2 | ||||
-rw-r--r-- | x11/gdm/files/patch-daemon_gdm-session-direct.c | 41 |
2 files changed, 42 insertions, 1 deletions
diff --git a/x11/gdm/Makefile b/x11/gdm/Makefile index 61e666cd0f02..a7b212ae9724 100644 --- a/x11/gdm/Makefile +++ b/x11/gdm/Makefile @@ -8,7 +8,7 @@ PORTNAME= gdm PORTVERSION= 2.28.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11 gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome2 diff --git a/x11/gdm/files/patch-daemon_gdm-session-direct.c b/x11/gdm/files/patch-daemon_gdm-session-direct.c new file mode 100644 index 000000000000..6f6c9df8bceb --- /dev/null +++ b/x11/gdm/files/patch-daemon_gdm-session-direct.c @@ -0,0 +1,41 @@ + +--- daemon/gdm-session-direct.c.orig 2009-12-02 15:15:33.000000000 +0100 ++++ daemon/gdm-session-direct.c 2009-12-02 15:15:41.000000000 +0100 +@@ -608,6 +608,7 @@ + char **devices; + int n_devices; + char *layout; ++ char *variant; + char *result; + + result = NULL; +@@ -635,8 +636,26 @@ + "input.xkb.layout", + NULL); + } +- result = g_strdup (layout); ++ ++ variant = libhal_device_get_property_string (ctx, ++ devices[0], ++ "input.x11_options.XkbVariant", ++ NULL); ++ ++ if (!variant) { ++ variant = libhal_device_get_property_string (ctx, ++ devices[0], ++ "input.xkb.variant", ++ NULL); ++ } ++ ++ if(layout && variant) ++ result = g_strdup_printf("%s\t%s", layout, variant); ++ else ++ result = g_strdup (layout); ++ + libhal_free_string (layout); ++ libhal_free_string (variant); + } + + libhal_free_string_array (devices); + + |