From 5acda3eaeabae9045609539303a8c12c4ce401f1 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 25 Apr 2016 12:01:08 +0200 Subject: merge with latest dev version --- .../etc/systemd/system/alsa-default-card.service | 11 + .../alsa-default-card.service | 1 + .../data/opt/openslx/scripts/alsa-default_card | 42 + core/modules/alsa/module.build | 19 + core/modules/alsa/module.conf | 8 + core/modules/alsa/module.conf.debian | 10 + core/modules/alsa/module.conf.fedora | 13 + core/modules/alsa/module.conf.opensuse | 10 + core/modules/alsa/module.conf.scientific | 12 + core/modules/alsa/module.conf.ubuntu | 7 + core/modules/alsa/module.conf.ubuntu.12 | 6 + .../data/etc/X11/Xsession.d/98-modesetter-wrapper | 5 + .../etc/X11/Xsession.d/99-beamergui-starter_script | 2 + .../data/opt/openslx/scripts/beamergui-mode_setter | 165 + .../vmchooser/sessionstart.d/99-kill_beamergui | 3 + core/modules/beamergui/module.build | 27 + core/modules/beamergui/module.conf | 9 + core/modules/beamergui/module.conf.debian | 8 + core/modules/beamergui/module.conf.fedora | 8 + core/modules/beamergui/module.conf.opensuse | 8 + core/modules/beamergui/module.conf.ubuntu | 8 + .../data/etc/X11/xorg.conf.d/90-keytable.conf | 5 + core/modules/brazilian/data/etc/default/locale | 1 + .../load-brazilian-keymap.service | 10 + .../systemd/system/load-brazilian-keymap.service | 10 + ...azilian_qwerty_compose_keyboard_translation.map | 8568 ++++++++++++++++++++ .../brazilian_qwerty_keyboard_translation.map | 8500 +++++++++++++++++++ .../openslx/scripts/systemd-load_brazilian_keymaps | 22 + core/modules/brazilian/module.build | 40 + core/modules/brazilian/module.conf | 5 + core/modules/brazilian/module.conf.debian | 10 + core/modules/brazilian/module.conf.opensuse | 13 + core/modules/brazilian/module.conf.scientific | 8 + core/modules/brazilian/module.conf.ubuntu | 12 + core/modules/busybox/fbsplash-center.patch | 85 + core/modules/busybox/fbsplash-fillbg.patch | 74 + core/modules/busybox/module.build | 30 + core/modules/busybox/module.conf | 7 + core/modules/busybox/module.conf.centos | 4 + core/modules/busybox/openslx-busybox-config | 1038 +++ core/modules/consolekit/TODO | 1 + .../basic.target.wants/console-kit-daemon.service | 1 + .../etc/systemd/system/console-kit-daemon.service | 8 + .../org.freedesktop.ConsoleKit.service | 6 + core/modules/consolekit/module.build | 28 + core/modules/consolekit/module.conf | 17 + core/modules/consolekit/module.conf.debian | 6 + core/modules/consolekit/module.conf.opensuse | 8 + core/modules/consolekit/module.conf.ubuntu | 9 + .../consolekit/templates/consolekit.dbus.service | 6 + .../templates/consolekit.systemd.service | 9 + .../system/basic.target.wants/cpu-governor.service | 1 + .../data/etc/systemd/system/cpu-governor.service | 6 + .../data/opt/openslx/scripts/systemd-cpu_governor | 62 + core/modules/cpugovernor/module.build | 11 + core/modules/cpugovernor/module.conf | 3 + core/modules/cron/data/etc/cron.d/.placeholder | 2 + .../cron/data/etc/systemd/system/cron.service | 10 + .../system/multi-user.target.wants/cron.service | 1 + .../cron/data/opt/openslx/scripts/cron-sendmail | 30 + core/modules/cron/module.build | 32 + core/modules/cron/module.conf | 5 + core/modules/cups/data/etc/cups/cupsd.conf | 143 + .../cups/data/etc/systemd/system/cups.service | 9 + .../system/network.target.wants/cups.service | 1 + core/modules/cups/module.build | 24 + core/modules/cups/module.conf | 13 + core/modules/cups/module.conf.debian | 10 + core/modules/cups/module.conf.fedora | 12 + core/modules/cups/module.conf.opensuse | 12 + core/modules/cups/module.conf.opensuse.13.2 | 12 + core/modules/cups/module.conf.ubuntu | 10 + core/modules/cups/module.conf.ubuntu.12 | 16 + core/modules/cups/module.conf.ubuntu.13 | 12 + core/modules/cups/module.conf.ubuntu.13.10 | 12 + core/modules/cups/module.conf.ubuntu.14 | 18 + core/modules/cups/module.conf.ubuntu.16 | 18 + .../etc/dbus-1/system.d/99-nsa-prism-module.conf | 14 + .../dbus/data/etc/systemd/system/dbus.socket | 5 + .../system/multi-user.target.wants/dbus.service | 1 + .../system/sockets.target.wants/dbus.socket | 1 + core/modules/dbus/module.build | 65 + core/modules/dbus/module.conf | 16 + core/modules/dbus/module.conf.centos | 4 + core/modules/dbus/module.conf.debian | 9 + core/modules/dbus/module.conf.fedora | 4 + core/modules/dbus/module.conf.opensuse | 4 + core/modules/dbus/module.conf.ubuntu | 7 + core/modules/dbus/module.conf.ubuntu.16 | 9 + core/modules/dbus/templates/dbus.service | 13 + core/modules/debug/data/addon-init | 4 + .../etc/systemd/system/debug-udevd_logger.service | 8 + .../debug-udevd_logger.service | 1 + .../debug/data/opt/openslx/bin/debug_report | 98 + .../opt/openslx/scripts/systemd-debug_udevd_logger | 2 + core/modules/debug/module.build | 20 + core/modules/debug/module.conf | 18 + core/modules/debug/module.conf.debian | 7 + core/modules/debug/module.conf.opensuse | 11 + core/modules/debug/module.conf.ubuntu | 7 + core/modules/dhcpc-busybox/README | 7 + .../data/etc/systemd/system/dhcpc@.service | 1 + .../data/etc/systemd/system/udhcpc@.service | 10 + .../dhcpc-busybox/data/etc/tmpfiles.d/udhcpc.conf | 1 + .../data/opt/openslx/scripts/systemd-udhcpc++ | 20 + .../data/opt/openslx/scripts/udhcpc-openslx | 254 + core/modules/dhcpc-busybox/module.build | 13 + core/modules/dhcpc-busybox/module.conf | 1 + core/modules/dnbd3/TODO | 1 + core/modules/dnbd3/data/etc/fuse.conf | 8 + .../data/etc/systemd/system/setup-dnbd3.service | 11 + .../sysinit.target.wants/setup-dnbd3.service | 1 + .../dnbd3/data/etc/udev/rules.d/90-dnbd3.rules | 1 + .../opt/openslx/scripts/pam_script_auth.d/10-fuse | 6 + .../data/opt/openslx/scripts/systemd-setup_dnbd3 | 16 + core/modules/dnbd3/module.build | 45 + core/modules/dnbd3/module.conf | 10 + core/modules/dnbd3/module.conf.debian | 8 + core/modules/dnbd3/module.conf.opensuse | 8 + core/modules/dnbd3/module.conf.ubuntu | 9 + .../data/opt/openslx/scripts/firefox-session | 6 + .../data/usr/share/xsessions/firefox.desktop | 6 + core/modules/firefox/module.build | 15 + core/modules/firefox/module.conf | 6 + core/modules/firefox/module.conf.ubuntu | 2 + .../gdisk/data/inc/prepare_localhd.functions | 163 + .../gdisk/data/inc/setup_gpt.differentapproach | 157 + core/modules/gdisk/data/inc/setup_gpt.old | 160 + core/modules/gdisk/module.build | 19 + core/modules/gdisk/module.conf | 94 + core/modules/gdisk/module.conf.centos | 5 + .../data/etc/X11/xorg.conf.d/90-keytable.conf | 6 + core/modules/german/data/etc/default/locale | 1 + .../basic.target.wants/load-german-keymap.service | 1 + .../etc/systemd/system/load-german-keymap.service | 10 + .../german_qwertz_compose_keyboard_translation.map | 967 +++ .../keymaps/german_qwertz_keyboard_translation.map | 809 ++ .../openslx/scripts/systemd-load_german_keymaps | 22 + core/modules/german/module.build | 39 + core/modules/german/module.conf | 5 + core/modules/german/module.conf.debian | 10 + core/modules/german/module.conf.opensuse | 13 + core/modules/german/module.conf.scientific | 8 + core/modules/german/module.conf.ubuntu | 11 + .../data/etc/systemd/system/hardware-stats.service | 11 + .../multi-user.target.wants/hardware-stats.service | 1 + .../etc/systemd/system/shutdown-usage-log.service | 11 + .../shutdown-usage-log.service | 1 + .../opt/openslx/scripts/cron-system_usage_update | 25 + .../scripts/pam_script_ses_close.d/usage_stats | 1 + .../scripts/pam_script_ses_open.d/usage_stats | 8 + .../openslx/scripts/shutdown-system_usage_update | 12 + .../opt/openslx/scripts/systemd-hardware_stats | 211 + core/modules/hardware-stats/module.build | 17 + core/modules/hardware-stats/module.conf | 6 + core/modules/hardware-stats/module.conf.ubuntu | 12 + .../idleaction/data/etc/cron.d/openslx-idleaction | 7 + .../opt/openslx/scripts/idleaction-cron_script | 138 + .../openslx/scripts/idleaction-scheduled_action | 77 + core/modules/idleaction/module.build | 16 + core/modules/idleaction/module.conf | 4 + core/modules/idleaction/module.conf.centos | 6 + core/modules/idleaction/module.conf.debian | 6 + core/modules/idleaction/module.conf.fedora | 6 + core/modules/idleaction/module.conf.opensuse | 6 + core/modules/idleaction/module.conf.ubuntu | 6 + core/modules/idleaction/xprintidle.c | 136 + .../basic.target.wants/openslx-iptables.service | 1 + .../etc/systemd/system/openslx-iptables.service | 6 + .../data/opt/openslx/iptables/iptables-reloader | 5 + .../opt/openslx/iptables/iptables-reloader-worker | 112 + .../data/opt/openslx/iptables/rules.d/.placeholder | 1 + core/modules/iptables-helper/module.build | 13 + core/modules/iptables-helper/module.conf | 1 + core/modules/kdm/data/etc/branding.svg | 22 + core/modules/kdm/data/etc/kde | 1 + core/modules/kdm/data/etc/kde4/kdm/kdmrc | 52 + .../etc/systemd/system/display-manager.service | 1 + .../kdm/data/etc/systemd/system/kdm.service | 10 + core/modules/kdm/data/etc/tmpfiles.d/kdm.conf | 2 + core/modules/kdm/data/usr/share/config/kdm | 1 + .../themes/kdm/openslx/KdmGreeterTheme.desktop | 8 + .../usr/share/desktop/themes/kdm/openslx/color.png | Bin 0 -> 177 bytes .../usr/share/desktop/themes/kdm/openslx/enter.png | Bin 0 -> 2642 bytes .../desktop/themes/kdm/openslx/enter_inactive.png | Bin 0 -> 2527 bytes .../desktop/themes/kdm/openslx/environment.png | Bin 0 -> 3215 bytes .../desktop/themes/kdm/openslx/main-runner.png | Bin 0 -> 153 bytes .../themes/kdm/openslx/openslx-logo-main.png | Bin 0 -> 69575 bytes .../desktop/themes/kdm/openslx/openslx-logo.png | Bin 0 -> 6770 bytes .../share/desktop/themes/kdm/openslx/sessions.png | Bin 0 -> 2653 bytes .../themes/kdm/openslx/sessions_inactive.png | Bin 0 -> 2529 bytes .../share/desktop/themes/kdm/openslx/system.png | Bin 0 -> 2639 bytes .../desktop/themes/kdm/openslx/system_inactive.png | Bin 0 -> 2532 bytes .../usr/share/desktop/themes/kdm/openslx/theme.xml | 235 + .../themes/kdm/openslx/welcome-time-shadowed.png | Bin 0 -> 1199 bytes core/modules/kdm/data/usr/share/kde4/config/kdm | 1 + core/modules/kdm/data/var/lib/kdm/.placeholder | 1 + core/modules/kdm/module.build | 19 + core/modules/kdm/module.conf | 20 + core/modules/kdm/module.conf.debian | 29 + core/modules/kdm/module.conf.fedora | 26 + core/modules/kdm/module.conf.opensuse | 10 + core/modules/kdm/module.conf.scientific | 20 + core/modules/kdm/module.conf.ubuntu | 29 + core/modules/kdm/module.conf.ubuntu.14 | 29 + core/modules/kernel-system/TODO | 3 + core/modules/kernel-system/module.build | 88 + core/modules/kernel-system/module.conf | 3 + core/modules/kernel-system/module.conf.fedora | 6 + core/modules/kernel-system/module.conf.opensuse | 6 + core/modules/kernel-system/module.conf.ubuntu | 7 + core/modules/kernel-system/patch-speaker | 6 + core/modules/kernel-vanilla/module.build | 165 + core/modules/kernel-vanilla/module.conf | 5 + core/modules/kernel/.gitignore | 3 + core/modules/kernel/module.build | 146 + core/modules/kernel/module.conf | 3 + core/modules/kernel/module.conf.centos | 3 + core/modules/kernel/module.conf.fedora | 3 + core/modules/kernel/module.conf.opensuse | 3 + core/modules/kernel/module.conf.ubuntu | 2 + core/modules/kernel/module.conf.ubuntu.13.04 | 2 + core/modules/kernel/module.conf.ubuntu.14.04 | 2 + core/modules/kernel/patch-speaker | 6 + core/modules/ldm-gtk-greeter/TODO | 1 + .../ldm-gtk-greeter/data/etc/fonts/fonts.conf | 151 + .../data/etc/lightdm/lightdm-gtk-greeter.conf | 19 + .../ldm-gtk-greeter/data/etc/lightdm/lightdm.conf | 125 + .../usr/share/backgrounds/warty-final-ubuntu.png | Bin 0 -> 710537 bytes .../fonts/truetype/ubuntu-font-family/Ubuntu-B.ttf | Bin 0 -> 333616 bytes .../truetype/ubuntu-font-family/Ubuntu-BI.ttf | Bin 0 -> 356980 bytes .../fonts/truetype/ubuntu-font-family/Ubuntu-C.ttf | Bin 0 -> 350420 bytes .../fonts/truetype/ubuntu-font-family/Ubuntu-L.ttf | Bin 0 -> 415552 bytes .../truetype/ubuntu-font-family/Ubuntu-LI.ttf | Bin 0 -> 409608 bytes .../fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf | Bin 0 -> 353824 bytes .../truetype/ubuntu-font-family/Ubuntu-RI.ttf | Bin 0 -> 386440 bytes .../truetype/ubuntu-font-family/UbuntuMono-B.ttf | Bin 0 -> 191400 bytes .../truetype/ubuntu-font-family/UbuntuMono-BI.ttf | Bin 0 -> 216208 bytes .../truetype/ubuntu-font-family/UbuntuMono-R.ttf | Bin 0 -> 205748 bytes .../truetype/ubuntu-font-family/UbuntuMono-RI.ttf | Bin 0 -> 210216 bytes .../share/icons/hicolor/48x48/devices/computer.png | Bin 0 -> 3331 bytes .../data/usr/share/icons/hicolor/index.theme | 1662 ++++ .../icons/hicolor/scalable/apps/accessibility.svg | 8 + .../hicolor/scalable/apps/system-shutdown.svg | 8 + .../share/themes/Ambiance/gtk-2.0/apps/banshee.rc | 23 + .../share/themes/Ambiance/gtk-2.0/apps/chromium.rc | 39 + .../usr/share/themes/Ambiance/gtk-2.0/apps/ff.rc | 30 + .../share/themes/Ambiance/gtk-2.0/apps/gedit.rc | 35 + .../themes/Ambiance/gtk-2.0/apps/gnome-panel.rc | 118 + .../themes/Ambiance/gtk-2.0/apps/gnome-terminal.rc | 52 + .../Ambiance/gtk-2.0/apps/img/arrow-down.png | Bin 0 -> 195 bytes .../themes/Ambiance/gtk-2.0/apps/img/handle-h.png | Bin 0 -> 80 bytes .../themes/Ambiance/gtk-2.0/apps/img/handle-v.png | Bin 0 -> 80 bytes .../gtk-2.0/apps/img/mode-center-normal.png | Bin 0 -> 306 bytes .../gtk-2.0/apps/img/mode-center-prelight.png | Bin 0 -> 212 bytes .../gtk-2.0/apps/img/mode-center-pressed.png | Bin 0 -> 327 bytes .../Ambiance/gtk-2.0/apps/img/mode-left-normal.png | Bin 0 -> 426 bytes .../gtk-2.0/apps/img/mode-left-prelight.png | Bin 0 -> 368 bytes .../gtk-2.0/apps/img/mode-left-pressed.png | Bin 0 -> 381 bytes .../gtk-2.0/apps/img/mode-right-normal.png | Bin 0 -> 421 bytes .../gtk-2.0/apps/img/mode-right-prelight.png | Bin 0 -> 369 bytes .../gtk-2.0/apps/img/mode-right-pressed.png | Bin 0 -> 387 bytes .../gtk-2.0/apps/img/panel-button-active.png | Bin 0 -> 514 bytes .../gtk-2.0/apps/img/panel-button-hover.png | Bin 0 -> 346 bytes .../gtk-2.0/apps/img/panel-button-inactive.png | Bin 0 -> 285 bytes .../themes/Ambiance/gtk-2.0/apps/img/panel.png | Bin 0 -> 166 bytes .../share/themes/Ambiance/gtk-2.0/apps/nautilus.rc | 11 + .../themes/Ambiance/gtk-2.0/apps/ubuntuone.rc | 49 + .../data/usr/share/themes/Ambiance/gtk-2.0/gtkrc | 721 ++ .../themes/Ambiance/gtk-3.0/apps/gnome-panel.css | 81 + .../Ambiance/gtk-3.0/apps/gnome-terminal.css | 114 + .../themes/Ambiance/gtk-3.0/apps/nautilus.css | 81 + .../share/themes/Ambiance/gtk-3.0/apps/unity.css | 38 + .../Ambiance/gtk-3.0/assets/scrollbar_handle.png | Bin 0 -> 104 bytes .../gtk-3.0/assets/scrollbar_handle_vertical.png | Bin 0 -> 104 bytes .../themes/Ambiance/gtk-3.0/assets/slider.png | Bin 0 -> 605 bytes .../Ambiance/gtk-3.0/assets/slider_prelight.png | Bin 0 -> 610 bytes .../gtk-3.0/assets/slider_prelight_vertical.png | Bin 0 -> 585 bytes .../Ambiance/gtk-3.0/assets/slider_vertical.png | Bin 0 -> 560 bytes .../share/themes/Ambiance/gtk-3.0/gtk-widgets.css | 1885 +++++ .../data/usr/share/themes/Ambiance/gtk-3.0/gtk.css | 34 + .../usr/share/themes/Ambiance/gtk-3.0/settings.ini | 3 + .../data/usr/share/themes/Ambiance/index.theme | 12 + .../usr/share/themes/Ambiance/metacity-1/close.png | Bin 0 -> 885 bytes .../Ambiance/metacity-1/close_focused_normal.png | Bin 0 -> 885 bytes .../Ambiance/metacity-1/close_focused_prelight.png | Bin 0 -> 914 bytes .../Ambiance/metacity-1/close_focused_pressed.png | Bin 0 -> 632 bytes .../themes/Ambiance/metacity-1/close_unfocused.png | Bin 0 -> 578 bytes .../Ambiance/metacity-1/close_unfocused_over.png | Bin 0 -> 716 bytes .../metacity-1/close_unfocused_prelight.png | Bin 0 -> 890 bytes .../metacity-1/close_unfocused_pressed.png | Bin 0 -> 606 bytes .../share/themes/Ambiance/metacity-1/maximize.png | Bin 0 -> 904 bytes .../metacity-1/maximize_focused_normal.png | Bin 0 -> 904 bytes .../metacity-1/maximize_focused_prelight.png | Bin 0 -> 884 bytes .../metacity-1/maximize_focused_pressed.png | Bin 0 -> 567 bytes .../Ambiance/metacity-1/maximize_unfocused.png | Bin 0 -> 560 bytes .../metacity-1/maximize_unfocused_over.png | Bin 0 -> 671 bytes .../metacity-1/maximize_unfocused_prelight.png | Bin 0 -> 884 bytes .../metacity-1/maximize_unfocused_pressed.png | Bin 0 -> 565 bytes .../usr/share/themes/Ambiance/metacity-1/menu.png | Bin 0 -> 441 bytes .../themes/Ambiance/metacity-1/menu_prelight.png | Bin 0 -> 414 bytes .../Ambiance/metacity-1/metacity-theme-1.xml | 558 ++ .../share/themes/Ambiance/metacity-1/minimize.png | Bin 0 -> 838 bytes .../metacity-1/minimize_focused_normal.png | Bin 0 -> 838 bytes .../metacity-1/minimize_focused_prelight.png | Bin 0 -> 797 bytes .../metacity-1/minimize_focused_pressed.png | Bin 0 -> 511 bytes .../Ambiance/metacity-1/minimize_unfocused.png | Bin 0 -> 504 bytes .../metacity-1/minimize_unfocused_over.png | Bin 0 -> 663 bytes .../metacity-1/minimize_unfocused_prelight.png | Bin 0 -> 797 bytes .../metacity-1/minimize_unfocused_pressed.png | Bin 0 -> 511 bytes .../themes/Ambiance/metacity-1/trough_left.png | Bin 0 -> 207 bytes .../themes/Ambiance/metacity-1/trough_middle.png | Bin 0 -> 103 bytes .../themes/Ambiance/metacity-1/trough_right.png | Bin 0 -> 255 bytes .../themes/Ambiance/metacity-1/unmaximize.png | Bin 0 -> 909 bytes .../metacity-1/unmaximize_focused_normal.png | Bin 0 -> 909 bytes .../metacity-1/unmaximize_focused_prelight.png | Bin 0 -> 881 bytes .../metacity-1/unmaximize_focused_pressed.png | Bin 0 -> 565 bytes .../Ambiance/metacity-1/unmaximize_unfocused.png | Bin 0 -> 560 bytes .../metacity-1/unmaximize_unfocused_over.png | Bin 0 -> 677 bytes .../metacity-1/unmaximize_unfocused_prelight.png | Bin 0 -> 881 bytes .../metacity-1/unmaximize_unfocused_pressed.png | Bin 0 -> 565 bytes .../data/usr/share/themes/Ambiance/unity/close.png | Bin 0 -> 833 bytes .../themes/Ambiance/unity/close_focused_normal.png | Bin 0 -> 833 bytes .../Ambiance/unity/close_focused_prelight.png | Bin 0 -> 858 bytes .../Ambiance/unity/close_focused_pressed.png | Bin 0 -> 589 bytes .../themes/Ambiance/unity/close_unfocused.png | Bin 0 -> 528 bytes .../Ambiance/unity/close_unfocused_prelight.png | Bin 0 -> 882 bytes .../Ambiance/unity/close_unfocused_pressed.png | Bin 0 -> 560 bytes .../usr/share/themes/Ambiance/unity/maximize.png | Bin 0 -> 832 bytes .../Ambiance/unity/maximize_focused_normal.png | Bin 0 -> 832 bytes .../Ambiance/unity/maximize_focused_prelight.png | Bin 0 -> 919 bytes .../Ambiance/unity/maximize_focused_pressed.png | Bin 0 -> 519 bytes .../themes/Ambiance/unity/maximize_unfocused.png | Bin 0 -> 511 bytes .../Ambiance/unity/maximize_unfocused_prelight.png | Bin 0 -> 834 bytes .../Ambiance/unity/maximize_unfocused_pressed.png | Bin 0 -> 521 bytes .../usr/share/themes/Ambiance/unity/minimize.png | Bin 0 -> 841 bytes .../Ambiance/unity/minimize_focused_normal.png | Bin 0 -> 841 bytes .../Ambiance/unity/minimize_focused_prelight.png | Bin 0 -> 795 bytes .../Ambiance/unity/minimize_focused_pressed.png | Bin 0 -> 466 bytes .../themes/Ambiance/unity/minimize_unfocused.png | Bin 0 -> 455 bytes .../Ambiance/unity/minimize_unfocused_prelight.png | Bin 0 -> 795 bytes .../Ambiance/unity/minimize_unfocused_pressed.png | Bin 0 -> 466 bytes .../usr/share/themes/Ambiance/unity/unmaximize.png | Bin 0 -> 828 bytes .../Ambiance/unity/unmaximize_focused_normal.png | Bin 0 -> 828 bytes .../Ambiance/unity/unmaximize_focused_prelight.png | Bin 0 -> 833 bytes .../Ambiance/unity/unmaximize_focused_pressed.png | Bin 0 -> 521 bytes .../themes/Ambiance/unity/unmaximize_unfocused.png | Bin 0 -> 508 bytes .../unity/unmaximize_unfocused_prelight.png | Bin 0 -> 833 bytes .../unity/unmaximize_unfocused_pressed.png | Bin 0 -> 521 bytes core/modules/ldm-gtk-greeter/module.build | 34 + core/modules/ldm-gtk-greeter/module.conf | 9 + core/modules/ldm/TODO | 1 + .../system/graphical.target.wants/lightdm.service | 1 + .../ldm/data/etc/systemd/system/lightdm.service | 10 + core/modules/ldm/module.build | 34 + core/modules/ldm/module.conf | 8 + core/modules/ncp/module.build | 26 + core/modules/ncp/module.conf | 8 + core/modules/ncp/module.conf.debian | 26 + core/modules/ncp/module.conf.ubuntu | 17 + core/modules/ncp/module.conf.ubuntu.14 | 24 + .../netpoint-lightdm/data/etc/lightdm/lightdm.conf | 164 + .../data/etc/sysconfig/displaymanager | 113 + .../data/etc/sysconfig/windowmanager | 51 + .../data/usr/local/bin/guest-account | 3 + .../data/usr/local/bin/guest-cleanup | 8 + .../data/usr/local/bin/guest-session | 4 + .../data/usr/local/bin/guest-setup | 25 + .../data/usr/local/bin/netpoint.py | 215 + .../usr/local/share/lightdm/ff-google-smaller.png | Bin 0 -> 16703 bytes .../data/usr/local/share/lightdm/ff-rz-smaller.png | Bin 0 -> 72522 bytes .../data/usr/local/share/lightdm/netpoint.css | 16 + .../data/usr/local/share/lightdm/netpoint.glade | 365 + .../usr/local/share/xgreeters/netpoint.desktop | 5 + core/modules/netpoint-lightdm/module.build | 15 + core/modules/netpoint-lightdm/module.conf | 3 + .../netpoint-lightdm/module.conf.opensuse.13.2 | 36 + core/modules/nscd/data/etc/nscd.conf | 80 + .../systemd/system/basic.target.wants/nscd.service | 1 + .../nscd/data/etc/systemd/system/nscd.service | 15 + core/modules/nscd/data/etc/tmpfiles.d/nscd.conf | 1 + core/modules/nscd/module.build | 17 + core/modules/nscd/module.conf | 3 + core/modules/nscd/module.conf.centos | 6 + core/modules/nscd/module.conf.debian | 6 + core/modules/nscd/module.conf.fedora | 6 + core/modules/nscd/module.conf.opensuse | 6 + core/modules/nscd/module.conf.ubuntu | 6 + core/modules/nslcd/module.build | 42 + core/modules/nslcd/module.conf | 6 + core/modules/nslcd/module.conf.debian | 6 + core/modules/nslcd/module.conf.ubuntu | 6 + core/modules/nslcd/templates/nslcd-systemd.service | 8 + core/modules/nvidia_kernel/module.build | 56 + core/modules/nvidia_kernel/module.conf | 10 + core/modules/nvidia_libs/data/addon-init | 10 + core/modules/nvidia_libs/module.build | 56 + core/modules/nvidia_libs/module.conf | 17 + core/modules/nvidia_libs/module.conf.ubuntu | 14 + core/modules/openbox/data/etc/xdg/openbox/menu.xml | 29 + core/modules/openbox/data/etc/xdg/openbox/rc.xml | 756 ++ .../openbox/data/etc/xdg/openbox/rc.xml.safe | 426 + .../usr/share/icons/hicolor/48x48/apps/openbox.png | Bin 0 -> 1528 bytes .../data/usr/share/xsessions/openbox.desktop | 9 + core/modules/openbox/module.build | 36 + core/modules/openbox/module.conf | 11 + core/modules/openbox/module.conf.debian | 15 + core/modules/openbox/module.conf.fedora | 11 + core/modules/openbox/module.conf.opensuse | 13 + core/modules/openbox/module.conf.ubuntu | 15 + core/modules/openbox/module.conf.zypper | 11 + core/modules/openstack/README | 25 + core/modules/openstack/module.build | 11 + core/modules/openstack/module.conf | 3 + core/modules/openstack/module.conf.ubuntu.14 | 9 + .../openslx/scripts/pam_script_mount_common_share | 183 + core/modules/pam-common-share/module.build | 11 + core/modules/pam-common-share/module.conf | 3 + core/modules/pam/TODO | 1 + .../pam/data/etc/pam-script/pam_script_auth | 1 + .../pam/data/etc/pam-script/pam_script_ses_close | 1 + .../pam/data/etc/pam-script/pam_script_ses_open | 1 + core/modules/pam/data/etc/pam.d/common-account | 25 + core/modules/pam/data/etc/pam.d/common-auth | 25 + core/modules/pam/data/etc/pam.d/common-password | 33 + core/modules/pam/data/etc/pam.d/common-session | 33 + .../data/etc/pam.d/common-session-noninteractive | 31 + core/modules/pam/data/etc/pam.d/kdm | 10 + core/modules/pam/data/etc/pam.d/kdm-np | 11 + core/modules/pam/data/etc/pam.d/login | 101 + core/modules/pam/data/etc/pam.d/other | 10 + core/modules/pam/data/etc/pam.d/passwd | 6 + core/modules/pam/data/etc/pam.d/sshd | 41 + core/modules/pam/data/etc/pam.d/vmware-authd | 6 + core/modules/pam/data/etc/pam.d/xdm | 6 + core/modules/pam/data/etc/security/pam_env.conf | 73 + core/modules/pam/data/etc/tmpfiles.d/pipefs.conf | 2 + .../pam/data/opt/openslx/scripts/pam_script_auth | 146 + .../data/opt/openslx/scripts/pam_script_ses_close | 83 + .../data/opt/openslx/scripts/pam_script_ses_open | 25 + core/modules/pam/module.build | 40 + core/modules/pam/module.conf | 22 + core/modules/pam/module.conf.centos | 36 + core/modules/pam/module.conf.debian | 57 + core/modules/pam/module.conf.fedora | 42 + core/modules/pam/module.conf.opensuse | 44 + core/modules/pam/module.conf.opensuse.13.1 | 48 + core/modules/pam/module.conf.opensuse.13.2 | 48 + core/modules/pam/module.conf.ubuntu | 47 + core/modules/pam/module.conf.ubuntu.14 | 41 + core/modules/pam/module.conf.ubuntu.16 | 42 + core/modules/pam/sslconnect.c | 201 + .../data/etc/systemd/system/plymouth-quit.service | 9 + .../plymouth/data/etc/tmpfiles.d/plymouth.conf | 2 + core/modules/plymouth/module.build | 20 + core/modules/plymouth/module.conf | 15 + core/modules/plymouth/module.conf.debian | 7 + core/modules/plymouth/module.conf.opensuse | 7 + core/modules/plymouth/module.conf.ubuntu | 7 + .../system/basic.target.wants/polkit.service | 1 + core/modules/polkit/module.build | 25 + core/modules/polkit/module.conf | 13 + core/modules/polkit/module.conf.debian | 19 + core/modules/polkit/module.conf.fedora | 12 + core/modules/polkit/module.conf.opensuse | 12 + core/modules/polkit/module.conf.ubuntu | 19 + core/modules/polkit/templates/dbus.service | 6 + core/modules/polkit/templates/systemd.service | 8 + .../system/network.target.wants/printergui.service | 1 + .../data/etc/systemd/system/printergui.service | 8 + .../iptables/rules.d/50-lpd-redirect-and-fw | 8 + .../data/opt/openslx/scripts/run-virt_print | 67 + .../openslx/scripts/systemd-printergui_preparation | 20 + core/modules/printergui/module.build | 29 + core/modules/printergui/module.conf | 7 + core/modules/printergui/module.conf.debian | 7 + core/modules/printergui/module.conf.fedora | 5 + core/modules/printergui/module.conf.opensuse | 5 + core/modules/printergui/module.conf.ubuntu | 5 + .../pvs2/data/opt/openslx/scripts/setup-pvsmgr | 4 + .../openslx/vmchooser/sessionstart.d/50-PVSclient | 26 + .../pvs2/data/usr/share/xsessions/pvs2mgr.desktop | 7 + core/modules/pvs2/module.build | 35 + core/modules/pvs2/module.conf | 13 + core/modules/pvs2/module.conf.debian | 6 + core/modules/pvs2/module.conf.fedora | 6 + core/modules/pvs2/module.conf.opensuse | 14 + core/modules/pvs2/module.conf.ubuntu | 11 + core/modules/qemukvm/data/addon-init | 8 + .../system/graphical.target.wants/qemukvm.service | 1 + .../data/etc/systemd/system/qemukvm.service | 9 + .../data/opt/openslx/scripts/systemd-qemukvm_env | 33 + .../opt/openslx/vmchooser/qemukvm/run-virt.include | 245 + core/modules/qemukvm/module.build | 16 + core/modules/qemukvm/module.conf | 11 + core/modules/qemukvm/module.conf.ubuntu | 37 + core/modules/redsocks/data/etc/redsocks.conf | 56 + .../system/basic.target.wants/setup-proxy.service | 1 + .../data/etc/systemd/system/redsocks.service | 12 + .../data/etc/systemd/system/setup-proxy.service | 9 + .../data/opt/openslx/scripts/systemd-setup_proxy | 65 + core/modules/redsocks/module.build | 24 + core/modules/redsocks/module.conf | 6 + core/modules/redsocks/module.conf.debian | 3 + core/modules/redsocks/module.conf.fedora | 3 + core/modules/redsocks/module.conf.opensuse | 3 + core/modules/redsocks/module.conf.ubuntu | 3 + core/modules/rsyslogd/data/etc/rsyslog.conf | 84 + core/modules/rsyslogd/module.build | 34 + core/modules/rsyslogd/module.conf | 9 + core/modules/rsyslogd/module.conf.centos | 3 + core/modules/rsyslogd/module.conf.debian | 3 + core/modules/rsyslogd/module.conf.fedora | 3 + core/modules/rsyslogd/module.conf.opensuse | 6 + core/modules/rsyslogd/module.conf.opensuse.13.2 | 9 + core/modules/rsyslogd/module.conf.ubuntu | 4 + core/modules/run-virt/compile | 5 + .../graphical.target.wants/run-virt-env.service | 1 + .../data/etc/systemd/system/mount-vm-store.service | 10 + .../network.target.wants/mount-vm-store.service | 1 + .../data/etc/systemd/system/run-virt-env.service | 9 + .../modules/run-virt/data/opt/openslx/bin/clc.bash | 307 + .../iptables/rules.d/50-virt-nat1-masquerading | 3 + .../opt/openslx/scripts/includes/check_lpd.inc | 11 + .../includes/check_runvirt_needed_files.inc | 53 + .../includes/check_runvirt_xml_sanity_legacy.inc | 23 + .../opt/openslx/scripts/includes/detect_legacy.inc | 33 + .../scripts/includes/get_xml_file_dir_legacy.inc | 50 + .../scripts/includes/get_xml_file_variables.inc | 103 + .../includes/get_xml_file_variables_legacy.inc | 120 + .../includes/print_runvirt_console_logo.inc | 12 + .../includes/set_runvirt_hardware_variables.inc | 88 + .../set_runvirt_hardware_variables_legacy.inc | 89 + .../scripts/includes/set_runvirt_variables.inc | 21 + .../scripts/includes/setup_image_access.inc | 71 + .../openslx/scripts/includes/setup_printer_lpd.inc | 33 + .../opt/openslx/scripts/includes/setup_sound.inc | 64 + .../scripts/includes/setup_virtual_floppy.inc | 21 + .../scripts/includes/setup_vm_hypervisor.inc | 19 + .../opt/openslx/scripts/includes/start_pvs.inc | 11 + .../scripts/includes/start_windowmanager.inc | 20 + .../opt/openslx/scripts/includes/usb_detector.inc | 77 + .../includes/vmchooser_runvirt_functions.inc | 48 + .../opt/openslx/scripts/systemd-mount_vm_store | 39 + .../data/opt/openslx/scripts/systemd-run_virt_env | 184 + .../data/opt/openslx/scripts/vmchooser-clc | 475 ++ .../data/opt/openslx/scripts/vmchooser-run_virt | 116 + .../data/opt/openslx/scripts/vmchooser-xml_filter | 74 + .../data/opt/openslx/vmchooser/config/smb.conf | 38 + .../opt/openslx/vmchooser/config/udhcpd-nat1.conf | 54 + .../opt/openslx/vmchooser/config/vmchooser.conf | 4 + .../data/opt/openslx/vmchooser/data/SHARELWS.BAT | 40 + .../data/opt/openslx/vmchooser/data/bootpgm.exe | Bin 0 -> 8704 bytes .../data/opt/openslx/vmchooser/data/openslx.exe | Bin 0 -> 15360 bytes .../data/opt/openslx/xsessions/default.desktop | 10 + core/modules/run-virt/module.build | 16 + core/modules/run-virt/module.conf | 4 + core/modules/run-virt/module.conf.ubuntu | 7 + core/modules/run-virt/winres.c | 169 + .../safe-mode/data/etc/systemd/system/exam.service | 7 + .../data/opt/openslx/scripts/systemd-safe_mode | 24 + core/modules/safe-mode/module.build | 12 + core/modules/safe-mode/module.conf | 3 + core/modules/samba/module.build | 26 + core/modules/samba/module.conf | 24 + core/modules/samba/module.conf.opensuse | 24 + core/modules/samba/module.conf.ubuntu | 20 + .../smartctl/data/etc/cron.d/openslx-smartctl | 8 + .../system/basic.target.wants/smartctl.service | 1 + .../data/etc/systemd/system/smartctl.service | 8 + .../data/opt/openslx/scripts/systemd-smartctl | 33 + core/modules/smartctl/module.build | 13 + core/modules/smartctl/module.conf | 5 + core/modules/smartctl/module.conf.centos | 6 + core/modules/smartctl/module.conf.debian | 6 + core/modules/smartctl/module.conf.fedora | 6 + core/modules/smartctl/module.conf.opensuse | 6 + core/modules/smartctl/module.conf.ubuntu | 6 + .../data/etc/tmpfiles.d/ensure-smbconf-exists.conf | 4 + core/modules/smbclient/module.build | 21 + core/modules/smbclient/module.conf | 10 + core/modules/smbclient/module.conf.debian | 9 + core/modules/smbclient/module.conf.fedora | 9 + core/modules/smbclient/module.conf.opensuse | 9 + core/modules/smbclient/module.conf.ubuntu | 9 + core/modules/splash-openslx/README | 6 + core/modules/splash-openslx/data/etc/splash.ppm.gz | Bin 0 -> 11233 bytes core/modules/splash-openslx/module.build | 13 + core/modules/splash-openslx/module.conf | 1 + .../basic.target.wants/ssh-auth-keys.service | 1 + .../data/etc/systemd/system/ssh-auth-keys.service | 7 + .../data/opt/openslx/scripts/systemd-ssh_auth_keys | 20 + core/modules/ssh-auth-keys/module.build | 11 + core/modules/ssh-auth-keys/module.conf | 3 + core/modules/sshd/TODO | 3 + core/modules/sshd/data/etc/issue.net | 6 + core/modules/sshd/data/etc/ssh/ssh_host_dsa_key | 12 + .../modules/sshd/data/etc/ssh/ssh_host_dsa_key.pub | 1 + core/modules/sshd/data/etc/ssh/ssh_host_ecdsa_key | 6 + .../sshd/data/etc/ssh/ssh_host_ecdsa_key.pub | 1 + core/modules/sshd/data/etc/ssh/ssh_host_rsa_key | 15 + .../modules/sshd/data/etc/ssh/ssh_host_rsa_key.pub | 1 + core/modules/sshd/data/etc/ssh/sshd_config | 92 + .../sshd/data/etc/systemd/system/sshd.service | 8 + core/modules/sshd/data/etc/tmpfiles.d/sshd.conf | 3 + core/modules/sshd/module.build | 20 + core/modules/sshd/module.conf | 3 + core/modules/sssd/module.build | 33 + core/modules/sssd/module.conf | 18 + core/modules/sssd/module.conf.opensuse.13.2 | 23 + core/modules/sssd/module.conf.ubuntu | 14 + core/modules/sssd/templates/sssd-systemd.service | 16 + .../data/etc/X11/xorg.conf.d/90-keytable.conf | 5 + core/modules/swiss/data/etc/default/locale | 1 + .../basic.target.wants/load-swiss-keymap.service | 10 + .../etc/systemd/system/load-swiss-keymap.service | 10 + .../swiss/data/opt/openslx/keymaps/compose.inc | 8 + .../german_qwertz_compose_keyboard_translation.map | 967 +++ .../keymaps/german_qwertz_keyboard_translation.map | 809 ++ .../data/opt/openslx/keymaps/linux-keys-bare.inc | 163 + .../openslx/keymaps/linux-with-alt-and-altgr.inc | 29 + .../data/opt/openslx/keymaps/qwertz-layout.inc | 31 + .../opt/openslx/keymaps/qwertz_de_CH-latin1.map | 16 + .../opt/openslx/keymaps/qwertz_fr_CH-latin1.map | 86 + .../opt/openslx/scripts/systemd-load_swiss_keymaps | 13 + core/modules/swiss/module.build | 55 + core/modules/swiss/module.conf | 5 + core/modules/swiss/module.conf.debian | 10 + core/modules/swiss/module.conf.opensuse | 14 + core/modules/swiss/module.conf.scientific | 8 + core/modules/swiss/module.conf.ubuntu | 17 + core/modules/systemd-distro/README | 12 + core/modules/systemd-distro/TODO | 2 + .../systemd-distro/data/etc/systemd/system.conf | 49 + .../etc/systemd/system/network-interface@.service | 9 + .../data/etc/systemd/system/systemd-halt.service | 18 + .../etc/systemd/system/systemd-poweroff.service | 18 + .../data/etc/systemd/system/systemd-reboot.service | 18 + .../opt/openslx/scripts/systemd-shutdown_prescript | 50 + core/modules/systemd-distro/data/sbin/halt | Bin 0 -> 357784 bytes core/modules/systemd-distro/data/sbin/init | Bin 0 -> 1214408 bytes core/modules/systemd-distro/data/sbin/poweroff | Bin 0 -> 357784 bytes core/modules/systemd-distro/data/sbin/reboot | Bin 0 -> 357784 bytes core/modules/systemd-distro/data/sbin/runlevel | Bin 0 -> 357784 bytes core/modules/systemd-distro/data/sbin/shutdown | Bin 0 -> 357784 bytes core/modules/systemd-distro/data/sbin/telinit | Bin 0 -> 357784 bytes .../data/usr/lib/sysctl.d/50-default.conf | 39 + .../data/usr/lib/systemd/system/autovt@.service | 49 + .../data/usr/lib/systemd/system/basic.target | 14 + .../data/usr/lib/systemd/system/bluetooth.target | 11 + .../usr/lib/systemd/system/console-getty.service | 32 + .../usr/lib/systemd/system/console-shell.service | 32 + .../usr/lib/systemd/system/ctrl-alt-del.target | 17 + .../system/dbus-org.freedesktop.login1.service | 23 + .../usr/lib/systemd/system/debug-shell.service | 33 + .../data/usr/lib/systemd/system/default.target | 18 + .../usr/lib/systemd/system/dev-hugepages.mount | 19 + .../data/usr/lib/systemd/system/dev-mqueue.mount | 19 + .../data/usr/lib/systemd/system/emergency.service | 31 + .../data/usr/lib/systemd/system/emergency.target | 13 + .../data/usr/lib/systemd/system/final.target | 13 + .../data/usr/lib/systemd/system/getty.target | 11 + .../data/usr/lib/systemd/system/getty@.service | 49 + .../data/usr/lib/systemd/system/graphical.target | 18 + .../data/usr/lib/systemd/system/halt-local.service | 20 + .../data/usr/lib/systemd/system/halt.target | 17 + .../data/usr/lib/systemd/system/hibernate.target | 13 + .../usr/lib/systemd/system/hybrid-sleep.target | 13 + .../data/usr/lib/systemd/system/kexec.target | 17 + .../data/usr/lib/systemd/system/multi-user.target | 17 + .../system/multi-user.target.wants/getty.target | 11 + .../multi-user.target.wants/systemd-logind.service | 23 + .../systemd-user-sessions.service | 17 + .../usr/lib/systemd/system/network-online.target | 11 + .../data/usr/lib/systemd/system/network.target | 14 + .../data/usr/lib/systemd/system/paths.target | 10 + .../data/usr/lib/systemd/system/poweroff.target | 17 + .../data/usr/lib/systemd/system/printer.target | 11 + .../system/proc-sys-fs-binfmt_misc.automount | 18 + .../systemd/system/proc-sys-fs-binfmt_misc.mount | 17 + .../data/usr/lib/systemd/system/rc-local.service | 20 + .../data/usr/lib/systemd/system/reboot.target | 17 + .../data/usr/lib/systemd/system/remote-fs.target | 3 + .../usr/lib/systemd/system/serial-getty@.service | 36 + .../data/usr/lib/systemd/system/shutdown.target | 12 + .../data/usr/lib/systemd/system/sigpwr.target | 10 + .../data/usr/lib/systemd/system/sleep.target | 13 + .../data/usr/lib/systemd/system/smartcard.target | 11 + .../data/usr/lib/systemd/system/sockets.target | 10 + .../sockets.target.wants/systemd-journald.socket | 26 + .../sockets.target.wants/systemd-shutdownd.socket | 18 + .../systemd-udevd-control.socket | 19 + .../systemd-udevd-kernel.socket | 19 + .../data/usr/lib/systemd/system/sound.target | 11 + .../data/usr/lib/systemd/system/suspend.target | 13 + .../data/usr/lib/systemd/system/swap.target | 10 + .../systemd/system/sys-fs-fuse-connections.mount | 20 + .../usr/lib/systemd/system/sys-kernel-config.mount | 20 + .../data/usr/lib/systemd/system/sysinit.target | 14 + .../sysinit.target.wants/dev-hugepages.mount | 19 + .../system/sysinit.target.wants/dev-mqueue.mount | 19 + .../proc-sys-fs-binfmt_misc.automount | 18 + .../sys-fs-fuse-connections.mount | 20 + .../sysinit.target.wants/sys-kernel-config.mount | 20 + .../sysinit.target.wants/systemd-binfmt.service | 26 + .../sysinit.target.wants/systemd-journald.service | 26 + .../systemd-modules-load.service | 27 + .../sysinit.target.wants/systemd-sysctl.service | 26 + .../systemd-tmpfiles-setup-dev.service | 17 + .../systemd-tmpfiles-setup.service | 23 + .../systemd-udev-trigger.service | 20 + .../sysinit.target.wants/systemd-udevd.service | 23 + .../systemd-vconsole-setup.service | 20 + .../data/usr/lib/systemd/system/syslog.socket | 40 + .../usr/lib/systemd/system/system-update.target | 16 + .../usr/lib/systemd/system/systemd-binfmt.service | 26 + .../usr/lib/systemd/system/systemd-halt.service | 17 + .../lib/systemd/system/systemd-hibernate.service | 17 + .../systemd/system/systemd-hybrid-sleep.service | 17 + .../lib/systemd/system/systemd-journald.service | 26 + .../usr/lib/systemd/system/systemd-journald.socket | 26 + .../usr/lib/systemd/system/systemd-logind.service | 23 + .../systemd/system/systemd-modules-load.service | 27 + .../usr/lib/systemd/system/systemd-nspawn@.service | 18 + .../lib/systemd/system/systemd-poweroff.service | 17 + .../usr/lib/systemd/system/systemd-reboot.service | 17 + .../lib/systemd/system/systemd-shutdownd.service | 15 + .../lib/systemd/system/systemd-shutdownd.socket | 18 + .../usr/lib/systemd/system/systemd-suspend.service | 17 + .../usr/lib/systemd/system/systemd-sysctl.service | 26 + .../system/systemd-tmpfiles-setup-dev.service | 17 + .../systemd/system/systemd-tmpfiles-setup.service | 23 + .../lib/systemd/system/systemd-udev-settle.service | 31 + .../systemd/system/systemd-udev-trigger.service | 20 + .../systemd/system/systemd-udevd-control.socket | 19 + .../lib/systemd/system/systemd-udevd-kernel.socket | 19 + .../usr/lib/systemd/system/systemd-udevd.service | 23 + .../systemd/system/systemd-user-sessions.service | 17 + .../systemd/system/systemd-vconsole-setup.service | 20 + .../data/usr/lib/systemd/system/time-sync.target | 14 + .../data/usr/lib/systemd/system/timers.target | 10 + .../data/usr/lib/systemd/system/user@.service | 23 + .../usr/lib/udev/rules.d/70-uaccess-floppy.rules | 8 + .../data/usr/lib/udev/rules.d/99-systemd.rules | 56 + core/modules/systemd-distro/module.build | 15 + core/modules/systemd-distro/module.conf | 8 + core/modules/systemd-distro/module.conf.centos | 7 + core/modules/systemd-distro/module.conf.debian | 13 + core/modules/systemd-distro/module.conf.fedora | 11 + core/modules/systemd-distro/module.conf.opensuse | 10 + core/modules/systemd-distro/module.conf.scientific | 37 + core/modules/systemd-distro/module.conf.ubuntu | 12 + core/modules/systemd-distro/module.conf.ubuntu.14 | 71 + core/modules/systemd-distro/module.conf.ubuntu.16 | 71 + core/modules/systemd/README | 12 + core/modules/systemd/TODO | 2 + .../etc/systemd/system/network-interface@.service | 9 + .../data/etc/systemd/system/systemd-halt.service | 18 + .../etc/systemd/system/systemd-poweroff.service | 18 + .../data/etc/systemd/system/systemd-reboot.service | 18 + .../opt/openslx/scripts/systemd-shutdown_prescript | 50 + .../systemd/data/opt/openslx/scripts/tty-init | 23 + core/modules/systemd/data/sbin/halt | 1 + core/modules/systemd/data/sbin/init | 1 + core/modules/systemd/data/sbin/poweroff | 1 + core/modules/systemd/data/sbin/reboot | 1 + core/modules/systemd/data/sbin/runlevel | 1 + core/modules/systemd/data/sbin/shutdown | 1 + core/modules/systemd/data/sbin/telinit | 1 + .../systemd/data/usr/lib/sysctl.d/50-default.conf | 39 + .../data/usr/lib/systemd/system/autovt@.service | 1 + .../data/usr/lib/systemd/system/basic.target | 14 + .../data/usr/lib/systemd/system/bluetooth.target | 11 + .../usr/lib/systemd/system/console-getty.service | 32 + .../usr/lib/systemd/system/console-shell.service | 32 + .../usr/lib/systemd/system/ctrl-alt-del.target | 1 + .../system/dbus-org.freedesktop.login1.service | 1 + .../usr/lib/systemd/system/debug-shell.service | 33 + .../data/usr/lib/systemd/system/default.target | 1 + .../usr/lib/systemd/system/dev-hugepages.mount | 19 + .../data/usr/lib/systemd/system/dev-mqueue.mount | 19 + .../data/usr/lib/systemd/system/emergency.service | 31 + .../data/usr/lib/systemd/system/emergency.target | 13 + .../data/usr/lib/systemd/system/final.target | 13 + .../data/usr/lib/systemd/system/getty.target | 11 + .../data/usr/lib/systemd/system/getty@.service | 50 + .../data/usr/lib/systemd/system/graphical.target | 18 + .../data/usr/lib/systemd/system/halt-local.service | 20 + .../data/usr/lib/systemd/system/halt.target | 17 + .../data/usr/lib/systemd/system/hibernate.target | 13 + .../usr/lib/systemd/system/hybrid-sleep.target | 13 + .../data/usr/lib/systemd/system/kexec.target | 17 + .../data/usr/lib/systemd/system/multi-user.target | 17 + .../system/multi-user.target.wants/getty.target | 1 + .../multi-user.target.wants/systemd-logind.service | 1 + .../systemd-user-sessions.service | 1 + .../usr/lib/systemd/system/network-online.target | 11 + .../data/usr/lib/systemd/system/network.target | 14 + .../data/usr/lib/systemd/system/paths.target | 10 + .../data/usr/lib/systemd/system/poweroff.target | 17 + .../data/usr/lib/systemd/system/printer.target | 11 + .../system/proc-sys-fs-binfmt_misc.automount | 18 + .../systemd/system/proc-sys-fs-binfmt_misc.mount | 17 + .../data/usr/lib/systemd/system/rc-local.service | 20 + .../data/usr/lib/systemd/system/reboot.target | 17 + .../data/usr/lib/systemd/system/remote-fs.target | 3 + .../usr/lib/systemd/system/serial-getty@.service | 36 + .../data/usr/lib/systemd/system/shutdown.target | 12 + .../data/usr/lib/systemd/system/sigpwr.target | 10 + .../data/usr/lib/systemd/system/sleep.target | 13 + .../data/usr/lib/systemd/system/smartcard.target | 11 + .../data/usr/lib/systemd/system/sockets.target | 10 + .../sockets.target.wants/systemd-journald.socket | 1 + .../sockets.target.wants/systemd-shutdownd.socket | 1 + .../systemd-udevd-control.socket | 1 + .../systemd-udevd-kernel.socket | 1 + .../data/usr/lib/systemd/system/sound.target | 11 + .../data/usr/lib/systemd/system/suspend.target | 13 + .../data/usr/lib/systemd/system/swap.target | 10 + .../systemd/system/sys-fs-fuse-connections.mount | 20 + .../usr/lib/systemd/system/sys-kernel-config.mount | 20 + .../data/usr/lib/systemd/system/sysinit.target | 14 + .../sysinit.target.wants/dev-hugepages.mount | 1 + .../system/sysinit.target.wants/dev-mqueue.mount | 1 + .../proc-sys-fs-binfmt_misc.automount | 1 + .../sys-fs-fuse-connections.mount | 1 + .../sysinit.target.wants/sys-kernel-config.mount | 1 + .../sysinit.target.wants/systemd-binfmt.service | 1 + .../sysinit.target.wants/systemd-journald.service | 1 + .../systemd-modules-load.service | 1 + .../sysinit.target.wants/systemd-sysctl.service | 1 + .../systemd-tmpfiles-setup-dev.service | 1 + .../systemd-tmpfiles-setup.service | 1 + .../systemd-udev-trigger.service | 1 + .../sysinit.target.wants/systemd-udevd.service | 1 + .../systemd-vconsole-setup.service | 1 + .../data/usr/lib/systemd/system/syslog.socket | 40 + .../usr/lib/systemd/system/system-update.target | 16 + .../usr/lib/systemd/system/systemd-binfmt.service | 26 + .../usr/lib/systemd/system/systemd-halt.service | 17 + .../lib/systemd/system/systemd-hibernate.service | 17 + .../systemd/system/systemd-hybrid-sleep.service | 17 + .../lib/systemd/system/systemd-journald.service | 26 + .../usr/lib/systemd/system/systemd-journald.socket | 26 + .../usr/lib/systemd/system/systemd-logind.service | 23 + .../systemd/system/systemd-modules-load.service | 27 + .../usr/lib/systemd/system/systemd-nspawn@.service | 18 + .../lib/systemd/system/systemd-poweroff.service | 17 + .../usr/lib/systemd/system/systemd-reboot.service | 17 + .../lib/systemd/system/systemd-shutdownd.service | 15 + .../lib/systemd/system/systemd-shutdownd.socket | 18 + .../usr/lib/systemd/system/systemd-suspend.service | 17 + .../usr/lib/systemd/system/systemd-sysctl.service | 26 + .../system/systemd-tmpfiles-setup-dev.service | 17 + .../systemd/system/systemd-tmpfiles-setup.service | 23 + .../lib/systemd/system/systemd-udev-settle.service | 31 + .../systemd/system/systemd-udev-trigger.service | 20 + .../systemd/system/systemd-udevd-control.socket | 19 + .../lib/systemd/system/systemd-udevd-kernel.socket | 19 + .../usr/lib/systemd/system/systemd-udevd.service | 23 + .../systemd/system/systemd-user-sessions.service | 17 + .../systemd/system/systemd-vconsole-setup.service | 20 + .../data/usr/lib/systemd/system/time-sync.target | 14 + .../data/usr/lib/systemd/system/timers.target | 10 + .../data/usr/lib/systemd/system/user@.service | 23 + .../systemd/data/usr/lib/tmpfiles.d/etc.conf | 14 + .../usr/lib/udev/rules.d/70-uaccess-floppy.rules | 8 + .../data/usr/lib/udev/rules.d/99-systemd.rules | 56 + core/modules/systemd/module.build | 111 + core/modules/systemd/module.conf | 66 + core/modules/systemd/module.conf.centos | 11 + core/modules/systemd/module.conf.debian | 13 + core/modules/systemd/module.conf.fedora | 11 + core/modules/systemd/module.conf.opensuse | 10 + core/modules/systemd/module.conf.scientific | 37 + core/modules/systemd/module.conf.ubuntu | 12 + core/modules/systemd/module.conf.ubuntu.14 | 71 + core/modules/systemd/module.conf.ubuntu.16 | 95 + core/modules/systemd/systemd-openslx-229.patch | 11 + core/modules/systemd/systemd-openslx.patch | 26 + .../usr/share/polkit-1/rules.d/10-drives.rules | 6 + core/modules/udisks/module.build | 50 + core/modules/udisks/module.conf | 14 + core/modules/udisks/module.conf.debian | 32 + core/modules/udisks/module.conf.fedora | 7 + core/modules/udisks/module.conf.opensuse | 7 + core/modules/udisks/module.conf.ubuntu | 34 + core/modules/udisks/module.conf.ubuntu.12 | 31 + core/modules/udisks/module.conf.ubuntu.14 | 6 + core/modules/udisks/module.conf.ubuntu.16 | 6 + core/modules/udisks/templates/udisks.dbus.service | 6 + .../udisks/templates/udisks.systemd.service | 9 + core/modules/udisks/templates/udisks2.dbus.service | 6 + .../udisks/templates/udisks2.systemd.service | 9 + core/modules/vbox/README | 30 + core/modules/vbox/data/addon-init | 17 + .../system/graphical.target.wants/vbox.service | 1 + .../vbox/data/etc/systemd/system/vbox.service | 9 + .../vbox/data/etc/udev/rules.d/60-vboxdrv.rules | 7 + .../vbox/data/opt/openslx/scripts/systemd-vbox_env | 55 + .../openslx/vmchooser/virtualbox/empty-diff.vdi.gz | Bin 0 -> 285 bytes .../openslx/vmchooser/virtualbox/machine.include | 194 + .../openslx/vmchooser/virtualbox/run-virt.include | 436 + .../opt/openslx/vmchooser/virtualbox/rwimg.vdi.gz | Bin 0 -> 268 bytes .../openslx/vmchooser/virtualbox/virtualbox.conf | 2 + .../vmchooser/virtualbox/virtualbox.include | 57 + core/modules/vbox/module.build | 142 + core/modules/vbox/module.conf | 20 + core/modules/vbox/module.conf.opensuse | 0 core/modules/vbox/module.conf.opensuse.12.3 | 19 + core/modules/vbox/module.conf.ubuntu | 13 + core/modules/vbox/module.conf.ubuntu.13.04 | 18 + core/modules/vbox/module.conf.ubuntu.13.10 | 19 + core/modules/vbox/module.conf.ubuntu.14 | 23 + core/modules/vbox/module.conf.ubuntu.16 | 23 + core/modules/vmchooser/TODO | 4 + .../data/opt/openslx/vmchooser/sessionstart | 12 + .../vmchooser/themes/openslx/openslx-left.png | Bin 0 -> 9187 bytes .../vmchooser/themes/openslx/openslx-right.png | Bin 0 -> 3390 bytes .../openslx/vmchooser/themes/openslx/openslx.ini | 4 + core/modules/vmchooser/module.build | 39 + core/modules/vmchooser/module.conf | 3 + core/modules/vmchooser/module.conf.debian | 4 + core/modules/vmchooser/module.conf.fedora | 3 + core/modules/vmchooser/module.conf.opensuse | 4 + core/modules/vmchooser/module.conf.ubuntu | 4 + .../data/etc/tmpfiles.d/vmchooser-cache.conf | 2 + .../vmchooser2/data/opt/openslx/bin/vmchooser | 36 + .../data/opt/openslx/vmchooser/sessionstart | 18 + .../vmchooser/sessionstart.d/log-selected-session | 5 + .../themes/bwlehrpool/bwlehrpool-left.png | Bin 0 -> 5361 bytes .../themes/bwlehrpool/bwlehrpool-right.png | Bin 0 -> 3390 bytes .../vmchooser/themes/bwlehrpool/bwlehrpool.ini | 4 + core/modules/vmchooser2/module.build | 39 + core/modules/vmchooser2/module.conf | 3 + core/modules/vmchooser2/module.conf.debian | 4 + core/modules/vmchooser2/module.conf.opensuse | 4 + core/modules/vmchooser2/module.conf.ubuntu | 4 + core/modules/vmware/data/addon-init | 6 + core/modules/vmware/data/etc/X11/Xreset.d/vmware | 17 + .../system/graphical.target.wants/vmware.service | 1 + .../vmware/data/etc/systemd/system/vmware.service | 9 + core/modules/vmware/data/etc/vmware-vix/bootstrap | 2 + core/modules/vmware/data/etc/vmware/bootstrap | 12 + core/modules/vmware/data/etc/vmware/icu | 1 + core/modules/vmware/data/etc/vmware/locations | 3 + core/modules/vmware/data/etc/vmware/usbarb.rules | 4 + core/modules/vmware/data/opt/openslx/bin/vmplayer | 17 + core/modules/vmware/data/opt/openslx/bin/vmware | 1 + .../data/opt/openslx/scripts/systemd-vmware_env | 101 + .../includes/create_vmhome_preferences_file.inc | 71 + .../vmware/includes/create_vmware_config_file.inc | 186 + .../includes/create_vmware_config_file_legacy.inc | 312 + .../openslx/vmchooser/vmware/includes/logging.inc | 64 + .../vmchooser/vmware/includes/parse_vmx.inc | 130 + .../vmware/includes/set_hardware_legacy.inc | 152 + .../includes/set_vmware_include_variables.inc | 30 + .../vmware/includes/write_config_files.inc | 29 + .../vmware/includes/write_config_files_legacy.inc | 29 + .../vmware/data/opt/openslx/vmchooser/vmware/nvram | Bin 0 -> 8664 bytes .../opt/openslx/vmchooser/vmware/run-virt.include | 76 + core/modules/vmware/data/usr/bin/vmplayer | 1 + core/modules/vmware/data/usr/bin/vmware | 1 + .../data/usr/share/icons/hicolor/index.theme | 1662 ++++ core/modules/vmware/module.build | 158 + core/modules/vmware/module.conf | 69 + core/modules/vmware/module.conf.ubuntu | 136 + .../patches/vmblock__3.0-3.9__1.0-100.0.patch | 11 + .../vmware/patches/vmblock__3.10__1.0-100.0.patch | 34 + .../patches/vmblock__3.11-9.9__1.0-11.0.patch | 123 + .../vmware/patches/vmci__4.3-4.3__12.0.0.patch | 26 + .../vmware/patches/vmmon__4.3-4.3__12.0.0.patch | 13 + .../patches/vmnet__3.13-3.13__1.0-10.0.2.patch | 27 + core/modules/x11vnc/module.build | 19 + core/modules/x11vnc/module.conf | 6 + core/modules/x11vnc/module.conf.fedora | 6 + core/modules/x11vnc/module.conf.opensuse | 6 + core/modules/x11vnc/module.conf.ubuntu | 6 + core/modules/xorg/data/etc/X11/Xreset | 25 + core/modules/xorg/data/etc/X11/Xsession | 112 + core/modules/xorg/data/etc/X11/Xsetup | 16 + core/modules/xorg/data/etc/X11/Xstartup | 9 + .../xorg/data/opt/openslx/iptables/rules.d/70-xorg | 4 + core/modules/xorg/module.build | 22 + core/modules/xorg/module.conf | 19 + core/modules/xorg/module.conf.centos | 67 + core/modules/xorg/module.conf.debian | 40 + core/modules/xorg/module.conf.fedora | 69 + core/modules/xorg/module.conf.opensuse | 59 + core/modules/xorg/module.conf.opensuse.13.1 | 95 + core/modules/xorg/module.conf.opensuse.13.2 | 92 + core/modules/xorg/module.conf.ubuntu | 40 + core/modules/xorg/module.conf.ubuntu.16 | 37 + 993 files changed, 51755 insertions(+) create mode 100644 core/modules/alsa/data/etc/systemd/system/alsa-default-card.service create mode 120000 core/modules/alsa/data/etc/systemd/system/multi-user.target.wants/alsa-default-card.service create mode 100755 core/modules/alsa/data/opt/openslx/scripts/alsa-default_card create mode 100644 core/modules/alsa/module.build create mode 100644 core/modules/alsa/module.conf create mode 100644 core/modules/alsa/module.conf.debian create mode 100644 core/modules/alsa/module.conf.fedora create mode 100644 core/modules/alsa/module.conf.opensuse create mode 100644 core/modules/alsa/module.conf.scientific create mode 100644 core/modules/alsa/module.conf.ubuntu create mode 100644 core/modules/alsa/module.conf.ubuntu.12 create mode 100755 core/modules/beamergui/data/etc/X11/Xsession.d/98-modesetter-wrapper create mode 100755 core/modules/beamergui/data/etc/X11/Xsession.d/99-beamergui-starter_script create mode 100755 core/modules/beamergui/data/opt/openslx/scripts/beamergui-mode_setter create mode 100755 core/modules/beamergui/data/opt/openslx/vmchooser/sessionstart.d/99-kill_beamergui create mode 100644 core/modules/beamergui/module.build create mode 100644 core/modules/beamergui/module.conf create mode 100644 core/modules/beamergui/module.conf.debian create mode 100644 core/modules/beamergui/module.conf.fedora create mode 100644 core/modules/beamergui/module.conf.opensuse create mode 100644 core/modules/beamergui/module.conf.ubuntu create mode 100644 core/modules/brazilian/data/etc/X11/xorg.conf.d/90-keytable.conf create mode 100644 core/modules/brazilian/data/etc/default/locale create mode 100644 core/modules/brazilian/data/etc/systemd/system/basic.target.wants/load-brazilian-keymap.service create mode 100644 core/modules/brazilian/data/etc/systemd/system/load-brazilian-keymap.service create mode 100644 core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_compose_keyboard_translation.map create mode 100644 core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_keyboard_translation.map create mode 100755 core/modules/brazilian/data/opt/openslx/scripts/systemd-load_brazilian_keymaps create mode 100644 core/modules/brazilian/module.build create mode 100644 core/modules/brazilian/module.conf create mode 100644 core/modules/brazilian/module.conf.debian create mode 100644 core/modules/brazilian/module.conf.opensuse create mode 100644 core/modules/brazilian/module.conf.scientific create mode 100644 core/modules/brazilian/module.conf.ubuntu create mode 100644 core/modules/busybox/fbsplash-center.patch create mode 100644 core/modules/busybox/fbsplash-fillbg.patch create mode 100644 core/modules/busybox/module.build create mode 100644 core/modules/busybox/module.conf create mode 100644 core/modules/busybox/module.conf.centos create mode 100644 core/modules/busybox/openslx-busybox-config create mode 100644 core/modules/consolekit/TODO create mode 120000 core/modules/consolekit/data/etc/systemd/system/basic.target.wants/console-kit-daemon.service create mode 100644 core/modules/consolekit/data/etc/systemd/system/console-kit-daemon.service create mode 100644 core/modules/consolekit/data/usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service create mode 100644 core/modules/consolekit/module.build create mode 100644 core/modules/consolekit/module.conf create mode 100644 core/modules/consolekit/module.conf.debian create mode 100644 core/modules/consolekit/module.conf.opensuse create mode 100644 core/modules/consolekit/module.conf.ubuntu create mode 100644 core/modules/consolekit/templates/consolekit.dbus.service create mode 100644 core/modules/consolekit/templates/consolekit.systemd.service create mode 120000 core/modules/cpugovernor/data/etc/systemd/system/basic.target.wants/cpu-governor.service create mode 100644 core/modules/cpugovernor/data/etc/systemd/system/cpu-governor.service create mode 100755 core/modules/cpugovernor/data/opt/openslx/scripts/systemd-cpu_governor create mode 100644 core/modules/cpugovernor/module.build create mode 100644 core/modules/cpugovernor/module.conf create mode 100644 core/modules/cron/data/etc/cron.d/.placeholder create mode 100644 core/modules/cron/data/etc/systemd/system/cron.service create mode 120000 core/modules/cron/data/etc/systemd/system/multi-user.target.wants/cron.service create mode 100755 core/modules/cron/data/opt/openslx/scripts/cron-sendmail create mode 100644 core/modules/cron/module.build create mode 100644 core/modules/cron/module.conf create mode 100644 core/modules/cups/data/etc/cups/cupsd.conf create mode 100644 core/modules/cups/data/etc/systemd/system/cups.service create mode 120000 core/modules/cups/data/etc/systemd/system/network.target.wants/cups.service create mode 100644 core/modules/cups/module.build create mode 100644 core/modules/cups/module.conf create mode 100644 core/modules/cups/module.conf.debian create mode 100644 core/modules/cups/module.conf.fedora create mode 100644 core/modules/cups/module.conf.opensuse create mode 100644 core/modules/cups/module.conf.opensuse.13.2 create mode 100644 core/modules/cups/module.conf.ubuntu create mode 100644 core/modules/cups/module.conf.ubuntu.12 create mode 100644 core/modules/cups/module.conf.ubuntu.13 create mode 100644 core/modules/cups/module.conf.ubuntu.13.10 create mode 100644 core/modules/cups/module.conf.ubuntu.14 create mode 100644 core/modules/cups/module.conf.ubuntu.16 create mode 100644 core/modules/dbus/data/etc/dbus-1/system.d/99-nsa-prism-module.conf create mode 100644 core/modules/dbus/data/etc/systemd/system/dbus.socket create mode 120000 core/modules/dbus/data/etc/systemd/system/multi-user.target.wants/dbus.service create mode 120000 core/modules/dbus/data/etc/systemd/system/sockets.target.wants/dbus.socket create mode 100644 core/modules/dbus/module.build create mode 100644 core/modules/dbus/module.conf create mode 100644 core/modules/dbus/module.conf.centos create mode 100644 core/modules/dbus/module.conf.debian create mode 100644 core/modules/dbus/module.conf.fedora create mode 100644 core/modules/dbus/module.conf.opensuse create mode 100644 core/modules/dbus/module.conf.ubuntu create mode 100644 core/modules/dbus/module.conf.ubuntu.16 create mode 100644 core/modules/dbus/templates/dbus.service create mode 100755 core/modules/debug/data/addon-init create mode 100644 core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service create mode 120000 core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service create mode 100755 core/modules/debug/data/opt/openslx/bin/debug_report create mode 100755 core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger create mode 100644 core/modules/debug/module.build create mode 100644 core/modules/debug/module.conf create mode 100644 core/modules/debug/module.conf.debian create mode 100644 core/modules/debug/module.conf.opensuse create mode 100644 core/modules/debug/module.conf.ubuntu create mode 100644 core/modules/dhcpc-busybox/README create mode 120000 core/modules/dhcpc-busybox/data/etc/systemd/system/dhcpc@.service create mode 100644 core/modules/dhcpc-busybox/data/etc/systemd/system/udhcpc@.service create mode 100644 core/modules/dhcpc-busybox/data/etc/tmpfiles.d/udhcpc.conf create mode 100755 core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++ create mode 100755 core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx create mode 100644 core/modules/dhcpc-busybox/module.build create mode 100644 core/modules/dhcpc-busybox/module.conf create mode 100644 core/modules/dnbd3/TODO create mode 100644 core/modules/dnbd3/data/etc/fuse.conf create mode 100644 core/modules/dnbd3/data/etc/systemd/system/setup-dnbd3.service create mode 120000 core/modules/dnbd3/data/etc/systemd/system/sysinit.target.wants/setup-dnbd3.service create mode 100644 core/modules/dnbd3/data/etc/udev/rules.d/90-dnbd3.rules create mode 100644 core/modules/dnbd3/data/opt/openslx/scripts/pam_script_auth.d/10-fuse create mode 100755 core/modules/dnbd3/data/opt/openslx/scripts/systemd-setup_dnbd3 create mode 100644 core/modules/dnbd3/module.build create mode 100644 core/modules/dnbd3/module.conf create mode 100644 core/modules/dnbd3/module.conf.debian create mode 100644 core/modules/dnbd3/module.conf.opensuse create mode 100644 core/modules/dnbd3/module.conf.ubuntu create mode 100755 core/modules/firefox/data/opt/openslx/scripts/firefox-session create mode 100755 core/modules/firefox/data/usr/share/xsessions/firefox.desktop create mode 100644 core/modules/firefox/module.build create mode 100644 core/modules/firefox/module.conf create mode 100644 core/modules/firefox/module.conf.ubuntu create mode 100755 core/modules/gdisk/data/inc/prepare_localhd.functions create mode 100755 core/modules/gdisk/data/inc/setup_gpt.differentapproach create mode 100755 core/modules/gdisk/data/inc/setup_gpt.old create mode 100644 core/modules/gdisk/module.build create mode 100644 core/modules/gdisk/module.conf create mode 100644 core/modules/gdisk/module.conf.centos create mode 100644 core/modules/german/data/etc/X11/xorg.conf.d/90-keytable.conf create mode 100644 core/modules/german/data/etc/default/locale create mode 120000 core/modules/german/data/etc/systemd/system/basic.target.wants/load-german-keymap.service create mode 100644 core/modules/german/data/etc/systemd/system/load-german-keymap.service create mode 100644 core/modules/german/data/opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map create mode 100644 core/modules/german/data/opt/openslx/keymaps/german_qwertz_keyboard_translation.map create mode 100755 core/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps create mode 100644 core/modules/german/module.build create mode 100644 core/modules/german/module.conf create mode 100644 core/modules/german/module.conf.debian create mode 100644 core/modules/german/module.conf.opensuse create mode 100644 core/modules/german/module.conf.scientific create mode 100644 core/modules/german/module.conf.ubuntu create mode 100644 core/modules/hardware-stats/data/etc/systemd/system/hardware-stats.service create mode 120000 core/modules/hardware-stats/data/etc/systemd/system/multi-user.target.wants/hardware-stats.service create mode 100644 core/modules/hardware-stats/data/etc/systemd/system/shutdown-usage-log.service create mode 120000 core/modules/hardware-stats/data/etc/systemd/system/shutdown.target.wants/shutdown-usage-log.service create mode 100755 core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update create mode 120000 core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_close.d/usage_stats create mode 100644 core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_open.d/usage_stats create mode 100755 core/modules/hardware-stats/data/opt/openslx/scripts/shutdown-system_usage_update create mode 100755 core/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats create mode 100644 core/modules/hardware-stats/module.build create mode 100644 core/modules/hardware-stats/module.conf create mode 100644 core/modules/hardware-stats/module.conf.ubuntu create mode 100644 core/modules/idleaction/data/etc/cron.d/openslx-idleaction create mode 100755 core/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script create mode 100755 core/modules/idleaction/data/opt/openslx/scripts/idleaction-scheduled_action create mode 100644 core/modules/idleaction/module.build create mode 100644 core/modules/idleaction/module.conf create mode 100644 core/modules/idleaction/module.conf.centos create mode 100644 core/modules/idleaction/module.conf.debian create mode 100644 core/modules/idleaction/module.conf.fedora create mode 100644 core/modules/idleaction/module.conf.opensuse create mode 100644 core/modules/idleaction/module.conf.ubuntu create mode 100644 core/modules/idleaction/xprintidle.c create mode 120000 core/modules/iptables-helper/data/etc/systemd/system/basic.target.wants/openslx-iptables.service create mode 100644 core/modules/iptables-helper/data/etc/systemd/system/openslx-iptables.service create mode 100755 core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader create mode 100755 core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker create mode 100644 core/modules/iptables-helper/data/opt/openslx/iptables/rules.d/.placeholder create mode 100644 core/modules/iptables-helper/module.build create mode 100644 core/modules/iptables-helper/module.conf create mode 100644 core/modules/kdm/data/etc/branding.svg create mode 120000 core/modules/kdm/data/etc/kde create mode 100644 core/modules/kdm/data/etc/kde4/kdm/kdmrc create mode 120000 core/modules/kdm/data/etc/systemd/system/display-manager.service create mode 100644 core/modules/kdm/data/etc/systemd/system/kdm.service create mode 100644 core/modules/kdm/data/etc/tmpfiles.d/kdm.conf create mode 120000 core/modules/kdm/data/usr/share/config/kdm create mode 100755 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/color.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter_inactive.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/environment.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/main-runner.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo-main.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions_inactive.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system_inactive.png create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/theme.xml create mode 100644 core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/welcome-time-shadowed.png create mode 120000 core/modules/kdm/data/usr/share/kde4/config/kdm create mode 100644 core/modules/kdm/data/var/lib/kdm/.placeholder create mode 100644 core/modules/kdm/module.build create mode 100644 core/modules/kdm/module.conf create mode 100644 core/modules/kdm/module.conf.debian create mode 100644 core/modules/kdm/module.conf.fedora create mode 100644 core/modules/kdm/module.conf.opensuse create mode 100644 core/modules/kdm/module.conf.scientific create mode 100644 core/modules/kdm/module.conf.ubuntu create mode 100644 core/modules/kdm/module.conf.ubuntu.14 create mode 100644 core/modules/kernel-system/TODO create mode 100644 core/modules/kernel-system/module.build create mode 100644 core/modules/kernel-system/module.conf create mode 100644 core/modules/kernel-system/module.conf.fedora create mode 100644 core/modules/kernel-system/module.conf.opensuse create mode 100644 core/modules/kernel-system/module.conf.ubuntu create mode 100755 core/modules/kernel-system/patch-speaker create mode 100644 core/modules/kernel-vanilla/module.build create mode 100644 core/modules/kernel-vanilla/module.conf create mode 100644 core/modules/kernel/.gitignore create mode 100644 core/modules/kernel/module.build create mode 100644 core/modules/kernel/module.conf create mode 100644 core/modules/kernel/module.conf.centos create mode 100644 core/modules/kernel/module.conf.fedora create mode 100644 core/modules/kernel/module.conf.opensuse create mode 100644 core/modules/kernel/module.conf.ubuntu create mode 100644 core/modules/kernel/module.conf.ubuntu.13.04 create mode 100644 core/modules/kernel/module.conf.ubuntu.14.04 create mode 100755 core/modules/kernel/patch-speaker create mode 100644 core/modules/ldm-gtk-greeter/TODO create mode 100644 core/modules/ldm-gtk-greeter/data/etc/fonts/fonts.conf create mode 100644 core/modules/ldm-gtk-greeter/data/etc/lightdm/lightdm-gtk-greeter.conf create mode 100644 core/modules/ldm-gtk-greeter/data/etc/lightdm/lightdm.conf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/backgrounds/warty-final-ubuntu.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-B.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-BI.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-C.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-L.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-LI.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-RI.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-B.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-BI.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-R.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-RI.ttf create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/icons/hicolor/48x48/devices/computer.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/icons/hicolor/index.theme create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/icons/hicolor/scalable/apps/accessibility.svg create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/icons/hicolor/scalable/apps/system-shutdown.svg create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/banshee.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/chromium.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/ff.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/gedit.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/gnome-panel.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/gnome-terminal.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/arrow-down.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/handle-h.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/handle-v.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-center-normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-center-prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-center-pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-left-normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-left-prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-left-pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-right-normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-right-prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/mode-right-pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/panel-button-active.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/panel-button-hover.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/panel-button-inactive.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/img/panel.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/nautilus.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/apps/ubuntuone.rc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-2.0/gtkrc create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/apps/gnome-panel.css create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/apps/gnome-terminal.css create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/apps/nautilus.css create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/apps/unity.css create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/assets/scrollbar_handle.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/assets/scrollbar_handle_vertical.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/assets/slider.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/assets/slider_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/assets/slider_prelight_vertical.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/assets/slider_vertical.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/gtk.css create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/gtk-3.0/settings.ini create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/index.theme create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close_unfocused_over.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/close_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize_unfocused_over.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/maximize_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/menu.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/menu_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize_unfocused_over.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/minimize_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/trough_left.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/trough_middle.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/trough_right.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize_unfocused_over.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/metacity-1/unmaximize_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/close.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/close_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/close_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/close_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/close_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/close_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/close_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/maximize.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/maximize_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/maximize_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/maximize_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/maximize_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/maximize_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/maximize_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/minimize.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/minimize_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/minimize_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/minimize_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/minimize_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/minimize_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/minimize_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/unmaximize.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/unmaximize_focused_normal.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/unmaximize_focused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/unmaximize_focused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/unmaximize_unfocused.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/unmaximize_unfocused_prelight.png create mode 100644 core/modules/ldm-gtk-greeter/data/usr/share/themes/Ambiance/unity/unmaximize_unfocused_pressed.png create mode 100644 core/modules/ldm-gtk-greeter/module.build create mode 100644 core/modules/ldm-gtk-greeter/module.conf create mode 100644 core/modules/ldm/TODO create mode 120000 core/modules/ldm/data/etc/systemd/system/graphical.target.wants/lightdm.service create mode 100644 core/modules/ldm/data/etc/systemd/system/lightdm.service create mode 100644 core/modules/ldm/module.build create mode 100644 core/modules/ldm/module.conf create mode 100644 core/modules/ncp/module.build create mode 100644 core/modules/ncp/module.conf create mode 100644 core/modules/ncp/module.conf.debian create mode 100644 core/modules/ncp/module.conf.ubuntu create mode 100644 core/modules/ncp/module.conf.ubuntu.14 create mode 100644 core/modules/netpoint-lightdm/data/etc/lightdm/lightdm.conf create mode 100644 core/modules/netpoint-lightdm/data/etc/sysconfig/displaymanager create mode 100644 core/modules/netpoint-lightdm/data/etc/sysconfig/windowmanager create mode 100644 core/modules/netpoint-lightdm/data/usr/local/bin/guest-account create mode 100755 core/modules/netpoint-lightdm/data/usr/local/bin/guest-cleanup create mode 100755 core/modules/netpoint-lightdm/data/usr/local/bin/guest-session create mode 100755 core/modules/netpoint-lightdm/data/usr/local/bin/guest-setup create mode 100755 core/modules/netpoint-lightdm/data/usr/local/bin/netpoint.py create mode 100644 core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-google-smaller.png create mode 100644 core/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-rz-smaller.png create mode 100644 core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.css create mode 100644 core/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.glade create mode 100644 core/modules/netpoint-lightdm/data/usr/local/share/xgreeters/netpoint.desktop create mode 100644 core/modules/netpoint-lightdm/module.build create mode 100644 core/modules/netpoint-lightdm/module.conf create mode 100644 core/modules/netpoint-lightdm/module.conf.opensuse.13.2 create mode 100644 core/modules/nscd/data/etc/nscd.conf create mode 120000 core/modules/nscd/data/etc/systemd/system/basic.target.wants/nscd.service create mode 100644 core/modules/nscd/data/etc/systemd/system/nscd.service create mode 100644 core/modules/nscd/data/etc/tmpfiles.d/nscd.conf create mode 100644 core/modules/nscd/module.build create mode 100644 core/modules/nscd/module.conf create mode 100644 core/modules/nscd/module.conf.centos create mode 100644 core/modules/nscd/module.conf.debian create mode 100644 core/modules/nscd/module.conf.fedora create mode 100644 core/modules/nscd/module.conf.opensuse create mode 100644 core/modules/nscd/module.conf.ubuntu create mode 100644 core/modules/nslcd/module.build create mode 100644 core/modules/nslcd/module.conf create mode 100644 core/modules/nslcd/module.conf.debian create mode 100644 core/modules/nslcd/module.conf.ubuntu create mode 100644 core/modules/nslcd/templates/nslcd-systemd.service create mode 100644 core/modules/nvidia_kernel/module.build create mode 100644 core/modules/nvidia_kernel/module.conf create mode 100755 core/modules/nvidia_libs/data/addon-init create mode 100644 core/modules/nvidia_libs/module.build create mode 100644 core/modules/nvidia_libs/module.conf create mode 100644 core/modules/nvidia_libs/module.conf.ubuntu create mode 100644 core/modules/openbox/data/etc/xdg/openbox/menu.xml create mode 100644 core/modules/openbox/data/etc/xdg/openbox/rc.xml create mode 100644 core/modules/openbox/data/etc/xdg/openbox/rc.xml.safe create mode 100644 core/modules/openbox/data/usr/share/icons/hicolor/48x48/apps/openbox.png create mode 100644 core/modules/openbox/data/usr/share/xsessions/openbox.desktop create mode 100644 core/modules/openbox/module.build create mode 100644 core/modules/openbox/module.conf create mode 100644 core/modules/openbox/module.conf.debian create mode 100644 core/modules/openbox/module.conf.fedora create mode 100644 core/modules/openbox/module.conf.opensuse create mode 100644 core/modules/openbox/module.conf.ubuntu create mode 100644 core/modules/openbox/module.conf.zypper create mode 100644 core/modules/openstack/README create mode 100644 core/modules/openstack/module.build create mode 100644 core/modules/openstack/module.conf create mode 100644 core/modules/openstack/module.conf.ubuntu.14 create mode 100644 core/modules/pam-common-share/data/opt/openslx/scripts/pam_script_mount_common_share create mode 100644 core/modules/pam-common-share/module.build create mode 100644 core/modules/pam-common-share/module.conf create mode 100644 core/modules/pam/TODO create mode 120000 core/modules/pam/data/etc/pam-script/pam_script_auth create mode 120000 core/modules/pam/data/etc/pam-script/pam_script_ses_close create mode 120000 core/modules/pam/data/etc/pam-script/pam_script_ses_open create mode 100644 core/modules/pam/data/etc/pam.d/common-account create mode 100644 core/modules/pam/data/etc/pam.d/common-auth create mode 100644 core/modules/pam/data/etc/pam.d/common-password create mode 100644 core/modules/pam/data/etc/pam.d/common-session create mode 100644 core/modules/pam/data/etc/pam.d/common-session-noninteractive create mode 100644 core/modules/pam/data/etc/pam.d/kdm create mode 100644 core/modules/pam/data/etc/pam.d/kdm-np create mode 100644 core/modules/pam/data/etc/pam.d/login create mode 100644 core/modules/pam/data/etc/pam.d/other create mode 100644 core/modules/pam/data/etc/pam.d/passwd create mode 100644 core/modules/pam/data/etc/pam.d/sshd create mode 100644 core/modules/pam/data/etc/pam.d/vmware-authd create mode 100644 core/modules/pam/data/etc/pam.d/xdm create mode 100644 core/modules/pam/data/etc/security/pam_env.conf create mode 100644 core/modules/pam/data/etc/tmpfiles.d/pipefs.conf create mode 100755 core/modules/pam/data/opt/openslx/scripts/pam_script_auth create mode 100755 core/modules/pam/data/opt/openslx/scripts/pam_script_ses_close create mode 100755 core/modules/pam/data/opt/openslx/scripts/pam_script_ses_open create mode 100644 core/modules/pam/module.build create mode 100644 core/modules/pam/module.conf create mode 100644 core/modules/pam/module.conf.centos create mode 100644 core/modules/pam/module.conf.debian create mode 100644 core/modules/pam/module.conf.fedora create mode 100644 core/modules/pam/module.conf.opensuse create mode 100644 core/modules/pam/module.conf.opensuse.13.1 create mode 100644 core/modules/pam/module.conf.opensuse.13.2 create mode 100644 core/modules/pam/module.conf.ubuntu create mode 100644 core/modules/pam/module.conf.ubuntu.14 create mode 100644 core/modules/pam/module.conf.ubuntu.16 create mode 100644 core/modules/pam/sslconnect.c create mode 100644 core/modules/plymouth/data/etc/systemd/system/plymouth-quit.service create mode 100644 core/modules/plymouth/data/etc/tmpfiles.d/plymouth.conf create mode 100644 core/modules/plymouth/module.build create mode 100644 core/modules/plymouth/module.conf create mode 100644 core/modules/plymouth/module.conf.debian create mode 100644 core/modules/plymouth/module.conf.opensuse create mode 100644 core/modules/plymouth/module.conf.ubuntu create mode 120000 core/modules/polkit/data/etc/systemd/system/basic.target.wants/polkit.service create mode 100644 core/modules/polkit/module.build create mode 100644 core/modules/polkit/module.conf create mode 100644 core/modules/polkit/module.conf.debian create mode 100644 core/modules/polkit/module.conf.fedora create mode 100644 core/modules/polkit/module.conf.opensuse create mode 100644 core/modules/polkit/module.conf.ubuntu create mode 100644 core/modules/polkit/templates/dbus.service create mode 100644 core/modules/polkit/templates/systemd.service create mode 120000 core/modules/printergui/data/etc/systemd/system/network.target.wants/printergui.service create mode 100644 core/modules/printergui/data/etc/systemd/system/printergui.service create mode 100755 core/modules/printergui/data/opt/openslx/iptables/rules.d/50-lpd-redirect-and-fw create mode 100755 core/modules/printergui/data/opt/openslx/scripts/run-virt_print create mode 100755 core/modules/printergui/data/opt/openslx/scripts/systemd-printergui_preparation create mode 100644 core/modules/printergui/module.build create mode 100644 core/modules/printergui/module.conf create mode 100644 core/modules/printergui/module.conf.debian create mode 100644 core/modules/printergui/module.conf.fedora create mode 100644 core/modules/printergui/module.conf.opensuse create mode 100644 core/modules/printergui/module.conf.ubuntu create mode 100755 core/modules/pvs2/data/opt/openslx/scripts/setup-pvsmgr create mode 100755 core/modules/pvs2/data/opt/openslx/vmchooser/sessionstart.d/50-PVSclient create mode 100755 core/modules/pvs2/data/usr/share/xsessions/pvs2mgr.desktop create mode 100644 core/modules/pvs2/module.build create mode 100644 core/modules/pvs2/module.conf create mode 100644 core/modules/pvs2/module.conf.debian create mode 100644 core/modules/pvs2/module.conf.fedora create mode 100644 core/modules/pvs2/module.conf.opensuse create mode 100644 core/modules/pvs2/module.conf.ubuntu create mode 100755 core/modules/qemukvm/data/addon-init create mode 120000 core/modules/qemukvm/data/etc/systemd/system/graphical.target.wants/qemukvm.service create mode 100644 core/modules/qemukvm/data/etc/systemd/system/qemukvm.service create mode 100644 core/modules/qemukvm/data/opt/openslx/scripts/systemd-qemukvm_env create mode 100644 core/modules/qemukvm/data/opt/openslx/vmchooser/qemukvm/run-virt.include create mode 100644 core/modules/qemukvm/module.build create mode 100644 core/modules/qemukvm/module.conf create mode 100644 core/modules/qemukvm/module.conf.ubuntu create mode 100644 core/modules/redsocks/data/etc/redsocks.conf create mode 120000 core/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup-proxy.service create mode 100644 core/modules/redsocks/data/etc/systemd/system/redsocks.service create mode 100644 core/modules/redsocks/data/etc/systemd/system/setup-proxy.service create mode 100755 core/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy create mode 100644 core/modules/redsocks/module.build create mode 100644 core/modules/redsocks/module.conf create mode 100644 core/modules/redsocks/module.conf.debian create mode 100644 core/modules/redsocks/module.conf.fedora create mode 100644 core/modules/redsocks/module.conf.opensuse create mode 100644 core/modules/redsocks/module.conf.ubuntu create mode 100644 core/modules/rsyslogd/data/etc/rsyslog.conf create mode 100644 core/modules/rsyslogd/module.build create mode 100644 core/modules/rsyslogd/module.conf create mode 100644 core/modules/rsyslogd/module.conf.centos create mode 100644 core/modules/rsyslogd/module.conf.debian create mode 100644 core/modules/rsyslogd/module.conf.fedora create mode 100644 core/modules/rsyslogd/module.conf.opensuse create mode 100644 core/modules/rsyslogd/module.conf.opensuse.13.2 create mode 100644 core/modules/rsyslogd/module.conf.ubuntu create mode 100755 core/modules/run-virt/compile create mode 120000 core/modules/run-virt/data/etc/systemd/system/graphical.target.wants/run-virt-env.service create mode 100644 core/modules/run-virt/data/etc/systemd/system/mount-vm-store.service create mode 120000 core/modules/run-virt/data/etc/systemd/system/network.target.wants/mount-vm-store.service create mode 100644 core/modules/run-virt/data/etc/systemd/system/run-virt-env.service create mode 100755 core/modules/run-virt/data/opt/openslx/bin/clc.bash create mode 100755 core/modules/run-virt/data/opt/openslx/iptables/rules.d/50-virt-nat1-masquerading create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/start_pvs.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc create mode 100644 core/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc create mode 100755 core/modules/run-virt/data/opt/openslx/scripts/systemd-mount_vm_store create mode 100755 core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env create mode 100755 core/modules/run-virt/data/opt/openslx/scripts/vmchooser-clc create mode 100755 core/modules/run-virt/data/opt/openslx/scripts/vmchooser-run_virt create mode 100755 core/modules/run-virt/data/opt/openslx/scripts/vmchooser-xml_filter create mode 100644 core/modules/run-virt/data/opt/openslx/vmchooser/config/smb.conf create mode 100644 core/modules/run-virt/data/opt/openslx/vmchooser/config/udhcpd-nat1.conf create mode 100644 core/modules/run-virt/data/opt/openslx/vmchooser/config/vmchooser.conf create mode 100644 core/modules/run-virt/data/opt/openslx/vmchooser/data/SHARELWS.BAT create mode 100644 core/modules/run-virt/data/opt/openslx/vmchooser/data/bootpgm.exe create mode 100755 core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe create mode 100755 core/modules/run-virt/data/opt/openslx/xsessions/default.desktop create mode 100644 core/modules/run-virt/module.build create mode 100644 core/modules/run-virt/module.conf create mode 100644 core/modules/run-virt/module.conf.ubuntu create mode 100644 core/modules/run-virt/winres.c create mode 100644 core/modules/safe-mode/data/etc/systemd/system/exam.service create mode 100755 core/modules/safe-mode/data/opt/openslx/scripts/systemd-safe_mode create mode 100644 core/modules/safe-mode/module.build create mode 100644 core/modules/safe-mode/module.conf create mode 100644 core/modules/samba/module.build create mode 100644 core/modules/samba/module.conf create mode 100644 core/modules/samba/module.conf.opensuse create mode 100644 core/modules/samba/module.conf.ubuntu create mode 100644 core/modules/smartctl/data/etc/cron.d/openslx-smartctl create mode 120000 core/modules/smartctl/data/etc/systemd/system/basic.target.wants/smartctl.service create mode 100644 core/modules/smartctl/data/etc/systemd/system/smartctl.service create mode 100755 core/modules/smartctl/data/opt/openslx/scripts/systemd-smartctl create mode 100644 core/modules/smartctl/module.build create mode 100644 core/modules/smartctl/module.conf create mode 100644 core/modules/smartctl/module.conf.centos create mode 100644 core/modules/smartctl/module.conf.debian create mode 100644 core/modules/smartctl/module.conf.fedora create mode 100644 core/modules/smartctl/module.conf.opensuse create mode 100644 core/modules/smartctl/module.conf.ubuntu create mode 100644 core/modules/smbclient/data/etc/tmpfiles.d/ensure-smbconf-exists.conf create mode 100644 core/modules/smbclient/module.build create mode 100644 core/modules/smbclient/module.conf create mode 100644 core/modules/smbclient/module.conf.debian create mode 100644 core/modules/smbclient/module.conf.fedora create mode 100644 core/modules/smbclient/module.conf.opensuse create mode 100644 core/modules/smbclient/module.conf.ubuntu create mode 100644 core/modules/splash-openslx/README create mode 100644 core/modules/splash-openslx/data/etc/splash.ppm.gz create mode 100644 core/modules/splash-openslx/module.build create mode 100644 core/modules/splash-openslx/module.conf create mode 120000 core/modules/ssh-auth-keys/data/etc/systemd/system/basic.target.wants/ssh-auth-keys.service create mode 100644 core/modules/ssh-auth-keys/data/etc/systemd/system/ssh-auth-keys.service create mode 100755 core/modules/ssh-auth-keys/data/opt/openslx/scripts/systemd-ssh_auth_keys create mode 100644 core/modules/ssh-auth-keys/module.build create mode 100644 core/modules/ssh-auth-keys/module.conf create mode 100644 core/modules/sshd/TODO create mode 100644 core/modules/sshd/data/etc/issue.net create mode 100644 core/modules/sshd/data/etc/ssh/ssh_host_dsa_key create mode 100644 core/modules/sshd/data/etc/ssh/ssh_host_dsa_key.pub create mode 100644 core/modules/sshd/data/etc/ssh/ssh_host_ecdsa_key create mode 100644 core/modules/sshd/data/etc/ssh/ssh_host_ecdsa_key.pub create mode 100644 core/modules/sshd/data/etc/ssh/ssh_host_rsa_key create mode 100644 core/modules/sshd/data/etc/ssh/ssh_host_rsa_key.pub create mode 100644 core/modules/sshd/data/etc/ssh/sshd_config create mode 100644 core/modules/sshd/data/etc/systemd/system/sshd.service create mode 100644 core/modules/sshd/data/etc/tmpfiles.d/sshd.conf create mode 100644 core/modules/sshd/module.build create mode 100644 core/modules/sshd/module.conf create mode 100644 core/modules/sssd/module.build create mode 100644 core/modules/sssd/module.conf create mode 100644 core/modules/sssd/module.conf.opensuse.13.2 create mode 100644 core/modules/sssd/module.conf.ubuntu create mode 100644 core/modules/sssd/templates/sssd-systemd.service create mode 100644 core/modules/swiss/data/etc/X11/xorg.conf.d/90-keytable.conf create mode 100644 core/modules/swiss/data/etc/default/locale create mode 100644 core/modules/swiss/data/etc/systemd/system/basic.target.wants/load-swiss-keymap.service create mode 100644 core/modules/swiss/data/etc/systemd/system/load-swiss-keymap.service create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/compose.inc create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/german_qwertz_keyboard_translation.map create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/linux-keys-bare.inc create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/linux-with-alt-and-altgr.inc create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/qwertz-layout.inc create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/qwertz_de_CH-latin1.map create mode 100644 core/modules/swiss/data/opt/openslx/keymaps/qwertz_fr_CH-latin1.map create mode 100755 core/modules/swiss/data/opt/openslx/scripts/systemd-load_swiss_keymaps create mode 100644 core/modules/swiss/module.build create mode 100644 core/modules/swiss/module.conf create mode 100644 core/modules/swiss/module.conf.debian create mode 100644 core/modules/swiss/module.conf.opensuse create mode 100644 core/modules/swiss/module.conf.scientific create mode 100644 core/modules/swiss/module.conf.ubuntu create mode 100644 core/modules/systemd-distro/README create mode 100644 core/modules/systemd-distro/TODO create mode 100644 core/modules/systemd-distro/data/etc/systemd/system.conf create mode 100644 core/modules/systemd-distro/data/etc/systemd/system/network-interface@.service create mode 100644 core/modules/systemd-distro/data/etc/systemd/system/systemd-halt.service create mode 100644 core/modules/systemd-distro/data/etc/systemd/system/systemd-poweroff.service create mode 100644 core/modules/systemd-distro/data/etc/systemd/system/systemd-reboot.service create mode 100755 core/modules/systemd-distro/data/opt/openslx/scripts/systemd-shutdown_prescript create mode 100755 core/modules/systemd-distro/data/sbin/halt create mode 100755 core/modules/systemd-distro/data/sbin/init create mode 100755 core/modules/systemd-distro/data/sbin/poweroff create mode 100755 core/modules/systemd-distro/data/sbin/reboot create mode 100755 core/modules/systemd-distro/data/sbin/runlevel create mode 100755 core/modules/systemd-distro/data/sbin/shutdown create mode 100755 core/modules/systemd-distro/data/sbin/telinit create mode 100644 core/modules/systemd-distro/data/usr/lib/sysctl.d/50-default.conf create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/autovt@.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/basic.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/bluetooth.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/console-getty.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/console-shell.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/ctrl-alt-del.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/dbus-org.freedesktop.login1.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/debug-shell.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/default.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/dev-hugepages.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/dev-mqueue.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/emergency.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/emergency.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/final.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/getty.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/getty@.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/graphical.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/halt-local.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/halt.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/hibernate.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/hybrid-sleep.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/kexec.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/multi-user.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/multi-user.target.wants/getty.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/multi-user.target.wants/systemd-logind.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/multi-user.target.wants/systemd-user-sessions.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/network-online.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/network.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/paths.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/poweroff.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/printer.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/proc-sys-fs-binfmt_misc.automount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/proc-sys-fs-binfmt_misc.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/rc-local.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/reboot.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/remote-fs.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/serial-getty@.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/shutdown.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sigpwr.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sleep.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/smartcard.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sockets.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sockets.target.wants/systemd-journald.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sockets.target.wants/systemd-shutdownd.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sockets.target.wants/systemd-udevd-control.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sockets.target.wants/systemd-udevd-kernel.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sound.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/suspend.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/swap.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sys-fs-fuse-connections.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sys-kernel-config.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/dev-hugepages.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/dev-mqueue.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/sys-fs-fuse-connections.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/sys-kernel-config.mount create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-binfmt.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-journald.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-modules-load.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-sysctl.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-udev-trigger.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-udevd.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/sysinit.target.wants/systemd-vconsole-setup.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/syslog.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/system-update.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-binfmt.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-halt.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-hibernate.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-hybrid-sleep.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-journald.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-journald.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-logind.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-modules-load.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-nspawn@.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-poweroff.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-reboot.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-shutdownd.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-shutdownd.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-suspend.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-sysctl.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-tmpfiles-setup-dev.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-tmpfiles-setup.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-udev-settle.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-udev-trigger.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-udevd-control.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-udevd-kernel.socket create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-udevd.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-user-sessions.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/systemd-vconsole-setup.service create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/time-sync.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/timers.target create mode 100644 core/modules/systemd-distro/data/usr/lib/systemd/system/user@.service create mode 100644 core/modules/systemd-distro/data/usr/lib/udev/rules.d/70-uaccess-floppy.rules create mode 100644 core/modules/systemd-distro/data/usr/lib/udev/rules.d/99-systemd.rules create mode 100644 core/modules/systemd-distro/module.build create mode 100644 core/modules/systemd-distro/module.conf create mode 100644 core/modules/systemd-distro/module.conf.centos create mode 100644 core/modules/systemd-distro/module.conf.debian create mode 100644 core/modules/systemd-distro/module.conf.fedora create mode 100644 core/modules/systemd-distro/module.conf.opensuse create mode 100644 core/modules/systemd-distro/module.conf.scientific create mode 100644 core/modules/systemd-distro/module.conf.ubuntu create mode 100644 core/modules/systemd-distro/module.conf.ubuntu.14 create mode 100644 core/modules/systemd-distro/module.conf.ubuntu.16 create mode 100644 core/modules/systemd/README create mode 100644 core/modules/systemd/TODO create mode 100644 core/modules/systemd/data/etc/systemd/system/network-interface@.service create mode 100644 core/modules/systemd/data/etc/systemd/system/systemd-halt.service create mode 100644 core/modules/systemd/data/etc/systemd/system/systemd-poweroff.service create mode 100644 core/modules/systemd/data/etc/systemd/system/systemd-reboot.service create mode 100755 core/modules/systemd/data/opt/openslx/scripts/systemd-shutdown_prescript create mode 100755 core/modules/systemd/data/opt/openslx/scripts/tty-init create mode 120000 core/modules/systemd/data/sbin/halt create mode 120000 core/modules/systemd/data/sbin/init create mode 120000 core/modules/systemd/data/sbin/poweroff create mode 120000 core/modules/systemd/data/sbin/reboot create mode 120000 core/modules/systemd/data/sbin/runlevel create mode 120000 core/modules/systemd/data/sbin/shutdown create mode 120000 core/modules/systemd/data/sbin/telinit create mode 100644 core/modules/systemd/data/usr/lib/sysctl.d/50-default.conf create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/autovt@.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/basic.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/bluetooth.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/console-getty.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/console-shell.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/ctrl-alt-del.target create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/dbus-org.freedesktop.login1.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/debug-shell.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/default.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/dev-hugepages.mount create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/dev-mqueue.mount create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/emergency.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/emergency.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/final.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/getty.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/getty@.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/graphical.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/halt-local.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/halt.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/hibernate.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/hybrid-sleep.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/kexec.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/multi-user.target create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/multi-user.target.wants/getty.target create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/multi-user.target.wants/systemd-logind.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/multi-user.target.wants/systemd-user-sessions.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/network-online.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/network.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/paths.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/poweroff.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/printer.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/proc-sys-fs-binfmt_misc.automount create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/proc-sys-fs-binfmt_misc.mount create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/rc-local.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/reboot.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/remote-fs.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/serial-getty@.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/shutdown.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/sigpwr.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/sleep.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/smartcard.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/sockets.target create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sockets.target.wants/systemd-journald.socket create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sockets.target.wants/systemd-shutdownd.socket create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sockets.target.wants/systemd-udevd-control.socket create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sockets.target.wants/systemd-udevd-kernel.socket create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/sound.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/suspend.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/swap.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/sys-fs-fuse-connections.mount create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/sys-kernel-config.mount create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/dev-hugepages.mount create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/dev-mqueue.mount create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/sys-fs-fuse-connections.mount create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/sys-kernel-config.mount create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-binfmt.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-journald.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-modules-load.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-sysctl.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-udev-trigger.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-udevd.service create mode 120000 core/modules/systemd/data/usr/lib/systemd/system/sysinit.target.wants/systemd-vconsole-setup.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/syslog.socket create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/system-update.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-binfmt.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-halt.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-hibernate.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-hybrid-sleep.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-journald.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-journald.socket create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-logind.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-modules-load.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-nspawn@.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-poweroff.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-reboot.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-shutdownd.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-shutdownd.socket create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-suspend.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-sysctl.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-tmpfiles-setup-dev.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-tmpfiles-setup.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-udev-settle.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-udev-trigger.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-udevd-control.socket create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-udevd-kernel.socket create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-udevd.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-user-sessions.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/systemd-vconsole-setup.service create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/time-sync.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/timers.target create mode 100644 core/modules/systemd/data/usr/lib/systemd/system/user@.service create mode 100644 core/modules/systemd/data/usr/lib/tmpfiles.d/etc.conf create mode 100644 core/modules/systemd/data/usr/lib/udev/rules.d/70-uaccess-floppy.rules create mode 100644 core/modules/systemd/data/usr/lib/udev/rules.d/99-systemd.rules create mode 100644 core/modules/systemd/module.build create mode 100644 core/modules/systemd/module.conf create mode 100644 core/modules/systemd/module.conf.centos create mode 100644 core/modules/systemd/module.conf.debian create mode 100644 core/modules/systemd/module.conf.fedora create mode 100644 core/modules/systemd/module.conf.opensuse create mode 100644 core/modules/systemd/module.conf.scientific create mode 100644 core/modules/systemd/module.conf.ubuntu create mode 100644 core/modules/systemd/module.conf.ubuntu.14 create mode 100644 core/modules/systemd/module.conf.ubuntu.16 create mode 100644 core/modules/systemd/systemd-openslx-229.patch create mode 100644 core/modules/systemd/systemd-openslx.patch create mode 100644 core/modules/udisks/data/usr/share/polkit-1/rules.d/10-drives.rules create mode 100644 core/modules/udisks/module.build create mode 100644 core/modules/udisks/module.conf create mode 100644 core/modules/udisks/module.conf.debian create mode 100644 core/modules/udisks/module.conf.fedora create mode 100644 core/modules/udisks/module.conf.opensuse create mode 100644 core/modules/udisks/module.conf.ubuntu create mode 100644 core/modules/udisks/module.conf.ubuntu.12 create mode 100644 core/modules/udisks/module.conf.ubuntu.14 create mode 100644 core/modules/udisks/module.conf.ubuntu.16 create mode 100644 core/modules/udisks/templates/udisks.dbus.service create mode 100644 core/modules/udisks/templates/udisks.systemd.service create mode 100644 core/modules/udisks/templates/udisks2.dbus.service create mode 100644 core/modules/udisks/templates/udisks2.systemd.service create mode 100644 core/modules/vbox/README create mode 100755 core/modules/vbox/data/addon-init create mode 120000 core/modules/vbox/data/etc/systemd/system/graphical.target.wants/vbox.service create mode 100644 core/modules/vbox/data/etc/systemd/system/vbox.service create mode 100644 core/modules/vbox/data/etc/udev/rules.d/60-vboxdrv.rules create mode 100755 core/modules/vbox/data/opt/openslx/scripts/systemd-vbox_env create mode 100644 core/modules/vbox/data/opt/openslx/vmchooser/virtualbox/empty-diff.vdi.gz create mode 100644 core/modules/vbox/data/opt/openslx/vmchooser/virtualbox/machine.include create mode 100755 core/modules/vbox/data/opt/openslx/vmchooser/virtualbox/run-virt.include create mode 100644 core/modules/vbox/data/opt/openslx/vmchooser/virtualbox/rwimg.vdi.gz create mode 100644 core/modules/vbox/data/opt/openslx/vmchooser/virtualbox/virtualbox.conf create mode 100644 core/modules/vbox/data/opt/openslx/vmchooser/virtualbox/virtualbox.include create mode 100644 core/modules/vbox/module.build create mode 100644 core/modules/vbox/module.conf create mode 100644 core/modules/vbox/module.conf.opensuse create mode 100644 core/modules/vbox/module.conf.opensuse.12.3 create mode 100644 core/modules/vbox/module.conf.ubuntu create mode 100644 core/modules/vbox/module.conf.ubuntu.13.04 create mode 100644 core/modules/vbox/module.conf.ubuntu.13.10 create mode 100644 core/modules/vbox/module.conf.ubuntu.14 create mode 100644 core/modules/vbox/module.conf.ubuntu.16 create mode 100644 core/modules/vmchooser/TODO create mode 100755 core/modules/vmchooser/data/opt/openslx/vmchooser/sessionstart create mode 100644 core/modules/vmchooser/data/opt/openslx/vmchooser/themes/openslx/openslx-left.png create mode 100644 core/modules/vmchooser/data/opt/openslx/vmchooser/themes/openslx/openslx-right.png create mode 100644 core/modules/vmchooser/data/opt/openslx/vmchooser/themes/openslx/openslx.ini create mode 100644 core/modules/vmchooser/module.build create mode 100644 core/modules/vmchooser/module.conf create mode 100644 core/modules/vmchooser/module.conf.debian create mode 100644 core/modules/vmchooser/module.conf.fedora create mode 100644 core/modules/vmchooser/module.conf.opensuse create mode 100644 core/modules/vmchooser/module.conf.ubuntu create mode 100644 core/modules/vmchooser2/data/etc/tmpfiles.d/vmchooser-cache.conf create mode 100755 core/modules/vmchooser2/data/opt/openslx/bin/vmchooser create mode 100755 core/modules/vmchooser2/data/opt/openslx/vmchooser/sessionstart create mode 100755 core/modules/vmchooser2/data/opt/openslx/vmchooser/sessionstart.d/log-selected-session create mode 100644 core/modules/vmchooser2/data/opt/openslx/vmchooser/themes/bwlehrpool/bwlehrpool-left.png create mode 100644 core/modules/vmchooser2/data/opt/openslx/vmchooser/themes/bwlehrpool/bwlehrpool-right.png create mode 100644 core/modules/vmchooser2/data/opt/openslx/vmchooser/themes/bwlehrpool/bwlehrpool.ini create mode 100644 core/modules/vmchooser2/module.build create mode 100644 core/modules/vmchooser2/module.conf create mode 100644 core/modules/vmchooser2/module.conf.debian create mode 100644 core/modules/vmchooser2/module.conf.opensuse create mode 100644 core/modules/vmchooser2/module.conf.ubuntu create mode 100755 core/modules/vmware/data/addon-init create mode 100644 core/modules/vmware/data/etc/X11/Xreset.d/vmware create mode 120000 core/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service create mode 100644 core/modules/vmware/data/etc/systemd/system/vmware.service create mode 100644 core/modules/vmware/data/etc/vmware-vix/bootstrap create mode 100644 core/modules/vmware/data/etc/vmware/bootstrap create mode 120000 core/modules/vmware/data/etc/vmware/icu create mode 100644 core/modules/vmware/data/etc/vmware/locations create mode 100644 core/modules/vmware/data/etc/vmware/usbarb.rules create mode 100755 core/modules/vmware/data/opt/openslx/bin/vmplayer create mode 120000 core/modules/vmware/data/opt/openslx/bin/vmware create mode 100755 core/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmhome_preferences_file.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_vmware_include_variables.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/nvram create mode 100644 core/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include create mode 120000 core/modules/vmware/data/usr/bin/vmplayer create mode 120000 core/modules/vmware/data/usr/bin/vmware create mode 100644 core/modules/vmware/data/usr/share/icons/hicolor/index.theme create mode 100644 core/modules/vmware/module.build create mode 100644 core/modules/vmware/module.conf create mode 100644 core/modules/vmware/module.conf.ubuntu create mode 100644 core/modules/vmware/patches/vmblock__3.0-3.9__1.0-100.0.patch create mode 100644 core/modules/vmware/patches/vmblock__3.10__1.0-100.0.patch create mode 100644 core/modules/vmware/patches/vmblock__3.11-9.9__1.0-11.0.patch create mode 100644 core/modules/vmware/patches/vmci__4.3-4.3__12.0.0.patch create mode 100644 core/modules/vmware/patches/vmmon__4.3-4.3__12.0.0.patch create mode 100644 core/modules/vmware/patches/vmnet__3.13-3.13__1.0-10.0.2.patch create mode 100644 core/modules/x11vnc/module.build create mode 100644 core/modules/x11vnc/module.conf create mode 100644 core/modules/x11vnc/module.conf.fedora create mode 100644 core/modules/x11vnc/module.conf.opensuse create mode 100644 core/modules/x11vnc/module.conf.ubuntu create mode 100755 core/modules/xorg/data/etc/X11/Xreset create mode 100755 core/modules/xorg/data/etc/X11/Xsession create mode 100755 core/modules/xorg/data/etc/X11/Xsetup create mode 100755 core/modules/xorg/data/etc/X11/Xstartup create mode 100755 core/modules/xorg/data/opt/openslx/iptables/rules.d/70-xorg create mode 100644 core/modules/xorg/module.build create mode 100644 core/modules/xorg/module.conf create mode 100644 core/modules/xorg/module.conf.centos create mode 100644 core/modules/xorg/module.conf.debian create mode 100644 core/modules/xorg/module.conf.fedora create mode 100644 core/modules/xorg/module.conf.opensuse create mode 100644 core/modules/xorg/module.conf.opensuse.13.1 create mode 100644 core/modules/xorg/module.conf.opensuse.13.2 create mode 100644 core/modules/xorg/module.conf.ubuntu create mode 100644 core/modules/xorg/module.conf.ubuntu.16 (limited to 'core/modules') diff --git a/core/modules/alsa/data/etc/systemd/system/alsa-default-card.service b/core/modules/alsa/data/etc/systemd/system/alsa-default-card.service new file mode 100644 index 00000000..db35eeb7 --- /dev/null +++ b/core/modules/alsa/data/etc/systemd/system/alsa-default-card.service @@ -0,0 +1,11 @@ +[Unit] +Description=Set default card ALSA will use +DefaultDependencies=no +After=tmp.target +Wants=tmp.target + +[Service] +Type=oneshot +ExecStart=/opt/openslx/scripts/alsa-default_card +RemainAfterExit=yes + diff --git a/core/modules/alsa/data/etc/systemd/system/multi-user.target.wants/alsa-default-card.service b/core/modules/alsa/data/etc/systemd/system/multi-user.target.wants/alsa-default-card.service new file mode 120000 index 00000000..55e393fd --- /dev/null +++ b/core/modules/alsa/data/etc/systemd/system/multi-user.target.wants/alsa-default-card.service @@ -0,0 +1 @@ +../alsa-default-card.service \ No newline at end of file diff --git a/core/modules/alsa/data/opt/openslx/scripts/alsa-default_card b/core/modules/alsa/data/opt/openslx/scripts/alsa-default_card new file mode 100755 index 00000000..214a4d73 --- /dev/null +++ b/core/modules/alsa/data/opt/openslx/scripts/alsa-default_card @@ -0,0 +1,42 @@ +#!/bin/ash +PATH=$PATH:/opt/openslx/sbin:/opt/openslx/bin + +PROC="/proc/asound/cards" + +if [ ! -r "$PROC" ]; then + echo "'${PROC}' not found or not readable." + exit 1 +fi + +if [ -w "/etc" ]; then + FILE="/etc/asound.conf" +elif [ -n "$HOME" ]; then + FILE="${HOME}/.asoundrc" +else + FILE="$(getent passwd root | awk -F ':' '{print $6}')/.asoundrc" +fi + +if [ -e "${FILE}" -a "x$1" != "x--force" ]; then + echo "'${FILE}' already exists, use --force to overwrite." + exit 1 +fi + +# Try to filter HDMI cards first +CARD=$(grep -v -i 'HDMI' "${PROC}" | grep -E -o '^[[:space:]]*[0-9]+[[:space:]]+' | head -n 1) +# If empty, try again with all +[ -z "${CARD}" ] && CARD=$(cat "${PROC}" | grep -E -o '^[[:space:]]*[0-9]+[[:space:]]+' | head -n 1) + +if [ -z "${CARD}" ]; then + echo "No sound card found." + exit 1 +fi + +cat > "${FILE}" <> "$COPYLIST" + tarcopy "$(cat "${COPYLIST}" | sort -u)" "${MODULE_BUILD_DIR}" + +} + +post_copy() { + : +} diff --git a/core/modules/alsa/module.conf b/core/modules/alsa/module.conf new file mode 100644 index 00000000..2a8be7a1 --- /dev/null +++ b/core/modules/alsa/module.conf @@ -0,0 +1,8 @@ +REQUIRED_BINARIES=" + amixer + alsamixer +" +REQUIRED_DIRECTORIES=" /usr/share/alsa + /etc/modprobe.d +" + diff --git a/core/modules/alsa/module.conf.debian b/core/modules/alsa/module.conf.debian new file mode 100644 index 00000000..5f4d1283 --- /dev/null +++ b/core/modules/alsa/module.conf.debian @@ -0,0 +1,10 @@ +REQUIRED_INSTALLED_PACKAGES=" + alsa-utils + alsa-base + libasound2 +" +REQUIRED_CONTENT_PACKAGES=" + alsa-utils + alsa-base + libasound2 +" diff --git a/core/modules/alsa/module.conf.fedora b/core/modules/alsa/module.conf.fedora new file mode 100644 index 00000000..4ea213db --- /dev/null +++ b/core/modules/alsa/module.conf.fedora @@ -0,0 +1,13 @@ +REQUIRED_INSTALLED_PACKAGES=" + alsa-utils + alsa-lib +" +REQUIRED_CONTENT_PACKAGES=" + alsa-utils + alsa-lib +" +REQUIRED_DIRECTORIES=" + /usr/share/alsa +" + +# libasound2 diff --git a/core/modules/alsa/module.conf.opensuse b/core/modules/alsa/module.conf.opensuse new file mode 100644 index 00000000..a9ba1d50 --- /dev/null +++ b/core/modules/alsa/module.conf.opensuse @@ -0,0 +1,10 @@ +REQUIRED_CONTENT_PACKAGES=" + alsa-utils + alsa + libasound2 +" +REQUIRED_INSTALLED_PACKAGES=" + alsa-utils + alsa + libasound2 +" diff --git a/core/modules/alsa/module.conf.scientific b/core/modules/alsa/module.conf.scientific new file mode 100644 index 00000000..643e52d3 --- /dev/null +++ b/core/modules/alsa/module.conf.scientific @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + module-init-tools + alsa-utils + alsa-lib +" +REQUIRED_CONTENT_PACKAGES=" + module-init-tools + alsa-utils + alsa-lib +" + +# libasound2 diff --git a/core/modules/alsa/module.conf.ubuntu b/core/modules/alsa/module.conf.ubuntu new file mode 100644 index 00000000..c07957ab --- /dev/null +++ b/core/modules/alsa/module.conf.ubuntu @@ -0,0 +1,7 @@ +REQUIRED_CONTENT_PACKAGES=" + alsa-utils + alsa-base + libasound2 + libasound2-data + libasound2-plugins +" diff --git a/core/modules/alsa/module.conf.ubuntu.12 b/core/modules/alsa/module.conf.ubuntu.12 new file mode 100644 index 00000000..2eb57b3d --- /dev/null +++ b/core/modules/alsa/module.conf.ubuntu.12 @@ -0,0 +1,6 @@ +REQUIRED_CONTENT_PACKAGES=" + alsa-utils + alsa-base + libasound2 + libasound2-plugins +" diff --git a/core/modules/beamergui/data/etc/X11/Xsession.d/98-modesetter-wrapper b/core/modules/beamergui/data/etc/X11/Xsession.d/98-modesetter-wrapper new file mode 100755 index 00000000..59c1c8ed --- /dev/null +++ b/core/modules/beamergui/data/etc/X11/Xsession.d/98-modesetter-wrapper @@ -0,0 +1,5 @@ +# Beamergui detection and setup + +# Explicitely call bash for the modesetter +/bin/bash /opt/openslx/scripts/beamergui-mode_setter >/dev/null 2>&1 + diff --git a/core/modules/beamergui/data/etc/X11/Xsession.d/99-beamergui-starter_script b/core/modules/beamergui/data/etc/X11/Xsession.d/99-beamergui-starter_script new file mode 100755 index 00000000..18717dd6 --- /dev/null +++ b/core/modules/beamergui/data/etc/X11/Xsession.d/99-beamergui-starter_script @@ -0,0 +1,2 @@ +#!/bin/ash +/opt/openslx/bin/beamergui & diff --git a/core/modules/beamergui/data/opt/openslx/scripts/beamergui-mode_setter b/core/modules/beamergui/data/opt/openslx/scripts/beamergui-mode_setter new file mode 100755 index 00000000..503e44fa --- /dev/null +++ b/core/modules/beamergui/data/opt/openslx/scripts/beamergui-mode_setter @@ -0,0 +1,165 @@ +#! /bin/bash +# This script needs bash for the arrays + +# This script adds the common resolutions to the Xserver if and only if there +# is a beamer connected. Additionally, if the preferred resolution is known, +# (i.e. the Xserver received a proper EDID) the latter will be applied. + +################################################################################ +# Add or remove additional modes here. +declare -a MODES +MODES=("${MODES[@]}" "1280x800 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync") +MODES=("${MODES[@]}" "1440x1050 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync") +MODES=("${MODES[@]}" "1680x1200 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync") +MODES=("${MODES[@]}" "1920x1200 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync") +MODES=("${MODES[@]}" "1280x720 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync") +MODES=("${MODES[@]}" "1368x768 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync") +MODES=("${MODES[@]}" "1600x900 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync") +MODES=("${MODES[@]}" "1920x1080 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync") +MODES=("${MODES[@]}" "800x600 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync") +MODES=("${MODES[@]}" "1024x768 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync") +MODES=("${MODES[@]}" "1152x864 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync") +MODES=("${MODES[@]}" "1280x960 101.25 1280 1360 1488 1696 960 963 967 996 -hsync +vsync") +MODES=("${MODES[@]}" "1280x1024 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync") +################################################################################ + +CONFIGFILE="/opt/openslx/beamergui/beamer.conf" + +################################################################################ + +#DRIVER=$(lspci -nnk | grep -i vga -A3 | grep 'in use'| awk '{ print $NF }') +XRANDR=$( xrandr ) +XRANDRV=$( xrandr --verbose ) + +################################################################################ + +echo "$XRANDR" +#echo "$XRANDRV" + +# Get the names of the connected outputs +# This is a rigid approach to determine the connected outputs +declare -a OUTPUTNAMES +while read line; do + OUTPUTNAMES+=("$(awk '{print $1}' <<<"$line" )") +done < <( echo "$XRANDR" | grep -E "[[:digit:]]+mm x [[:digit:]]+mm" ) +echo -e "Connected outputs: \e[32m${OUTPUTNAMES[@]}\e[0m" + +# The goal is to add more modelines to the X server. While this is done the +# screen is flickering. Hence this is just necessary if there is a beamer. Do +# the flickering magic only if there are two outputs and one is a projector. + +#Two outputs? +if [ ${#OUTPUTNAMES[@]} -eq 2 ]; then + + echo "Two outputs detected." + + # Either of them a projector? + BEAMER= + for i in 0 1; do + WIDTH=$(grep -E "^${OUTPUTNAMES[$i]}.*[0-9]+mm x [0-9]+mm" <<<"$XRANDR" | head -n 1 | grep -o -E ' [0-9]+mm x' | grep -o -E '[0-9]+') + if [ -z "$WIDTH" ] || [ "$WIDTH" -eq 0 ] || [ "$WIDTH" -gt 900 ]; then + echo "Screen $i is beamer, width is '$WIDTH'" + BEAMER=$i + fi + done + if [ -n "$BEAMER" ]; then + echo "${OUTPUTNAMES[$BEAMER]} is a beamer. " + + # Create all modes, so that X knows them by name "x" + # Add the modes to the outputs, this means that, if this action is + # successful they can be applied to the screens. + for i in "${MODES[@]}"; do + if xrandr --current --newmode $i; then # > /dev/null 2>&1 + echo -e "Created mode ${i%% *}." + else + echo -e "\e[31mFailed to create mode ${i%% *}!\e[0m" + fi + + for j in "${OUTPUTNAMES[@]}"; do + if xrandr --current --addmode $j $(echo $i| awk '{print $1;}'); then + echo -e "Added mode ${i%% *} to $j." + else + echo -e "\e[31mFailed to add mode ${i%% *} to $j!\e[0m" + break + fi + done + done + + # Finally, if the EDID is present, apply a proper resolution. + # Find out whether the beamer transmits reliable EDID data. + # The data in xrandr should be reliable if the EDID is present. + if echo "$XRANDRV" | grep -Pzo \ + "^${OUTPUTNAMES[$BEAMER]}\N*\n((\ |\t)+\N*\n)+" \ + | grep EDID > /dev/null ; then + echo "${OUTPUTNAMES[$BEAMER]} [Beamer] provides EDID." + + # If the breamer transmits the EDID there shall be a preferred resolution. + OPTIMALRES=$(echo "$XRANDRV" \ + | grep -Pzo "^${OUTPUTNAMES[$BEAMER]}\N*\n((\ |\t)+\N*\n)+" \ + | grep preferred | awk '{print $1}') + + # Apply the optimal resolution tho either of the outputs. The beamer has + # to be the secondary output. + if xrandr \ + --output ${OUTPUTNAMES[$((1-$BEAMER))]} --mode $OPTIMALRES \ + --primary \ + --output ${OUTPUTNAMES[$BEAMER]} --mode $OPTIMALRES \ + --same-as ${OUTPUTNAMES[$((1-$BEAMER))]} + then + echo "Applied optimal resolution successfully." + fi + + elif [[ -f "$CONFIGFILE" ]]; then + + echo "Config file found." + + # Get local ip + . /opt/openslx/config + + # Try to get a probed mode + PROBEDMODE=$(cat $CONFIGFILE | grep $SLX_PXE_CLIENT_IP | cut -d '=' -f2) + + # If a probed mode was found, .. + if [[ -n "$PROBEDMODE" ]]; then + echo "Probed mode found in config file." + # Apply the probed mode from the config file + if xrandr \ + --output ${OUTPUTNAMES[$((1-$BEAMER))]} --mode $PROBEDMODE \ + --primary \ + --output ${OUTPUTNAMES[$BEAMER]} --mode $PROBEDMODE \ + --same-as ${OUTPUTNAMES[$((1-$BEAMER))]} + then + echo "Applied probed mode successfully." + fi + else + echo -e "\e[31mERROR: Beamer provides no EDID and no probed mode given in $CONFIGFILE.\e[0m" + fi + else + # Apply a fallback mode + echo -e "\e[31mERROR: Beamer provides no EDID and no config file found in $CONFIGFILE. Falling back to 1024x768.\e[0m" + xrandr \ + --output ${OUTPUTNAMES[$((1-$BEAMER))]} --mode 1024x768 \ + --primary \ + --output ${OUTPUTNAMES[$BEAMER]} --mode 1024x768 \ + --same-as ${OUTPUTNAMES[$((1-$BEAMER))]} + fi + else + # In case of two monitors just sort the outputs lexicographically and apply + # the preffered resolution + echo "Dualhead setup deteced. Sorting outputs lexicographically." + readarray -t OUTPUTNAMES \ + < <(for a in "${OUTPUTNAMES[@]}"; do echo "$a"; done | sort) + echo ${OUTPUTNAMES[@]} + if xrandr \ + --output ${OUTPUTNAMES[0]} --preferred \ + --primary \ + --output ${OUTPUTNAMES[1]} --preferred \ + --right-of ${OUTPUTNAMES[0]} + then + echo "Successfully applied preferred modes on outputs in sorted order." + fi + fi +else + echo "\e[32mOther than two outputs.\e[0m" +fi + diff --git a/core/modules/beamergui/data/opt/openslx/vmchooser/sessionstart.d/99-kill_beamergui b/core/modules/beamergui/data/opt/openslx/vmchooser/sessionstart.d/99-kill_beamergui new file mode 100755 index 00000000..1b4e61c8 --- /dev/null +++ b/core/modules/beamergui/data/opt/openslx/vmchooser/sessionstart.d/99-kill_beamergui @@ -0,0 +1,3 @@ +#!/bin/ash +killall beamergui +exit 0 diff --git a/core/modules/beamergui/module.build b/core/modules/beamergui/module.build new file mode 100644 index 00000000..f920bb74 --- /dev/null +++ b/core/modules/beamergui/module.build @@ -0,0 +1,27 @@ +#!/bin/bash + +fetch_source() { + git clone "${REQUIRED_GIT}" src +} + +build() { + local SRCDIR="${MODULE_WORK_DIR}/src/" + if [[ "$SYS_DISTRIBUTION" == "opensuse" && "$SYS_VERSION" == "13.2" ]]; then + QMAKE="/usr/$LIB64/qt4/bin/qmake" + else + QMAKE="$(which qmake-qt4)" + fi + + # first activate qt 4 + activate_qt 4 + + mkdir -p "$MODULE_BUILD_DIR/opt/openslx/bin" + cd "${MODULE_BUILD_DIR}/opt/openslx/bin" || perror "Could not cd!" + pinfo "Running qmake" + "$QMAKE" "$SRCDIR/src/beamergui.pro" -r -spec linux-g++ || perror "'qmake-qt4' failed (e.g. not installed)." + pinfo "Running make" + make || perror "'make' failed." +} +post_copy() { + : +} diff --git a/core/modules/beamergui/module.conf b/core/modules/beamergui/module.conf new file mode 100644 index 00000000..da786271 --- /dev/null +++ b/core/modules/beamergui/module.conf @@ -0,0 +1,9 @@ +REQUIRED_GIT="git://git.openslx.org/openslx-ng/beamergui.git" +REQUIRED_BINARIES=" + beamergui +" +REQUIRED_LIBRARIES=" +" +REQUIRED_SYSTEM_FILES=" +" +# TODO add libraries diff --git a/core/modules/beamergui/module.conf.debian b/core/modules/beamergui/module.conf.debian new file mode 100644 index 00000000..ea4cd194 --- /dev/null +++ b/core/modules/beamergui/module.conf.debian @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" +libqt4-dev +libxrandr-dev +" +REQUIRED_CONTENT_PACKAGES=" +libqt4-dev +libxrandr-dev +" diff --git a/core/modules/beamergui/module.conf.fedora b/core/modules/beamergui/module.conf.fedora new file mode 100644 index 00000000..8b46942d --- /dev/null +++ b/core/modules/beamergui/module.conf.fedora @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" +qt-devel +libXrandr-devel +" +REQUIRED_CONTENT_PACKAGES=" +qt-devel +libXrandr +" diff --git a/core/modules/beamergui/module.conf.opensuse b/core/modules/beamergui/module.conf.opensuse new file mode 100644 index 00000000..01586fe3 --- /dev/null +++ b/core/modules/beamergui/module.conf.opensuse @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" +libqt4-devel +libxrandr-devel +" +REQUIRED_CONTENT_PACKAGES=" +libqt4-devel +libXrandr-devel +" diff --git a/core/modules/beamergui/module.conf.ubuntu b/core/modules/beamergui/module.conf.ubuntu new file mode 100644 index 00000000..ea4cd194 --- /dev/null +++ b/core/modules/beamergui/module.conf.ubuntu @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" +libqt4-dev +libxrandr-dev +" +REQUIRED_CONTENT_PACKAGES=" +libqt4-dev +libxrandr-dev +" diff --git a/core/modules/brazilian/data/etc/X11/xorg.conf.d/90-keytable.conf b/core/modules/brazilian/data/etc/X11/xorg.conf.d/90-keytable.conf new file mode 100644 index 00000000..ffbb1915 --- /dev/null +++ b/core/modules/brazilian/data/etc/X11/xorg.conf.d/90-keytable.conf @@ -0,0 +1,5 @@ +Section "InputClass" + Identifier "LocalKeyboard" + MatchIsKeyboard "on" + Option "XkbLayout" "br" +EndSection diff --git a/core/modules/brazilian/data/etc/default/locale b/core/modules/brazilian/data/etc/default/locale new file mode 100644 index 00000000..9842e25d --- /dev/null +++ b/core/modules/brazilian/data/etc/default/locale @@ -0,0 +1 @@ +LANG="pt_BR.UTF-8" diff --git a/core/modules/brazilian/data/etc/systemd/system/basic.target.wants/load-brazilian-keymap.service b/core/modules/brazilian/data/etc/systemd/system/basic.target.wants/load-brazilian-keymap.service new file mode 100644 index 00000000..5047122a --- /dev/null +++ b/core/modules/brazilian/data/etc/systemd/system/basic.target.wants/load-brazilian-keymap.service @@ -0,0 +1,10 @@ +[Unit] +Description=Setup brazilian keyboard layout +DefaultDependencies=no +After=sysinit.target +Before=shutdown.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/opt/openslx/scripts/systemd-load_brazilian_keymaps diff --git a/core/modules/brazilian/data/etc/systemd/system/load-brazilian-keymap.service b/core/modules/brazilian/data/etc/systemd/system/load-brazilian-keymap.service new file mode 100644 index 00000000..5047122a --- /dev/null +++ b/core/modules/brazilian/data/etc/systemd/system/load-brazilian-keymap.service @@ -0,0 +1,10 @@ +[Unit] +Description=Setup brazilian keyboard layout +DefaultDependencies=no +After=sysinit.target +Before=shutdown.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/opt/openslx/scripts/systemd-load_brazilian_keymaps diff --git a/core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_compose_keyboard_translation.map b/core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_compose_keyboard_translation.map new file mode 100644 index 00000000..293449f7 --- /dev/null +++ b/core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_compose_keyboard_translation.map @@ -0,0 +1,8568 @@ +keymaps 0-127 +keycode 1 = Escape + alt keycode 1 = Meta_Escape + shift alt keycode 1 = Meta_Escape + altgr alt keycode 1 = Meta_Escape + shift altgr alt keycode 1 = Meta_Escape + control alt keycode 1 = Meta_Escape + shift control alt keycode 1 = Meta_Escape + altgr control alt keycode 1 = Meta_Escape + shift altgr control alt keycode 1 = Meta_Escape + alt shiftl keycode 1 = Meta_Escape + shift alt shiftl keycode 1 = Meta_Escape + altgr alt shiftl keycode 1 = Meta_Escape + shift altgr alt shiftl keycode 1 = Meta_Escape + control alt shiftl keycode 1 = Meta_Escape + shift control alt shiftl keycode 1 = Meta_Escape + altgr control alt shiftl keycode 1 = Meta_Escape + shift altgr control alt shiftl keycode 1 = Meta_Escape + alt shiftr keycode 1 = Meta_Escape + shift alt shiftr keycode 1 = Meta_Escape + altgr alt shiftr keycode 1 = Meta_Escape + shift altgr alt shiftr keycode 1 = Meta_Escape + control alt shiftr keycode 1 = Meta_Escape + shift control alt shiftr keycode 1 = Meta_Escape + altgr control alt shiftr keycode 1 = Meta_Escape + shift altgr control alt shiftr keycode 1 = Meta_Escape + alt shiftl shiftr keycode 1 = Meta_Escape + shift alt shiftl shiftr keycode 1 = Meta_Escape + altgr alt shiftl shiftr keycode 1 = Meta_Escape + shift altgr alt shiftl shiftr keycode 1 = Meta_Escape + control alt shiftl shiftr keycode 1 = Meta_Escape + shift control alt shiftl shiftr keycode 1 = Meta_Escape + altgr control alt shiftl shiftr keycode 1 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 1 = Meta_Escape + alt ctrll keycode 1 = Meta_Escape + shift alt ctrll keycode 1 = Meta_Escape + altgr alt ctrll keycode 1 = Meta_Escape + shift altgr alt ctrll keycode 1 = Meta_Escape + control alt ctrll keycode 1 = Meta_Escape + shift control alt ctrll keycode 1 = Meta_Escape + altgr control alt ctrll keycode 1 = Meta_Escape + shift altgr control alt ctrll keycode 1 = Meta_Escape + alt shiftl ctrll keycode 1 = Meta_Escape + shift alt shiftl ctrll keycode 1 = Meta_Escape + altgr alt shiftl ctrll keycode 1 = Meta_Escape + shift altgr alt shiftl ctrll keycode 1 = Meta_Escape + control alt shiftl ctrll keycode 1 = Meta_Escape + shift control alt shiftl ctrll keycode 1 = Meta_Escape + altgr control alt shiftl ctrll keycode 1 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 1 = Meta_Escape + alt shiftr ctrll keycode 1 = Meta_Escape + shift alt shiftr ctrll keycode 1 = Meta_Escape + altgr alt shiftr ctrll keycode 1 = Meta_Escape + shift altgr alt shiftr ctrll keycode 1 = Meta_Escape + control alt shiftr ctrll keycode 1 = Meta_Escape + shift control alt shiftr ctrll keycode 1 = Meta_Escape + altgr control alt shiftr ctrll keycode 1 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 1 = Meta_Escape + alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift alt shiftl shiftr ctrll keycode 1 = Meta_Escape + altgr alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift altgr alt shiftl shiftr ctrll keycode 1 = Meta_Escape + control alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift control alt shiftl shiftr ctrll keycode 1 = Meta_Escape + altgr control alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 1 = Meta_Escape +keycode 2 = one exclam onesuperior exclamdown + alt keycode 2 = Meta_one + shift alt keycode 2 = Meta_exclam + altgr alt keycode 2 = Meta_one + shift altgr alt keycode 2 = Meta_exclam + shiftl keycode 2 = one + shift shiftl keycode 2 = exclam + altgr shiftl keycode 2 = onesuperior + shift altgr shiftl keycode 2 = exclamdown + alt shiftl keycode 2 = Meta_one + shift alt shiftl keycode 2 = Meta_exclam + altgr alt shiftl keycode 2 = Meta_one + shift altgr alt shiftl keycode 2 = Meta_exclam + shiftr keycode 2 = one + shift shiftr keycode 2 = exclam + altgr shiftr keycode 2 = onesuperior + shift altgr shiftr keycode 2 = exclamdown + alt shiftr keycode 2 = Meta_one + shift alt shiftr keycode 2 = Meta_exclam + altgr alt shiftr keycode 2 = Meta_one + shift altgr alt shiftr keycode 2 = Meta_exclam + shiftl shiftr keycode 2 = one + shift shiftl shiftr keycode 2 = exclam + altgr shiftl shiftr keycode 2 = onesuperior + shift altgr shiftl shiftr keycode 2 = exclamdown + alt shiftl shiftr keycode 2 = Meta_one + shift alt shiftl shiftr keycode 2 = Meta_exclam + altgr alt shiftl shiftr keycode 2 = Meta_one + shift altgr alt shiftl shiftr keycode 2 = Meta_exclam + ctrll keycode 2 = one + shift ctrll keycode 2 = exclam + altgr ctrll keycode 2 = onesuperior + shift altgr ctrll keycode 2 = exclamdown + alt ctrll keycode 2 = Meta_one + shift alt ctrll keycode 2 = Meta_exclam + altgr alt ctrll keycode 2 = Meta_one + shift altgr alt ctrll keycode 2 = Meta_exclam + shiftl ctrll keycode 2 = one + shift shiftl ctrll keycode 2 = exclam + altgr shiftl ctrll keycode 2 = onesuperior + shift altgr shiftl ctrll keycode 2 = exclamdown + alt shiftl ctrll keycode 2 = Meta_one + shift alt shiftl ctrll keycode 2 = Meta_exclam + altgr alt shiftl ctrll keycode 2 = Meta_one + shift altgr alt shiftl ctrll keycode 2 = Meta_exclam + shiftr ctrll keycode 2 = one + shift shiftr ctrll keycode 2 = exclam + altgr shiftr ctrll keycode 2 = onesuperior + shift altgr shiftr ctrll keycode 2 = exclamdown + alt shiftr ctrll keycode 2 = Meta_one + shift alt shiftr ctrll keycode 2 = Meta_exclam + altgr alt shiftr ctrll keycode 2 = Meta_one + shift altgr alt shiftr ctrll keycode 2 = Meta_exclam + shiftl shiftr ctrll keycode 2 = one + shift shiftl shiftr ctrll keycode 2 = exclam + altgr shiftl shiftr ctrll keycode 2 = onesuperior + shift altgr shiftl shiftr ctrll keycode 2 = exclamdown + alt shiftl shiftr ctrll keycode 2 = Meta_one + shift alt shiftl shiftr ctrll keycode 2 = Meta_exclam + altgr alt shiftl shiftr ctrll keycode 2 = Meta_one + shift altgr alt shiftl shiftr ctrll keycode 2 = Meta_exclam +keycode 3 = two + shift keycode 3 = at + altgr keycode 3 = twosuperior + shift altgr keycode 3 = onehalf + control keycode 3 = nul + shift control keycode 3 = nul + altgr control keycode 3 = nul + shift altgr control keycode 3 = nul + alt keycode 3 = Meta_two + shift alt keycode 3 = Meta_at + altgr alt keycode 3 = Meta_two + shift altgr alt keycode 3 = Meta_at + control alt keycode 3 = Meta_nul + shift control alt keycode 3 = Meta_nul + altgr control alt keycode 3 = Meta_nul + shift altgr control alt keycode 3 = Meta_nul + shift shiftl keycode 3 = at + altgr shiftl keycode 3 = twosuperior + shift altgr shiftl keycode 3 = onehalf + control shiftl keycode 3 = nul + shift control shiftl keycode 3 = nul + altgr control shiftl keycode 3 = nul + shift altgr control shiftl keycode 3 = nul + alt shiftl keycode 3 = Meta_two + shift alt shiftl keycode 3 = Meta_at + altgr alt shiftl keycode 3 = Meta_two + shift altgr alt shiftl keycode 3 = Meta_at + control alt shiftl keycode 3 = Meta_nul + shift control alt shiftl keycode 3 = Meta_nul + altgr control alt shiftl keycode 3 = Meta_nul + shift altgr control alt shiftl keycode 3 = Meta_nul + shift shiftr keycode 3 = at + altgr shiftr keycode 3 = twosuperior + shift altgr shiftr keycode 3 = onehalf + control shiftr keycode 3 = nul + shift control shiftr keycode 3 = nul + altgr control shiftr keycode 3 = nul + shift altgr control shiftr keycode 3 = nul + alt shiftr keycode 3 = Meta_two + shift alt shiftr keycode 3 = Meta_at + altgr alt shiftr keycode 3 = Meta_two + shift altgr alt shiftr keycode 3 = Meta_at + control alt shiftr keycode 3 = Meta_nul + shift control alt shiftr keycode 3 = Meta_nul + altgr control alt shiftr keycode 3 = Meta_nul + shift altgr control alt shiftr keycode 3 = Meta_nul + shift shiftl shiftr keycode 3 = at + altgr shiftl shiftr keycode 3 = twosuperior + shift altgr shiftl shiftr keycode 3 = onehalf + control shiftl shiftr keycode 3 = nul + shift control shiftl shiftr keycode 3 = nul + altgr control shiftl shiftr keycode 3 = nul + shift altgr control shiftl shiftr keycode 3 = nul + alt shiftl shiftr keycode 3 = Meta_two + shift alt shiftl shiftr keycode 3 = Meta_at + altgr alt shiftl shiftr keycode 3 = Meta_two + shift altgr alt shiftl shiftr keycode 3 = Meta_at + control alt shiftl shiftr keycode 3 = Meta_nul + shift control alt shiftl shiftr keycode 3 = Meta_nul + altgr control alt shiftl shiftr keycode 3 = Meta_nul + shift altgr control alt shiftl shiftr keycode 3 = Meta_nul + shift ctrll keycode 3 = at + altgr ctrll keycode 3 = twosuperior + shift altgr ctrll keycode 3 = onehalf + control ctrll keycode 3 = nul + shift control ctrll keycode 3 = nul + altgr control ctrll keycode 3 = nul + shift altgr control ctrll keycode 3 = nul + alt ctrll keycode 3 = Meta_two + shift alt ctrll keycode 3 = Meta_at + altgr alt ctrll keycode 3 = Meta_two + shift altgr alt ctrll keycode 3 = Meta_at + control alt ctrll keycode 3 = Meta_nul + shift control alt ctrll keycode 3 = Meta_nul + altgr control alt ctrll keycode 3 = Meta_nul + shift altgr control alt ctrll keycode 3 = Meta_nul + shift shiftl ctrll keycode 3 = at + altgr shiftl ctrll keycode 3 = twosuperior + shift altgr shiftl ctrll keycode 3 = onehalf + control shiftl ctrll keycode 3 = nul + shift control shiftl ctrll keycode 3 = nul + altgr control shiftl ctrll keycode 3 = nul + shift altgr control shiftl ctrll keycode 3 = nul + alt shiftl ctrll keycode 3 = Meta_two + shift alt shiftl ctrll keycode 3 = Meta_at + altgr alt shiftl ctrll keycode 3 = Meta_two + shift altgr alt shiftl ctrll keycode 3 = Meta_at + control alt shiftl ctrll keycode 3 = Meta_nul + shift control alt shiftl ctrll keycode 3 = Meta_nul + altgr control alt shiftl ctrll keycode 3 = Meta_nul + shift altgr control alt shiftl ctrll keycode 3 = Meta_nul + shift shiftr ctrll keycode 3 = at + altgr shiftr ctrll keycode 3 = twosuperior + shift altgr shiftr ctrll keycode 3 = onehalf + control shiftr ctrll keycode 3 = nul + shift control shiftr ctrll keycode 3 = nul + altgr control shiftr ctrll keycode 3 = nul + shift altgr control shiftr ctrll keycode 3 = nul + alt shiftr ctrll keycode 3 = Meta_two + shift alt shiftr ctrll keycode 3 = Meta_at + altgr alt shiftr ctrll keycode 3 = Meta_two + shift altgr alt shiftr ctrll keycode 3 = Meta_at + control alt shiftr ctrll keycode 3 = Meta_nul + shift control alt shiftr ctrll keycode 3 = Meta_nul + altgr control alt shiftr ctrll keycode 3 = Meta_nul + shift altgr control alt shiftr ctrll keycode 3 = Meta_nul + shift shiftl shiftr ctrll keycode 3 = at + altgr shiftl shiftr ctrll keycode 3 = twosuperior + shift altgr shiftl shiftr ctrll keycode 3 = onehalf + control shiftl shiftr ctrll keycode 3 = nul + shift control shiftl shiftr ctrll keycode 3 = nul + altgr control shiftl shiftr ctrll keycode 3 = nul + shift altgr control shiftl shiftr ctrll keycode 3 = nul + alt shiftl shiftr ctrll keycode 3 = Meta_two + shift alt shiftl shiftr ctrll keycode 3 = Meta_at + altgr alt shiftl shiftr ctrll keycode 3 = Meta_two + shift altgr alt shiftl shiftr ctrll keycode 3 = Meta_at + control alt shiftl shiftr ctrll keycode 3 = Meta_nul + shift control alt shiftl shiftr ctrll keycode 3 = Meta_nul + altgr control alt shiftl shiftr ctrll keycode 3 = Meta_nul + shift altgr control alt shiftl shiftr ctrll keycode 3 = Meta_nul +keycode 4 = three + shift keycode 4 = numbersign + altgr keycode 4 = threesuperior + shift altgr keycode 4 = threequarters + control keycode 4 = Escape + shift control keycode 4 = Escape + altgr control keycode 4 = Escape + shift altgr control keycode 4 = Escape + alt keycode 4 = Meta_three + shift alt keycode 4 = Meta_numbersign + altgr alt keycode 4 = Meta_three + shift altgr alt keycode 4 = Meta_numbersign + control alt keycode 4 = Meta_Escape + shift control alt keycode 4 = Meta_Escape + altgr control alt keycode 4 = Meta_Escape + shift altgr control alt keycode 4 = Meta_Escape + shift shiftl keycode 4 = numbersign + altgr shiftl keycode 4 = threesuperior + shift altgr shiftl keycode 4 = threequarters + control shiftl keycode 4 = Escape + shift control shiftl keycode 4 = Escape + altgr control shiftl keycode 4 = Escape + shift altgr control shiftl keycode 4 = Escape + alt shiftl keycode 4 = Meta_three + shift alt shiftl keycode 4 = Meta_numbersign + altgr alt shiftl keycode 4 = Meta_three + shift altgr alt shiftl keycode 4 = Meta_numbersign + control alt shiftl keycode 4 = Meta_Escape + shift control alt shiftl keycode 4 = Meta_Escape + altgr control alt shiftl keycode 4 = Meta_Escape + shift altgr control alt shiftl keycode 4 = Meta_Escape + shift shiftr keycode 4 = numbersign + altgr shiftr keycode 4 = threesuperior + shift altgr shiftr keycode 4 = threequarters + control shiftr keycode 4 = Escape + shift control shiftr keycode 4 = Escape + altgr control shiftr keycode 4 = Escape + shift altgr control shiftr keycode 4 = Escape + alt shiftr keycode 4 = Meta_three + shift alt shiftr keycode 4 = Meta_numbersign + altgr alt shiftr keycode 4 = Meta_three + shift altgr alt shiftr keycode 4 = Meta_numbersign + control alt shiftr keycode 4 = Meta_Escape + shift control alt shiftr keycode 4 = Meta_Escape + altgr control alt shiftr keycode 4 = Meta_Escape + shift altgr control alt shiftr keycode 4 = Meta_Escape + shift shiftl shiftr keycode 4 = numbersign + altgr shiftl shiftr keycode 4 = threesuperior + shift altgr shiftl shiftr keycode 4 = threequarters + control shiftl shiftr keycode 4 = Escape + shift control shiftl shiftr keycode 4 = Escape + altgr control shiftl shiftr keycode 4 = Escape + shift altgr control shiftl shiftr keycode 4 = Escape + alt shiftl shiftr keycode 4 = Meta_three + shift alt shiftl shiftr keycode 4 = Meta_numbersign + altgr alt shiftl shiftr keycode 4 = Meta_three + shift altgr alt shiftl shiftr keycode 4 = Meta_numbersign + control alt shiftl shiftr keycode 4 = Meta_Escape + shift control alt shiftl shiftr keycode 4 = Meta_Escape + altgr control alt shiftl shiftr keycode 4 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 4 = Meta_Escape + shift ctrll keycode 4 = numbersign + altgr ctrll keycode 4 = threesuperior + shift altgr ctrll keycode 4 = threequarters + control ctrll keycode 4 = Escape + shift control ctrll keycode 4 = Escape + altgr control ctrll keycode 4 = Escape + shift altgr control ctrll keycode 4 = Escape + alt ctrll keycode 4 = Meta_three + shift alt ctrll keycode 4 = Meta_numbersign + altgr alt ctrll keycode 4 = Meta_three + shift altgr alt ctrll keycode 4 = Meta_numbersign + control alt ctrll keycode 4 = Meta_Escape + shift control alt ctrll keycode 4 = Meta_Escape + altgr control alt ctrll keycode 4 = Meta_Escape + shift altgr control alt ctrll keycode 4 = Meta_Escape + shift shiftl ctrll keycode 4 = numbersign + altgr shiftl ctrll keycode 4 = threesuperior + shift altgr shiftl ctrll keycode 4 = threequarters + control shiftl ctrll keycode 4 = Escape + shift control shiftl ctrll keycode 4 = Escape + altgr control shiftl ctrll keycode 4 = Escape + shift altgr control shiftl ctrll keycode 4 = Escape + alt shiftl ctrll keycode 4 = Meta_three + shift alt shiftl ctrll keycode 4 = Meta_numbersign + altgr alt shiftl ctrll keycode 4 = Meta_three + shift altgr alt shiftl ctrll keycode 4 = Meta_numbersign + control alt shiftl ctrll keycode 4 = Meta_Escape + shift control alt shiftl ctrll keycode 4 = Meta_Escape + altgr control alt shiftl ctrll keycode 4 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 4 = Meta_Escape + shift shiftr ctrll keycode 4 = numbersign + altgr shiftr ctrll keycode 4 = threesuperior + shift altgr shiftr ctrll keycode 4 = threequarters + control shiftr ctrll keycode 4 = Escape + shift control shiftr ctrll keycode 4 = Escape + altgr control shiftr ctrll keycode 4 = Escape + shift altgr control shiftr ctrll keycode 4 = Escape + alt shiftr ctrll keycode 4 = Meta_three + shift alt shiftr ctrll keycode 4 = Meta_numbersign + altgr alt shiftr ctrll keycode 4 = Meta_three + shift altgr alt shiftr ctrll keycode 4 = Meta_numbersign + control alt shiftr ctrll keycode 4 = Meta_Escape + shift control alt shiftr ctrll keycode 4 = Meta_Escape + altgr control alt shiftr ctrll keycode 4 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 4 = Meta_Escape + shift shiftl shiftr ctrll keycode 4 = numbersign + altgr shiftl shiftr ctrll keycode 4 = threesuperior + shift altgr shiftl shiftr ctrll keycode 4 = threequarters + control shiftl shiftr ctrll keycode 4 = Escape + shift control shiftl shiftr ctrll keycode 4 = Escape + altgr control shiftl shiftr ctrll keycode 4 = Escape + shift altgr control shiftl shiftr ctrll keycode 4 = Escape + alt shiftl shiftr ctrll keycode 4 = Meta_three + shift alt shiftl shiftr ctrll keycode 4 = Meta_numbersign + altgr alt shiftl shiftr ctrll keycode 4 = Meta_three + shift altgr alt shiftl shiftr ctrll keycode 4 = Meta_numbersign + control alt shiftl shiftr ctrll keycode 4 = Meta_Escape + shift control alt shiftl shiftr ctrll keycode 4 = Meta_Escape + altgr control alt shiftl shiftr ctrll keycode 4 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 4 = Meta_Escape +keycode 5 = four + shift keycode 5 = dollar + altgr keycode 5 = sterling + shift altgr keycode 5 = onequarter + control keycode 5 = Control_backslash + shift control keycode 5 = Control_backslash + altgr control keycode 5 = Control_backslash + shift altgr control keycode 5 = Control_backslash + alt keycode 5 = Meta_four + shift alt keycode 5 = Meta_dollar + altgr alt keycode 5 = Meta_four + shift altgr alt keycode 5 = Meta_dollar + control alt keycode 5 = Meta_Control_backslash + shift control alt keycode 5 = Meta_Control_backslash + altgr control alt keycode 5 = Meta_Control_backslash + shift altgr control alt keycode 5 = Meta_Control_backslash + shift shiftl keycode 5 = dollar + altgr shiftl keycode 5 = sterling + shift altgr shiftl keycode 5 = onequarter + control shiftl keycode 5 = Control_backslash + shift control shiftl keycode 5 = Control_backslash + altgr control shiftl keycode 5 = Control_backslash + shift altgr control shiftl keycode 5 = Control_backslash + alt shiftl keycode 5 = Meta_four + shift alt shiftl keycode 5 = Meta_dollar + altgr alt shiftl keycode 5 = Meta_four + shift altgr alt shiftl keycode 5 = Meta_dollar + control alt shiftl keycode 5 = Meta_Control_backslash + shift control alt shiftl keycode 5 = Meta_Control_backslash + altgr control alt shiftl keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl keycode 5 = Meta_Control_backslash + shift shiftr keycode 5 = dollar + altgr shiftr keycode 5 = sterling + shift altgr shiftr keycode 5 = onequarter + control shiftr keycode 5 = Control_backslash + shift control shiftr keycode 5 = Control_backslash + altgr control shiftr keycode 5 = Control_backslash + shift altgr control shiftr keycode 5 = Control_backslash + alt shiftr keycode 5 = Meta_four + shift alt shiftr keycode 5 = Meta_dollar + altgr alt shiftr keycode 5 = Meta_four + shift altgr alt shiftr keycode 5 = Meta_dollar + control alt shiftr keycode 5 = Meta_Control_backslash + shift control alt shiftr keycode 5 = Meta_Control_backslash + altgr control alt shiftr keycode 5 = Meta_Control_backslash + shift altgr control alt shiftr keycode 5 = Meta_Control_backslash + shift shiftl shiftr keycode 5 = dollar + altgr shiftl shiftr keycode 5 = sterling + shift altgr shiftl shiftr keycode 5 = onequarter + control shiftl shiftr keycode 5 = Control_backslash + shift control shiftl shiftr keycode 5 = Control_backslash + altgr control shiftl shiftr keycode 5 = Control_backslash + shift altgr control shiftl shiftr keycode 5 = Control_backslash + alt shiftl shiftr keycode 5 = Meta_four + shift alt shiftl shiftr keycode 5 = Meta_dollar + altgr alt shiftl shiftr keycode 5 = Meta_four + shift altgr alt shiftl shiftr keycode 5 = Meta_dollar + control alt shiftl shiftr keycode 5 = Meta_Control_backslash + shift control alt shiftl shiftr keycode 5 = Meta_Control_backslash + altgr control alt shiftl shiftr keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl shiftr keycode 5 = Meta_Control_backslash + shift ctrll keycode 5 = dollar + altgr ctrll keycode 5 = sterling + shift altgr ctrll keycode 5 = onequarter + control ctrll keycode 5 = Control_backslash + shift control ctrll keycode 5 = Control_backslash + altgr control ctrll keycode 5 = Control_backslash + shift altgr control ctrll keycode 5 = Control_backslash + alt ctrll keycode 5 = Meta_four + shift alt ctrll keycode 5 = Meta_dollar + altgr alt ctrll keycode 5 = Meta_four + shift altgr alt ctrll keycode 5 = Meta_dollar + control alt ctrll keycode 5 = Meta_Control_backslash + shift control alt ctrll keycode 5 = Meta_Control_backslash + altgr control alt ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt ctrll keycode 5 = Meta_Control_backslash + shift shiftl ctrll keycode 5 = dollar + altgr shiftl ctrll keycode 5 = sterling + shift altgr shiftl ctrll keycode 5 = onequarter + control shiftl ctrll keycode 5 = Control_backslash + shift control shiftl ctrll keycode 5 = Control_backslash + altgr control shiftl ctrll keycode 5 = Control_backslash + shift altgr control shiftl ctrll keycode 5 = Control_backslash + alt shiftl ctrll keycode 5 = Meta_four + shift alt shiftl ctrll keycode 5 = Meta_dollar + altgr alt shiftl ctrll keycode 5 = Meta_four + shift altgr alt shiftl ctrll keycode 5 = Meta_dollar + control alt shiftl ctrll keycode 5 = Meta_Control_backslash + shift control alt shiftl ctrll keycode 5 = Meta_Control_backslash + altgr control alt shiftl ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl ctrll keycode 5 = Meta_Control_backslash + shift shiftr ctrll keycode 5 = dollar + altgr shiftr ctrll keycode 5 = sterling + shift altgr shiftr ctrll keycode 5 = onequarter + control shiftr ctrll keycode 5 = Control_backslash + shift control shiftr ctrll keycode 5 = Control_backslash + altgr control shiftr ctrll keycode 5 = Control_backslash + shift altgr control shiftr ctrll keycode 5 = Control_backslash + alt shiftr ctrll keycode 5 = Meta_four + shift alt shiftr ctrll keycode 5 = Meta_dollar + altgr alt shiftr ctrll keycode 5 = Meta_four + shift altgr alt shiftr ctrll keycode 5 = Meta_dollar + control alt shiftr ctrll keycode 5 = Meta_Control_backslash + shift control alt shiftr ctrll keycode 5 = Meta_Control_backslash + altgr control alt shiftr ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt shiftr ctrll keycode 5 = Meta_Control_backslash + shift shiftl shiftr ctrll keycode 5 = dollar + altgr shiftl shiftr ctrll keycode 5 = sterling + shift altgr shiftl shiftr ctrll keycode 5 = onequarter + control shiftl shiftr ctrll keycode 5 = Control_backslash + shift control shiftl shiftr ctrll keycode 5 = Control_backslash + altgr control shiftl shiftr ctrll keycode 5 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 5 = Control_backslash + alt shiftl shiftr ctrll keycode 5 = Meta_four + shift alt shiftl shiftr ctrll keycode 5 = Meta_dollar + altgr alt shiftl shiftr ctrll keycode 5 = Meta_four + shift altgr alt shiftl shiftr ctrll keycode 5 = Meta_dollar + control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash + shift control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash + altgr control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash +keycode 6 = five + shift keycode 6 = percent + altgr keycode 6 = cent + shift altgr keycode 6 = U+215c + control keycode 6 = Control_bracketright + shift control keycode 6 = Control_bracketright + altgr control keycode 6 = Control_bracketright + shift altgr control keycode 6 = Control_bracketright + alt keycode 6 = Meta_five + shift alt keycode 6 = Meta_percent + altgr alt keycode 6 = Meta_five + shift altgr alt keycode 6 = Meta_percent + control alt keycode 6 = Meta_Control_bracketright + shift control alt keycode 6 = Meta_Control_bracketright + altgr control alt keycode 6 = Meta_Control_bracketright + shift altgr control alt keycode 6 = Meta_Control_bracketright + shift shiftl keycode 6 = percent + altgr shiftl keycode 6 = cent + shift altgr shiftl keycode 6 = U+215c + control shiftl keycode 6 = Control_bracketright + shift control shiftl keycode 6 = Control_bracketright + altgr control shiftl keycode 6 = Control_bracketright + shift altgr control shiftl keycode 6 = Control_bracketright + alt shiftl keycode 6 = Meta_five + shift alt shiftl keycode 6 = Meta_percent + altgr alt shiftl keycode 6 = Meta_five + shift altgr alt shiftl keycode 6 = Meta_percent + control alt shiftl keycode 6 = Meta_Control_bracketright + shift control alt shiftl keycode 6 = Meta_Control_bracketright + altgr control alt shiftl keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl keycode 6 = Meta_Control_bracketright + shift shiftr keycode 6 = percent + altgr shiftr keycode 6 = cent + shift altgr shiftr keycode 6 = U+215c + control shiftr keycode 6 = Control_bracketright + shift control shiftr keycode 6 = Control_bracketright + altgr control shiftr keycode 6 = Control_bracketright + shift altgr control shiftr keycode 6 = Control_bracketright + alt shiftr keycode 6 = Meta_five + shift alt shiftr keycode 6 = Meta_percent + altgr alt shiftr keycode 6 = Meta_five + shift altgr alt shiftr keycode 6 = Meta_percent + control alt shiftr keycode 6 = Meta_Control_bracketright + shift control alt shiftr keycode 6 = Meta_Control_bracketright + altgr control alt shiftr keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftr keycode 6 = Meta_Control_bracketright + shift shiftl shiftr keycode 6 = percent + altgr shiftl shiftr keycode 6 = cent + shift altgr shiftl shiftr keycode 6 = U+215c + control shiftl shiftr keycode 6 = Control_bracketright + shift control shiftl shiftr keycode 6 = Control_bracketright + altgr control shiftl shiftr keycode 6 = Control_bracketright + shift altgr control shiftl shiftr keycode 6 = Control_bracketright + alt shiftl shiftr keycode 6 = Meta_five + shift alt shiftl shiftr keycode 6 = Meta_percent + altgr alt shiftl shiftr keycode 6 = Meta_five + shift altgr alt shiftl shiftr keycode 6 = Meta_percent + control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + shift control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + altgr control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + shift ctrll keycode 6 = percent + altgr ctrll keycode 6 = cent + shift altgr ctrll keycode 6 = U+215c + control ctrll keycode 6 = Control_bracketright + shift control ctrll keycode 6 = Control_bracketright + altgr control ctrll keycode 6 = Control_bracketright + shift altgr control ctrll keycode 6 = Control_bracketright + alt ctrll keycode 6 = Meta_five + shift alt ctrll keycode 6 = Meta_percent + altgr alt ctrll keycode 6 = Meta_five + shift altgr alt ctrll keycode 6 = Meta_percent + control alt ctrll keycode 6 = Meta_Control_bracketright + shift control alt ctrll keycode 6 = Meta_Control_bracketright + altgr control alt ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt ctrll keycode 6 = Meta_Control_bracketright + shift shiftl ctrll keycode 6 = percent + altgr shiftl ctrll keycode 6 = cent + shift altgr shiftl ctrll keycode 6 = U+215c + control shiftl ctrll keycode 6 = Control_bracketright + shift control shiftl ctrll keycode 6 = Control_bracketright + altgr control shiftl ctrll keycode 6 = Control_bracketright + shift altgr control shiftl ctrll keycode 6 = Control_bracketright + alt shiftl ctrll keycode 6 = Meta_five + shift alt shiftl ctrll keycode 6 = Meta_percent + altgr alt shiftl ctrll keycode 6 = Meta_five + shift altgr alt shiftl ctrll keycode 6 = Meta_percent + control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + shift control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + altgr control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + shift shiftr ctrll keycode 6 = percent + altgr shiftr ctrll keycode 6 = cent + shift altgr shiftr ctrll keycode 6 = U+215c + control shiftr ctrll keycode 6 = Control_bracketright + shift control shiftr ctrll keycode 6 = Control_bracketright + altgr control shiftr ctrll keycode 6 = Control_bracketright + shift altgr control shiftr ctrll keycode 6 = Control_bracketright + alt shiftr ctrll keycode 6 = Meta_five + shift alt shiftr ctrll keycode 6 = Meta_percent + altgr alt shiftr ctrll keycode 6 = Meta_five + shift altgr alt shiftr ctrll keycode 6 = Meta_percent + control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + shift control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + altgr control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + shift shiftl shiftr ctrll keycode 6 = percent + altgr shiftl shiftr ctrll keycode 6 = cent + shift altgr shiftl shiftr ctrll keycode 6 = U+215c + control shiftl shiftr ctrll keycode 6 = Control_bracketright + shift control shiftl shiftr ctrll keycode 6 = Control_bracketright + altgr control shiftl shiftr ctrll keycode 6 = Control_bracketright + shift altgr control shiftl shiftr ctrll keycode 6 = Control_bracketright + alt shiftl shiftr ctrll keycode 6 = Meta_five + shift alt shiftl shiftr ctrll keycode 6 = Meta_percent + altgr alt shiftl shiftr ctrll keycode 6 = Meta_five + shift altgr alt shiftl shiftr ctrll keycode 6 = Meta_percent + control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright + shift control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright + altgr control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright +keycode 7 = six + shift keycode 7 = dead_diaeresis + altgr keycode 7 = notsign + shift altgr keycode 7 = diaeresis + control keycode 7 = Control_asciicircum + shift control keycode 7 = dead_diaeresis + altgr control keycode 7 = Control_asciicircum + shift altgr control keycode 7 = dead_diaeresis + alt keycode 7 = Meta_six + shift alt keycode 7 = dead_diaeresis + altgr alt keycode 7 = Meta_six + shift altgr alt keycode 7 = dead_diaeresis + control alt keycode 7 = Meta_Control_asciicircum + shift control alt keycode 7 = dead_diaeresis + altgr control alt keycode 7 = Meta_Control_asciicircum + shift altgr control alt keycode 7 = dead_diaeresis + shift shiftl keycode 7 = dead_diaeresis + altgr shiftl keycode 7 = notsign + shift altgr shiftl keycode 7 = diaeresis + control shiftl keycode 7 = Control_asciicircum + shift control shiftl keycode 7 = dead_diaeresis + altgr control shiftl keycode 7 = Control_asciicircum + shift altgr control shiftl keycode 7 = dead_diaeresis + alt shiftl keycode 7 = Meta_six + shift alt shiftl keycode 7 = dead_diaeresis + altgr alt shiftl keycode 7 = Meta_six + shift altgr alt shiftl keycode 7 = dead_diaeresis + control alt shiftl keycode 7 = Meta_Control_asciicircum + shift control alt shiftl keycode 7 = dead_diaeresis + altgr control alt shiftl keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl keycode 7 = dead_diaeresis + shift shiftr keycode 7 = dead_diaeresis + altgr shiftr keycode 7 = notsign + shift altgr shiftr keycode 7 = diaeresis + control shiftr keycode 7 = Control_asciicircum + shift control shiftr keycode 7 = dead_diaeresis + altgr control shiftr keycode 7 = Control_asciicircum + shift altgr control shiftr keycode 7 = dead_diaeresis + alt shiftr keycode 7 = Meta_six + shift alt shiftr keycode 7 = dead_diaeresis + altgr alt shiftr keycode 7 = Meta_six + shift altgr alt shiftr keycode 7 = dead_diaeresis + control alt shiftr keycode 7 = Meta_Control_asciicircum + shift control alt shiftr keycode 7 = dead_diaeresis + altgr control alt shiftr keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftr keycode 7 = dead_diaeresis + shift shiftl shiftr keycode 7 = dead_diaeresis + altgr shiftl shiftr keycode 7 = notsign + shift altgr shiftl shiftr keycode 7 = diaeresis + control shiftl shiftr keycode 7 = Control_asciicircum + shift control shiftl shiftr keycode 7 = dead_diaeresis + altgr control shiftl shiftr keycode 7 = Control_asciicircum + shift altgr control shiftl shiftr keycode 7 = dead_diaeresis + alt shiftl shiftr keycode 7 = Meta_six + shift alt shiftl shiftr keycode 7 = dead_diaeresis + altgr alt shiftl shiftr keycode 7 = Meta_six + shift altgr alt shiftl shiftr keycode 7 = dead_diaeresis + control alt shiftl shiftr keycode 7 = Meta_Control_asciicircum + shift control alt shiftl shiftr keycode 7 = dead_diaeresis + altgr control alt shiftl shiftr keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl shiftr keycode 7 = dead_diaeresis + shift ctrll keycode 7 = dead_diaeresis + altgr ctrll keycode 7 = notsign + shift altgr ctrll keycode 7 = diaeresis + control ctrll keycode 7 = Control_asciicircum + shift control ctrll keycode 7 = dead_diaeresis + altgr control ctrll keycode 7 = Control_asciicircum + shift altgr control ctrll keycode 7 = dead_diaeresis + alt ctrll keycode 7 = Meta_six + shift alt ctrll keycode 7 = dead_diaeresis + altgr alt ctrll keycode 7 = Meta_six + shift altgr alt ctrll keycode 7 = dead_diaeresis + control alt ctrll keycode 7 = Meta_Control_asciicircum + shift control alt ctrll keycode 7 = dead_diaeresis + altgr control alt ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt ctrll keycode 7 = dead_diaeresis + shift shiftl ctrll keycode 7 = dead_diaeresis + altgr shiftl ctrll keycode 7 = notsign + shift altgr shiftl ctrll keycode 7 = diaeresis + control shiftl ctrll keycode 7 = Control_asciicircum + shift control shiftl ctrll keycode 7 = dead_diaeresis + altgr control shiftl ctrll keycode 7 = Control_asciicircum + shift altgr control shiftl ctrll keycode 7 = dead_diaeresis + alt shiftl ctrll keycode 7 = Meta_six + shift alt shiftl ctrll keycode 7 = dead_diaeresis + altgr alt shiftl ctrll keycode 7 = Meta_six + shift altgr alt shiftl ctrll keycode 7 = dead_diaeresis + control alt shiftl ctrll keycode 7 = Meta_Control_asciicircum + shift control alt shiftl ctrll keycode 7 = dead_diaeresis + altgr control alt shiftl ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl ctrll keycode 7 = dead_diaeresis + shift shiftr ctrll keycode 7 = dead_diaeresis + altgr shiftr ctrll keycode 7 = notsign + shift altgr shiftr ctrll keycode 7 = diaeresis + control shiftr ctrll keycode 7 = Control_asciicircum + shift control shiftr ctrll keycode 7 = dead_diaeresis + altgr control shiftr ctrll keycode 7 = Control_asciicircum + shift altgr control shiftr ctrll keycode 7 = dead_diaeresis + alt shiftr ctrll keycode 7 = Meta_six + shift alt shiftr ctrll keycode 7 = dead_diaeresis + altgr alt shiftr ctrll keycode 7 = Meta_six + shift altgr alt shiftr ctrll keycode 7 = dead_diaeresis + control alt shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift control alt shiftr ctrll keycode 7 = dead_diaeresis + altgr control alt shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftr ctrll keycode 7 = dead_diaeresis + shift shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr shiftl shiftr ctrll keycode 7 = notsign + shift altgr shiftl shiftr ctrll keycode 7 = diaeresis + control shiftl shiftr ctrll keycode 7 = Control_asciicircum + shift control shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr control shiftl shiftr ctrll keycode 7 = Control_asciicircum + shift altgr control shiftl shiftr ctrll keycode 7 = dead_diaeresis + alt shiftl shiftr ctrll keycode 7 = Meta_six + shift alt shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr alt shiftl shiftr ctrll keycode 7 = Meta_six + shift altgr alt shiftl shiftr ctrll keycode 7 = dead_diaeresis + control alt shiftl shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift control alt shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr control alt shiftl shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl shiftr ctrll keycode 7 = dead_diaeresis +keycode 8 = seven + shift keycode 8 = ampersand + altgr keycode 8 = braceleft + shift altgr keycode 8 = U+215e + control keycode 8 = Control_underscore + shift control keycode 8 = Control_underscore + altgr control keycode 8 = Control_underscore + shift altgr control keycode 8 = Control_underscore + alt keycode 8 = Meta_seven + shift alt keycode 8 = Meta_ampersand + altgr alt keycode 8 = Meta_braceleft + shift altgr alt keycode 8 = Meta_braceleft + control alt keycode 8 = Meta_Control_underscore + shift control alt keycode 8 = Meta_Control_underscore + altgr control alt keycode 8 = Meta_Control_underscore + shift altgr control alt keycode 8 = Meta_Control_underscore + shift shiftl keycode 8 = ampersand + altgr shiftl keycode 8 = braceleft + shift altgr shiftl keycode 8 = U+215e + control shiftl keycode 8 = Control_underscore + shift control shiftl keycode 8 = Control_underscore + altgr control shiftl keycode 8 = Control_underscore + shift altgr control shiftl keycode 8 = Control_underscore + alt shiftl keycode 8 = Meta_seven + shift alt shiftl keycode 8 = Meta_ampersand + altgr alt shiftl keycode 8 = Meta_braceleft + shift altgr alt shiftl keycode 8 = Meta_braceleft + control alt shiftl keycode 8 = Meta_Control_underscore + shift control alt shiftl keycode 8 = Meta_Control_underscore + altgr control alt shiftl keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl keycode 8 = Meta_Control_underscore + shift shiftr keycode 8 = ampersand + altgr shiftr keycode 8 = braceleft + shift altgr shiftr keycode 8 = U+215e + control shiftr keycode 8 = Control_underscore + shift control shiftr keycode 8 = Control_underscore + altgr control shiftr keycode 8 = Control_underscore + shift altgr control shiftr keycode 8 = Control_underscore + alt shiftr keycode 8 = Meta_seven + shift alt shiftr keycode 8 = Meta_ampersand + altgr alt shiftr keycode 8 = Meta_braceleft + shift altgr alt shiftr keycode 8 = Meta_braceleft + control alt shiftr keycode 8 = Meta_Control_underscore + shift control alt shiftr keycode 8 = Meta_Control_underscore + altgr control alt shiftr keycode 8 = Meta_Control_underscore + shift altgr control alt shiftr keycode 8 = Meta_Control_underscore + shift shiftl shiftr keycode 8 = ampersand + altgr shiftl shiftr keycode 8 = braceleft + shift altgr shiftl shiftr keycode 8 = U+215e + control shiftl shiftr keycode 8 = Control_underscore + shift control shiftl shiftr keycode 8 = Control_underscore + altgr control shiftl shiftr keycode 8 = Control_underscore + shift altgr control shiftl shiftr keycode 8 = Control_underscore + alt shiftl shiftr keycode 8 = Meta_seven + shift alt shiftl shiftr keycode 8 = Meta_ampersand + altgr alt shiftl shiftr keycode 8 = Meta_braceleft + shift altgr alt shiftl shiftr keycode 8 = Meta_braceleft + control alt shiftl shiftr keycode 8 = Meta_Control_underscore + shift control alt shiftl shiftr keycode 8 = Meta_Control_underscore + altgr control alt shiftl shiftr keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl shiftr keycode 8 = Meta_Control_underscore + shift ctrll keycode 8 = ampersand + altgr ctrll keycode 8 = braceleft + shift altgr ctrll keycode 8 = U+215e + control ctrll keycode 8 = Control_underscore + shift control ctrll keycode 8 = Control_underscore + altgr control ctrll keycode 8 = Control_underscore + shift altgr control ctrll keycode 8 = Control_underscore + alt ctrll keycode 8 = Meta_seven + shift alt ctrll keycode 8 = Meta_ampersand + altgr alt ctrll keycode 8 = Meta_braceleft + shift altgr alt ctrll keycode 8 = Meta_braceleft + control alt ctrll keycode 8 = Meta_Control_underscore + shift control alt ctrll keycode 8 = Meta_Control_underscore + altgr control alt ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt ctrll keycode 8 = Meta_Control_underscore + shift shiftl ctrll keycode 8 = ampersand + altgr shiftl ctrll keycode 8 = braceleft + shift altgr shiftl ctrll keycode 8 = U+215e + control shiftl ctrll keycode 8 = Control_underscore + shift control shiftl ctrll keycode 8 = Control_underscore + altgr control shiftl ctrll keycode 8 = Control_underscore + shift altgr control shiftl ctrll keycode 8 = Control_underscore + alt shiftl ctrll keycode 8 = Meta_seven + shift alt shiftl ctrll keycode 8 = Meta_ampersand + altgr alt shiftl ctrll keycode 8 = Meta_braceleft + shift altgr alt shiftl ctrll keycode 8 = Meta_braceleft + control alt shiftl ctrll keycode 8 = Meta_Control_underscore + shift control alt shiftl ctrll keycode 8 = Meta_Control_underscore + altgr control alt shiftl ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl ctrll keycode 8 = Meta_Control_underscore + shift shiftr ctrll keycode 8 = ampersand + altgr shiftr ctrll keycode 8 = braceleft + shift altgr shiftr ctrll keycode 8 = U+215e + control shiftr ctrll keycode 8 = Control_underscore + shift control shiftr ctrll keycode 8 = Control_underscore + altgr control shiftr ctrll keycode 8 = Control_underscore + shift altgr control shiftr ctrll keycode 8 = Control_underscore + alt shiftr ctrll keycode 8 = Meta_seven + shift alt shiftr ctrll keycode 8 = Meta_ampersand + altgr alt shiftr ctrll keycode 8 = Meta_braceleft + shift altgr alt shiftr ctrll keycode 8 = Meta_braceleft + control alt shiftr ctrll keycode 8 = Meta_Control_underscore + shift control alt shiftr ctrll keycode 8 = Meta_Control_underscore + altgr control alt shiftr ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt shiftr ctrll keycode 8 = Meta_Control_underscore + shift shiftl shiftr ctrll keycode 8 = ampersand + altgr shiftl shiftr ctrll keycode 8 = braceleft + shift altgr shiftl shiftr ctrll keycode 8 = U+215e + control shiftl shiftr ctrll keycode 8 = Control_underscore + shift control shiftl shiftr ctrll keycode 8 = Control_underscore + altgr control shiftl shiftr ctrll keycode 8 = Control_underscore + shift altgr control shiftl shiftr ctrll keycode 8 = Control_underscore + alt shiftl shiftr ctrll keycode 8 = Meta_seven + shift alt shiftl shiftr ctrll keycode 8 = Meta_ampersand + altgr alt shiftl shiftr ctrll keycode 8 = Meta_braceleft + shift altgr alt shiftl shiftr ctrll keycode 8 = Meta_braceleft + control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore + shift control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore + altgr control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore +keycode 9 = eight + shift keycode 9 = asterisk + altgr keycode 9 = bracketleft + shift altgr keycode 9 = trademark + control keycode 9 = Delete + shift control keycode 9 = Delete + altgr control keycode 9 = Escape + shift altgr control keycode 9 = Escape + alt keycode 9 = Meta_eight + shift alt keycode 9 = Meta_asterisk + altgr alt keycode 9 = Meta_bracketleft + shift altgr alt keycode 9 = Meta_bracketleft + control alt keycode 9 = Meta_Delete + shift control alt keycode 9 = Meta_Delete + altgr control alt keycode 9 = Meta_Escape + shift altgr control alt keycode 9 = Meta_Escape + shift shiftl keycode 9 = asterisk + altgr shiftl keycode 9 = bracketleft + shift altgr shiftl keycode 9 = trademark + control shiftl keycode 9 = Delete + shift control shiftl keycode 9 = Delete + altgr control shiftl keycode 9 = Escape + shift altgr control shiftl keycode 9 = Escape + alt shiftl keycode 9 = Meta_eight + shift alt shiftl keycode 9 = Meta_asterisk + altgr alt shiftl keycode 9 = Meta_bracketleft + shift altgr alt shiftl keycode 9 = Meta_bracketleft + control alt shiftl keycode 9 = Meta_Delete + shift control alt shiftl keycode 9 = Meta_Delete + altgr control alt shiftl keycode 9 = Meta_Escape + shift altgr control alt shiftl keycode 9 = Meta_Escape + shift shiftr keycode 9 = asterisk + altgr shiftr keycode 9 = bracketleft + shift altgr shiftr keycode 9 = trademark + control shiftr keycode 9 = Delete + shift control shiftr keycode 9 = Delete + altgr control shiftr keycode 9 = Escape + shift altgr control shiftr keycode 9 = Escape + alt shiftr keycode 9 = Meta_eight + shift alt shiftr keycode 9 = Meta_asterisk + altgr alt shiftr keycode 9 = Meta_bracketleft + shift altgr alt shiftr keycode 9 = Meta_bracketleft + control alt shiftr keycode 9 = Meta_Delete + shift control alt shiftr keycode 9 = Meta_Delete + altgr control alt shiftr keycode 9 = Meta_Escape + shift altgr control alt shiftr keycode 9 = Meta_Escape + shift shiftl shiftr keycode 9 = asterisk + altgr shiftl shiftr keycode 9 = bracketleft + shift altgr shiftl shiftr keycode 9 = trademark + control shiftl shiftr keycode 9 = Delete + shift control shiftl shiftr keycode 9 = Delete + altgr control shiftl shiftr keycode 9 = Escape + shift altgr control shiftl shiftr keycode 9 = Escape + alt shiftl shiftr keycode 9 = Meta_eight + shift alt shiftl shiftr keycode 9 = Meta_asterisk + altgr alt shiftl shiftr keycode 9 = Meta_bracketleft + shift altgr alt shiftl shiftr keycode 9 = Meta_bracketleft + control alt shiftl shiftr keycode 9 = Meta_Delete + shift control alt shiftl shiftr keycode 9 = Meta_Delete + altgr control alt shiftl shiftr keycode 9 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 9 = Meta_Escape + shift ctrll keycode 9 = asterisk + altgr ctrll keycode 9 = bracketleft + shift altgr ctrll keycode 9 = trademark + control ctrll keycode 9 = Delete + shift control ctrll keycode 9 = Delete + altgr control ctrll keycode 9 = Escape + shift altgr control ctrll keycode 9 = Escape + alt ctrll keycode 9 = Meta_eight + shift alt ctrll keycode 9 = Meta_asterisk + altgr alt ctrll keycode 9 = Meta_bracketleft + shift altgr alt ctrll keycode 9 = Meta_bracketleft + control alt ctrll keycode 9 = Meta_Delete + shift control alt ctrll keycode 9 = Meta_Delete + altgr control alt ctrll keycode 9 = Meta_Escape + shift altgr control alt ctrll keycode 9 = Meta_Escape + shift shiftl ctrll keycode 9 = asterisk + altgr shiftl ctrll keycode 9 = bracketleft + shift altgr shiftl ctrll keycode 9 = trademark + control shiftl ctrll keycode 9 = Delete + shift control shiftl ctrll keycode 9 = Delete + altgr control shiftl ctrll keycode 9 = Escape + shift altgr control shiftl ctrll keycode 9 = Escape + alt shiftl ctrll keycode 9 = Meta_eight + shift alt shiftl ctrll keycode 9 = Meta_asterisk + altgr alt shiftl ctrll keycode 9 = Meta_bracketleft + shift altgr alt shiftl ctrll keycode 9 = Meta_bracketleft + control alt shiftl ctrll keycode 9 = Meta_Delete + shift control alt shiftl ctrll keycode 9 = Meta_Delete + altgr control alt shiftl ctrll keycode 9 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 9 = Meta_Escape + shift shiftr ctrll keycode 9 = asterisk + altgr shiftr ctrll keycode 9 = bracketleft + shift altgr shiftr ctrll keycode 9 = trademark + control shiftr ctrll keycode 9 = Delete + shift control shiftr ctrll keycode 9 = Delete + altgr control shiftr ctrll keycode 9 = Escape + shift altgr control shiftr ctrll keycode 9 = Escape + alt shiftr ctrll keycode 9 = Meta_eight + shift alt shiftr ctrll keycode 9 = Meta_asterisk + altgr alt shiftr ctrll keycode 9 = Meta_bracketleft + shift altgr alt shiftr ctrll keycode 9 = Meta_bracketleft + control alt shiftr ctrll keycode 9 = Meta_Delete + shift control alt shiftr ctrll keycode 9 = Meta_Delete + altgr control alt shiftr ctrll keycode 9 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 9 = Meta_Escape + shift shiftl shiftr ctrll keycode 9 = asterisk + altgr shiftl shiftr ctrll keycode 9 = bracketleft + shift altgr shiftl shiftr ctrll keycode 9 = trademark + control shiftl shiftr ctrll keycode 9 = Delete + shift control shiftl shiftr ctrll keycode 9 = Delete + altgr control shiftl shiftr ctrll keycode 9 = Escape + shift altgr control shiftl shiftr ctrll keycode 9 = Escape + alt shiftl shiftr ctrll keycode 9 = Meta_eight + shift alt shiftl shiftr ctrll keycode 9 = Meta_asterisk + altgr alt shiftl shiftr ctrll keycode 9 = Meta_bracketleft + shift altgr alt shiftl shiftr ctrll keycode 9 = Meta_bracketleft + control alt shiftl shiftr ctrll keycode 9 = Meta_Delete + shift control alt shiftl shiftr ctrll keycode 9 = Meta_Delete + altgr control alt shiftl shiftr ctrll keycode 9 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 9 = Meta_Escape +keycode 10 = nine + shift keycode 10 = parenleft + altgr keycode 10 = bracketright + shift altgr keycode 10 = plusminus + control keycode 10 = Control_bracketright + shift control keycode 10 = Control_bracketright + altgr control keycode 10 = Control_bracketright + shift altgr control keycode 10 = Control_bracketright + alt keycode 10 = Meta_nine + shift alt keycode 10 = Meta_parenleft + altgr alt keycode 10 = Meta_bracketright + shift altgr alt keycode 10 = Meta_bracketright + control alt keycode 10 = Meta_Control_bracketright + shift control alt keycode 10 = Meta_Control_bracketright + altgr control alt keycode 10 = Meta_Control_bracketright + shift altgr control alt keycode 10 = Meta_Control_bracketright + shift shiftl keycode 10 = parenleft + altgr shiftl keycode 10 = bracketright + shift altgr shiftl keycode 10 = plusminus + control shiftl keycode 10 = Control_bracketright + shift control shiftl keycode 10 = Control_bracketright + altgr control shiftl keycode 10 = Control_bracketright + shift altgr control shiftl keycode 10 = Control_bracketright + alt shiftl keycode 10 = Meta_nine + shift alt shiftl keycode 10 = Meta_parenleft + altgr alt shiftl keycode 10 = Meta_bracketright + shift altgr alt shiftl keycode 10 = Meta_bracketright + control alt shiftl keycode 10 = Meta_Control_bracketright + shift control alt shiftl keycode 10 = Meta_Control_bracketright + altgr control alt shiftl keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl keycode 10 = Meta_Control_bracketright + shift shiftr keycode 10 = parenleft + altgr shiftr keycode 10 = bracketright + shift altgr shiftr keycode 10 = plusminus + control shiftr keycode 10 = Control_bracketright + shift control shiftr keycode 10 = Control_bracketright + altgr control shiftr keycode 10 = Control_bracketright + shift altgr control shiftr keycode 10 = Control_bracketright + alt shiftr keycode 10 = Meta_nine + shift alt shiftr keycode 10 = Meta_parenleft + altgr alt shiftr keycode 10 = Meta_bracketright + shift altgr alt shiftr keycode 10 = Meta_bracketright + control alt shiftr keycode 10 = Meta_Control_bracketright + shift control alt shiftr keycode 10 = Meta_Control_bracketright + altgr control alt shiftr keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftr keycode 10 = Meta_Control_bracketright + shift shiftl shiftr keycode 10 = parenleft + altgr shiftl shiftr keycode 10 = bracketright + shift altgr shiftl shiftr keycode 10 = plusminus + control shiftl shiftr keycode 10 = Control_bracketright + shift control shiftl shiftr keycode 10 = Control_bracketright + altgr control shiftl shiftr keycode 10 = Control_bracketright + shift altgr control shiftl shiftr keycode 10 = Control_bracketright + alt shiftl shiftr keycode 10 = Meta_nine + shift alt shiftl shiftr keycode 10 = Meta_parenleft + altgr alt shiftl shiftr keycode 10 = Meta_bracketright + shift altgr alt shiftl shiftr keycode 10 = Meta_bracketright + control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + shift control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + altgr control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + shift ctrll keycode 10 = parenleft + altgr ctrll keycode 10 = bracketright + shift altgr ctrll keycode 10 = plusminus + control ctrll keycode 10 = Control_bracketright + shift control ctrll keycode 10 = Control_bracketright + altgr control ctrll keycode 10 = Control_bracketright + shift altgr control ctrll keycode 10 = Control_bracketright + alt ctrll keycode 10 = Meta_nine + shift alt ctrll keycode 10 = Meta_parenleft + altgr alt ctrll keycode 10 = Meta_bracketright + shift altgr alt ctrll keycode 10 = Meta_bracketright + control alt ctrll keycode 10 = Meta_Control_bracketright + shift control alt ctrll keycode 10 = Meta_Control_bracketright + altgr control alt ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt ctrll keycode 10 = Meta_Control_bracketright + shift shiftl ctrll keycode 10 = parenleft + altgr shiftl ctrll keycode 10 = bracketright + shift altgr shiftl ctrll keycode 10 = plusminus + control shiftl ctrll keycode 10 = Control_bracketright + shift control shiftl ctrll keycode 10 = Control_bracketright + altgr control shiftl ctrll keycode 10 = Control_bracketright + shift altgr control shiftl ctrll keycode 10 = Control_bracketright + alt shiftl ctrll keycode 10 = Meta_nine + shift alt shiftl ctrll keycode 10 = Meta_parenleft + altgr alt shiftl ctrll keycode 10 = Meta_bracketright + shift altgr alt shiftl ctrll keycode 10 = Meta_bracketright + control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + shift control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + altgr control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + shift shiftr ctrll keycode 10 = parenleft + altgr shiftr ctrll keycode 10 = bracketright + shift altgr shiftr ctrll keycode 10 = plusminus + control shiftr ctrll keycode 10 = Control_bracketright + shift control shiftr ctrll keycode 10 = Control_bracketright + altgr control shiftr ctrll keycode 10 = Control_bracketright + shift altgr control shiftr ctrll keycode 10 = Control_bracketright + alt shiftr ctrll keycode 10 = Meta_nine + shift alt shiftr ctrll keycode 10 = Meta_parenleft + altgr alt shiftr ctrll keycode 10 = Meta_bracketright + shift altgr alt shiftr ctrll keycode 10 = Meta_bracketright + control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + shift control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + altgr control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + shift shiftl shiftr ctrll keycode 10 = parenleft + altgr shiftl shiftr ctrll keycode 10 = bracketright + shift altgr shiftl shiftr ctrll keycode 10 = plusminus + control shiftl shiftr ctrll keycode 10 = Control_bracketright + shift control shiftl shiftr ctrll keycode 10 = Control_bracketright + altgr control shiftl shiftr ctrll keycode 10 = Control_bracketright + shift altgr control shiftl shiftr ctrll keycode 10 = Control_bracketright + alt shiftl shiftr ctrll keycode 10 = Meta_nine + shift alt shiftl shiftr ctrll keycode 10 = Meta_parenleft + altgr alt shiftl shiftr ctrll keycode 10 = Meta_bracketright + shift altgr alt shiftl shiftr ctrll keycode 10 = Meta_bracketright + control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright + shift control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright + altgr control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright +keycode 11 = zero parenright braceright degree + alt keycode 11 = Meta_zero + shift alt keycode 11 = Meta_parenright + altgr alt keycode 11 = Meta_braceright + shift altgr alt keycode 11 = Meta_braceright + shiftl keycode 11 = zero + shift shiftl keycode 11 = parenright + altgr shiftl keycode 11 = braceright + shift altgr shiftl keycode 11 = degree + alt shiftl keycode 11 = Meta_zero + shift alt shiftl keycode 11 = Meta_parenright + altgr alt shiftl keycode 11 = Meta_braceright + shift altgr alt shiftl keycode 11 = Meta_braceright + shiftr keycode 11 = zero + shift shiftr keycode 11 = parenright + altgr shiftr keycode 11 = braceright + shift altgr shiftr keycode 11 = degree + alt shiftr keycode 11 = Meta_zero + shift alt shiftr keycode 11 = Meta_parenright + altgr alt shiftr keycode 11 = Meta_braceright + shift altgr alt shiftr keycode 11 = Meta_braceright + shiftl shiftr keycode 11 = zero + shift shiftl shiftr keycode 11 = parenright + altgr shiftl shiftr keycode 11 = braceright + shift altgr shiftl shiftr keycode 11 = degree + alt shiftl shiftr keycode 11 = Meta_zero + shift alt shiftl shiftr keycode 11 = Meta_parenright + altgr alt shiftl shiftr keycode 11 = Meta_braceright + shift altgr alt shiftl shiftr keycode 11 = Meta_braceright + ctrll keycode 11 = zero + shift ctrll keycode 11 = parenright + altgr ctrll keycode 11 = braceright + shift altgr ctrll keycode 11 = degree + alt ctrll keycode 11 = Meta_zero + shift alt ctrll keycode 11 = Meta_parenright + altgr alt ctrll keycode 11 = Meta_braceright + shift altgr alt ctrll keycode 11 = Meta_braceright + shiftl ctrll keycode 11 = zero + shift shiftl ctrll keycode 11 = parenright + altgr shiftl ctrll keycode 11 = braceright + shift altgr shiftl ctrll keycode 11 = degree + alt shiftl ctrll keycode 11 = Meta_zero + shift alt shiftl ctrll keycode 11 = Meta_parenright + altgr alt shiftl ctrll keycode 11 = Meta_braceright + shift altgr alt shiftl ctrll keycode 11 = Meta_braceright + shiftr ctrll keycode 11 = zero + shift shiftr ctrll keycode 11 = parenright + altgr shiftr ctrll keycode 11 = braceright + shift altgr shiftr ctrll keycode 11 = degree + alt shiftr ctrll keycode 11 = Meta_zero + shift alt shiftr ctrll keycode 11 = Meta_parenright + altgr alt shiftr ctrll keycode 11 = Meta_braceright + shift altgr alt shiftr ctrll keycode 11 = Meta_braceright + shiftl shiftr ctrll keycode 11 = zero + shift shiftl shiftr ctrll keycode 11 = parenright + altgr shiftl shiftr ctrll keycode 11 = braceright + shift altgr shiftl shiftr ctrll keycode 11 = degree + alt shiftl shiftr ctrll keycode 11 = Meta_zero + shift alt shiftl shiftr ctrll keycode 11 = Meta_parenright + altgr alt shiftl shiftr ctrll keycode 11 = Meta_braceright + shift altgr alt shiftl shiftr ctrll keycode 11 = Meta_braceright +keycode 12 = minus + shift keycode 12 = underscore + altgr keycode 12 = backslash + shift altgr keycode 12 = questiondown + control keycode 12 = Control_underscore + shift control keycode 12 = Control_underscore + altgr control keycode 12 = Control_backslash + shift altgr control keycode 12 = Control_backslash + alt keycode 12 = Meta_minus + shift alt keycode 12 = Meta_underscore + altgr alt keycode 12 = Meta_backslash + shift altgr alt keycode 12 = Meta_backslash + control alt keycode 12 = Meta_Control_underscore + shift control alt keycode 12 = Meta_Control_underscore + altgr control alt keycode 12 = Meta_Control_backslash + shift altgr control alt keycode 12 = Meta_Control_backslash + shift shiftl keycode 12 = underscore + altgr shiftl keycode 12 = backslash + shift altgr shiftl keycode 12 = questiondown + control shiftl keycode 12 = Control_underscore + shift control shiftl keycode 12 = Control_underscore + altgr control shiftl keycode 12 = Control_backslash + shift altgr control shiftl keycode 12 = Control_backslash + alt shiftl keycode 12 = Meta_minus + shift alt shiftl keycode 12 = Meta_underscore + altgr alt shiftl keycode 12 = Meta_backslash + shift altgr alt shiftl keycode 12 = Meta_backslash + control alt shiftl keycode 12 = Meta_Control_underscore + shift control alt shiftl keycode 12 = Meta_Control_underscore + altgr control alt shiftl keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl keycode 12 = Meta_Control_backslash + shift shiftr keycode 12 = underscore + altgr shiftr keycode 12 = backslash + shift altgr shiftr keycode 12 = questiondown + control shiftr keycode 12 = Control_underscore + shift control shiftr keycode 12 = Control_underscore + altgr control shiftr keycode 12 = Control_backslash + shift altgr control shiftr keycode 12 = Control_backslash + alt shiftr keycode 12 = Meta_minus + shift alt shiftr keycode 12 = Meta_underscore + altgr alt shiftr keycode 12 = Meta_backslash + shift altgr alt shiftr keycode 12 = Meta_backslash + control alt shiftr keycode 12 = Meta_Control_underscore + shift control alt shiftr keycode 12 = Meta_Control_underscore + altgr control alt shiftr keycode 12 = Meta_Control_backslash + shift altgr control alt shiftr keycode 12 = Meta_Control_backslash + shift shiftl shiftr keycode 12 = underscore + altgr shiftl shiftr keycode 12 = backslash + shift altgr shiftl shiftr keycode 12 = questiondown + control shiftl shiftr keycode 12 = Control_underscore + shift control shiftl shiftr keycode 12 = Control_underscore + altgr control shiftl shiftr keycode 12 = Control_backslash + shift altgr control shiftl shiftr keycode 12 = Control_backslash + alt shiftl shiftr keycode 12 = Meta_minus + shift alt shiftl shiftr keycode 12 = Meta_underscore + altgr alt shiftl shiftr keycode 12 = Meta_backslash + shift altgr alt shiftl shiftr keycode 12 = Meta_backslash + control alt shiftl shiftr keycode 12 = Meta_Control_underscore + shift control alt shiftl shiftr keycode 12 = Meta_Control_underscore + altgr control alt shiftl shiftr keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl shiftr keycode 12 = Meta_Control_backslash + shift ctrll keycode 12 = underscore + altgr ctrll keycode 12 = backslash + shift altgr ctrll keycode 12 = questiondown + control ctrll keycode 12 = Control_underscore + shift control ctrll keycode 12 = Control_underscore + altgr control ctrll keycode 12 = Control_backslash + shift altgr control ctrll keycode 12 = Control_backslash + alt ctrll keycode 12 = Meta_minus + shift alt ctrll keycode 12 = Meta_underscore + altgr alt ctrll keycode 12 = Meta_backslash + shift altgr alt ctrll keycode 12 = Meta_backslash + control alt ctrll keycode 12 = Meta_Control_underscore + shift control alt ctrll keycode 12 = Meta_Control_underscore + altgr control alt ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt ctrll keycode 12 = Meta_Control_backslash + shift shiftl ctrll keycode 12 = underscore + altgr shiftl ctrll keycode 12 = backslash + shift altgr shiftl ctrll keycode 12 = questiondown + control shiftl ctrll keycode 12 = Control_underscore + shift control shiftl ctrll keycode 12 = Control_underscore + altgr control shiftl ctrll keycode 12 = Control_backslash + shift altgr control shiftl ctrll keycode 12 = Control_backslash + alt shiftl ctrll keycode 12 = Meta_minus + shift alt shiftl ctrll keycode 12 = Meta_underscore + altgr alt shiftl ctrll keycode 12 = Meta_backslash + shift altgr alt shiftl ctrll keycode 12 = Meta_backslash + control alt shiftl ctrll keycode 12 = Meta_Control_underscore + shift control alt shiftl ctrll keycode 12 = Meta_Control_underscore + altgr control alt shiftl ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl ctrll keycode 12 = Meta_Control_backslash + shift shiftr ctrll keycode 12 = underscore + altgr shiftr ctrll keycode 12 = backslash + shift altgr shiftr ctrll keycode 12 = questiondown + control shiftr ctrll keycode 12 = Control_underscore + shift control shiftr ctrll keycode 12 = Control_underscore + altgr control shiftr ctrll keycode 12 = Control_backslash + shift altgr control shiftr ctrll keycode 12 = Control_backslash + alt shiftr ctrll keycode 12 = Meta_minus + shift alt shiftr ctrll keycode 12 = Meta_underscore + altgr alt shiftr ctrll keycode 12 = Meta_backslash + shift altgr alt shiftr ctrll keycode 12 = Meta_backslash + control alt shiftr ctrll keycode 12 = Meta_Control_underscore + shift control alt shiftr ctrll keycode 12 = Meta_Control_underscore + altgr control alt shiftr ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt shiftr ctrll keycode 12 = Meta_Control_backslash + shift shiftl shiftr ctrll keycode 12 = underscore + altgr shiftl shiftr ctrll keycode 12 = backslash + shift altgr shiftl shiftr ctrll keycode 12 = questiondown + control shiftl shiftr ctrll keycode 12 = Control_underscore + shift control shiftl shiftr ctrll keycode 12 = Control_underscore + altgr control shiftl shiftr ctrll keycode 12 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 12 = Control_backslash + alt shiftl shiftr ctrll keycode 12 = Meta_minus + shift alt shiftl shiftr ctrll keycode 12 = Meta_underscore + altgr alt shiftl shiftr ctrll keycode 12 = Meta_backslash + shift altgr alt shiftl shiftr ctrll keycode 12 = Meta_backslash + control alt shiftl shiftr ctrll keycode 12 = Meta_Control_underscore + shift control alt shiftl shiftr ctrll keycode 12 = Meta_Control_underscore + altgr control alt shiftl shiftr ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 12 = Meta_Control_backslash +keycode 13 = equal + shift keycode 13 = plus + altgr keycode 13 = section + shift altgr keycode 13 = dead_cedilla + control keycode 13 = dead_cedilla + shift control keycode 13 = dead_cedilla + altgr control keycode 13 = dead_cedilla + shift altgr control keycode 13 = dead_cedilla + alt keycode 13 = Meta_equal + shift alt keycode 13 = Meta_plus + altgr alt keycode 13 = Meta_equal + shift altgr alt keycode 13 = dead_cedilla + control alt keycode 13 = dead_cedilla + shift control alt keycode 13 = dead_cedilla + altgr control alt keycode 13 = dead_cedilla + shift altgr control alt keycode 13 = dead_cedilla + shift shiftl keycode 13 = plus + altgr shiftl keycode 13 = section + shift altgr shiftl keycode 13 = dead_cedilla + control shiftl keycode 13 = dead_cedilla + shift control shiftl keycode 13 = dead_cedilla + altgr control shiftl keycode 13 = dead_cedilla + shift altgr control shiftl keycode 13 = dead_cedilla + alt shiftl keycode 13 = Meta_equal + shift alt shiftl keycode 13 = Meta_plus + altgr alt shiftl keycode 13 = Meta_equal + shift altgr alt shiftl keycode 13 = dead_cedilla + control alt shiftl keycode 13 = dead_cedilla + shift control alt shiftl keycode 13 = dead_cedilla + altgr control alt shiftl keycode 13 = dead_cedilla + shift altgr control alt shiftl keycode 13 = dead_cedilla + shift shiftr keycode 13 = plus + altgr shiftr keycode 13 = section + shift altgr shiftr keycode 13 = dead_cedilla + control shiftr keycode 13 = dead_cedilla + shift control shiftr keycode 13 = dead_cedilla + altgr control shiftr keycode 13 = dead_cedilla + shift altgr control shiftr keycode 13 = dead_cedilla + alt shiftr keycode 13 = Meta_equal + shift alt shiftr keycode 13 = Meta_plus + altgr alt shiftr keycode 13 = Meta_equal + shift altgr alt shiftr keycode 13 = dead_cedilla + control alt shiftr keycode 13 = dead_cedilla + shift control alt shiftr keycode 13 = dead_cedilla + altgr control alt shiftr keycode 13 = dead_cedilla + shift altgr control alt shiftr keycode 13 = dead_cedilla + shift shiftl shiftr keycode 13 = plus + altgr shiftl shiftr keycode 13 = section + shift altgr shiftl shiftr keycode 13 = dead_cedilla + control shiftl shiftr keycode 13 = dead_cedilla + shift control shiftl shiftr keycode 13 = dead_cedilla + altgr control shiftl shiftr keycode 13 = dead_cedilla + shift altgr control shiftl shiftr keycode 13 = dead_cedilla + alt shiftl shiftr keycode 13 = Meta_equal + shift alt shiftl shiftr keycode 13 = Meta_plus + altgr alt shiftl shiftr keycode 13 = Meta_equal + shift altgr alt shiftl shiftr keycode 13 = dead_cedilla + control alt shiftl shiftr keycode 13 = dead_cedilla + shift control alt shiftl shiftr keycode 13 = dead_cedilla + altgr control alt shiftl shiftr keycode 13 = dead_cedilla + shift altgr control alt shiftl shiftr keycode 13 = dead_cedilla + shift ctrll keycode 13 = plus + altgr ctrll keycode 13 = section + shift altgr ctrll keycode 13 = dead_cedilla + control ctrll keycode 13 = dead_cedilla + shift control ctrll keycode 13 = dead_cedilla + altgr control ctrll keycode 13 = dead_cedilla + shift altgr control ctrll keycode 13 = dead_cedilla + alt ctrll keycode 13 = Meta_equal + shift alt ctrll keycode 13 = Meta_plus + altgr alt ctrll keycode 13 = Meta_equal + shift altgr alt ctrll keycode 13 = dead_cedilla + control alt ctrll keycode 13 = dead_cedilla + shift control alt ctrll keycode 13 = dead_cedilla + altgr control alt ctrll keycode 13 = dead_cedilla + shift altgr control alt ctrll keycode 13 = dead_cedilla + shift shiftl ctrll keycode 13 = plus + altgr shiftl ctrll keycode 13 = section + shift altgr shiftl ctrll keycode 13 = dead_cedilla + control shiftl ctrll keycode 13 = dead_cedilla + shift control shiftl ctrll keycode 13 = dead_cedilla + altgr control shiftl ctrll keycode 13 = dead_cedilla + shift altgr control shiftl ctrll keycode 13 = dead_cedilla + alt shiftl ctrll keycode 13 = Meta_equal + shift alt shiftl ctrll keycode 13 = Meta_plus + altgr alt shiftl ctrll keycode 13 = Meta_equal + shift altgr alt shiftl ctrll keycode 13 = dead_cedilla + control alt shiftl ctrll keycode 13 = dead_cedilla + shift control alt shiftl ctrll keycode 13 = dead_cedilla + altgr control alt shiftl ctrll keycode 13 = dead_cedilla + shift altgr control alt shiftl ctrll keycode 13 = dead_cedilla + shift shiftr ctrll keycode 13 = plus + altgr shiftr ctrll keycode 13 = section + shift altgr shiftr ctrll keycode 13 = dead_cedilla + control shiftr ctrll keycode 13 = dead_cedilla + shift control shiftr ctrll keycode 13 = dead_cedilla + altgr control shiftr ctrll keycode 13 = dead_cedilla + shift altgr control shiftr ctrll keycode 13 = dead_cedilla + alt shiftr ctrll keycode 13 = Meta_equal + shift alt shiftr ctrll keycode 13 = Meta_plus + altgr alt shiftr ctrll keycode 13 = Meta_equal + shift altgr alt shiftr ctrll keycode 13 = dead_cedilla + control alt shiftr ctrll keycode 13 = dead_cedilla + shift control alt shiftr ctrll keycode 13 = dead_cedilla + altgr control alt shiftr ctrll keycode 13 = dead_cedilla + shift altgr control alt shiftr ctrll keycode 13 = dead_cedilla + shift shiftl shiftr ctrll keycode 13 = plus + altgr shiftl shiftr ctrll keycode 13 = section + shift altgr shiftl shiftr ctrll keycode 13 = dead_cedilla + control shiftl shiftr ctrll keycode 13 = dead_cedilla + shift control shiftl shiftr ctrll keycode 13 = dead_cedilla + altgr control shiftl shiftr ctrll keycode 13 = dead_cedilla + shift altgr control shiftl shiftr ctrll keycode 13 = dead_cedilla + alt shiftl shiftr ctrll keycode 13 = Meta_equal + shift alt shiftl shiftr ctrll keycode 13 = Meta_plus + altgr alt shiftl shiftr ctrll keycode 13 = Meta_equal + shift altgr alt shiftl shiftr ctrll keycode 13 = dead_cedilla + control alt shiftl shiftr ctrll keycode 13 = dead_cedilla + shift control alt shiftl shiftr ctrll keycode 13 = dead_cedilla + altgr control alt shiftl shiftr ctrll keycode 13 = dead_cedilla + shift altgr control alt shiftl shiftr ctrll keycode 13 = dead_cedilla +keycode 14 = Delete + control keycode 14 = BackSpace + shift control keycode 14 = BackSpace + altgr control keycode 14 = BackSpace + shift altgr control keycode 14 = BackSpace + alt keycode 14 = Meta_Delete + shift alt keycode 14 = Meta_Delete + altgr alt keycode 14 = Meta_Delete + shift altgr alt keycode 14 = Meta_Delete + control alt keycode 14 = Meta_BackSpace + shift control alt keycode 14 = Meta_BackSpace + altgr control alt keycode 14 = Meta_BackSpace + shift altgr control alt keycode 14 = Meta_BackSpace + control shiftl keycode 14 = BackSpace + shift control shiftl keycode 14 = BackSpace + altgr control shiftl keycode 14 = BackSpace + shift altgr control shiftl keycode 14 = BackSpace + alt shiftl keycode 14 = Meta_Delete + shift alt shiftl keycode 14 = Meta_Delete + altgr alt shiftl keycode 14 = Meta_Delete + shift altgr alt shiftl keycode 14 = Meta_Delete + control alt shiftl keycode 14 = Meta_BackSpace + shift control alt shiftl keycode 14 = Meta_BackSpace + altgr control alt shiftl keycode 14 = Meta_BackSpace + shift altgr control alt shiftl keycode 14 = Meta_BackSpace + control shiftr keycode 14 = BackSpace + shift control shiftr keycode 14 = BackSpace + altgr control shiftr keycode 14 = BackSpace + shift altgr control shiftr keycode 14 = BackSpace + alt shiftr keycode 14 = Meta_Delete + shift alt shiftr keycode 14 = Meta_Delete + altgr alt shiftr keycode 14 = Meta_Delete + shift altgr alt shiftr keycode 14 = Meta_Delete + control alt shiftr keycode 14 = Meta_BackSpace + shift control alt shiftr keycode 14 = Meta_BackSpace + altgr control alt shiftr keycode 14 = Meta_BackSpace + shift altgr control alt shiftr keycode 14 = Meta_BackSpace + control shiftl shiftr keycode 14 = BackSpace + shift control shiftl shiftr keycode 14 = BackSpace + altgr control shiftl shiftr keycode 14 = BackSpace + shift altgr control shiftl shiftr keycode 14 = BackSpace + alt shiftl shiftr keycode 14 = Meta_Delete + shift alt shiftl shiftr keycode 14 = Meta_Delete + altgr alt shiftl shiftr keycode 14 = Meta_Delete + shift altgr alt shiftl shiftr keycode 14 = Meta_Delete + control alt shiftl shiftr keycode 14 = Meta_BackSpace + shift control alt shiftl shiftr keycode 14 = Meta_BackSpace + altgr control alt shiftl shiftr keycode 14 = Meta_BackSpace + shift altgr control alt shiftl shiftr keycode 14 = Meta_BackSpace + control ctrll keycode 14 = BackSpace + shift control ctrll keycode 14 = BackSpace + altgr control ctrll keycode 14 = BackSpace + shift altgr control ctrll keycode 14 = BackSpace + alt ctrll keycode 14 = Meta_Delete + shift alt ctrll keycode 14 = Meta_Delete + altgr alt ctrll keycode 14 = Meta_Delete + shift altgr alt ctrll keycode 14 = Meta_Delete + control alt ctrll keycode 14 = Meta_BackSpace + shift control alt ctrll keycode 14 = Meta_BackSpace + altgr control alt ctrll keycode 14 = Meta_BackSpace + shift altgr control alt ctrll keycode 14 = Meta_BackSpace + control shiftl ctrll keycode 14 = BackSpace + shift control shiftl ctrll keycode 14 = BackSpace + altgr control shiftl ctrll keycode 14 = BackSpace + shift altgr control shiftl ctrll keycode 14 = BackSpace + alt shiftl ctrll keycode 14 = Meta_Delete + shift alt shiftl ctrll keycode 14 = Meta_Delete + altgr alt shiftl ctrll keycode 14 = Meta_Delete + shift altgr alt shiftl ctrll keycode 14 = Meta_Delete + control alt shiftl ctrll keycode 14 = Meta_BackSpace + shift control alt shiftl ctrll keycode 14 = Meta_BackSpace + altgr control alt shiftl ctrll keycode 14 = Meta_BackSpace + shift altgr control alt shiftl ctrll keycode 14 = Meta_BackSpace + control shiftr ctrll keycode 14 = BackSpace + shift control shiftr ctrll keycode 14 = BackSpace + altgr control shiftr ctrll keycode 14 = BackSpace + shift altgr control shiftr ctrll keycode 14 = BackSpace + alt shiftr ctrll keycode 14 = Meta_Delete + shift alt shiftr ctrll keycode 14 = Meta_Delete + altgr alt shiftr ctrll keycode 14 = Meta_Delete + shift altgr alt shiftr ctrll keycode 14 = Meta_Delete + control alt shiftr ctrll keycode 14 = Meta_BackSpace + shift control alt shiftr ctrll keycode 14 = Meta_BackSpace + altgr control alt shiftr ctrll keycode 14 = Meta_BackSpace + shift altgr control alt shiftr ctrll keycode 14 = Meta_BackSpace + control shiftl shiftr ctrll keycode 14 = BackSpace + shift control shiftl shiftr ctrll keycode 14 = BackSpace + altgr control shiftl shiftr ctrll keycode 14 = BackSpace + shift altgr control shiftl shiftr ctrll keycode 14 = BackSpace + alt shiftl shiftr ctrll keycode 14 = Meta_Delete + shift alt shiftl shiftr ctrll keycode 14 = Meta_Delete + altgr alt shiftl shiftr ctrll keycode 14 = Meta_Delete + shift altgr alt shiftl shiftr ctrll keycode 14 = Meta_Delete + control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace + shift control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace + altgr control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace + shift altgr control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace +keycode 15 = Tab + alt keycode 15 = Meta_Tab + shift alt keycode 15 = Meta_Tab + altgr alt keycode 15 = Meta_Tab + shift altgr alt keycode 15 = Meta_Tab + control alt keycode 15 = Meta_Tab + shift control alt keycode 15 = Meta_Tab + altgr control alt keycode 15 = Meta_Tab + shift altgr control alt keycode 15 = Meta_Tab + alt shiftl keycode 15 = Meta_Tab + shift alt shiftl keycode 15 = Meta_Tab + altgr alt shiftl keycode 15 = Meta_Tab + shift altgr alt shiftl keycode 15 = Meta_Tab + control alt shiftl keycode 15 = Meta_Tab + shift control alt shiftl keycode 15 = Meta_Tab + altgr control alt shiftl keycode 15 = Meta_Tab + shift altgr control alt shiftl keycode 15 = Meta_Tab + alt shiftr keycode 15 = Meta_Tab + shift alt shiftr keycode 15 = Meta_Tab + altgr alt shiftr keycode 15 = Meta_Tab + shift altgr alt shiftr keycode 15 = Meta_Tab + control alt shiftr keycode 15 = Meta_Tab + shift control alt shiftr keycode 15 = Meta_Tab + altgr control alt shiftr keycode 15 = Meta_Tab + shift altgr control alt shiftr keycode 15 = Meta_Tab + alt shiftl shiftr keycode 15 = Meta_Tab + shift alt shiftl shiftr keycode 15 = Meta_Tab + altgr alt shiftl shiftr keycode 15 = Meta_Tab + shift altgr alt shiftl shiftr keycode 15 = Meta_Tab + control alt shiftl shiftr keycode 15 = Meta_Tab + shift control alt shiftl shiftr keycode 15 = Meta_Tab + altgr control alt shiftl shiftr keycode 15 = Meta_Tab + shift altgr control alt shiftl shiftr keycode 15 = Meta_Tab + alt ctrll keycode 15 = Meta_Tab + shift alt ctrll keycode 15 = Meta_Tab + altgr alt ctrll keycode 15 = Meta_Tab + shift altgr alt ctrll keycode 15 = Meta_Tab + control alt ctrll keycode 15 = Meta_Tab + shift control alt ctrll keycode 15 = Meta_Tab + altgr control alt ctrll keycode 15 = Meta_Tab + shift altgr control alt ctrll keycode 15 = Meta_Tab + alt shiftl ctrll keycode 15 = Meta_Tab + shift alt shiftl ctrll keycode 15 = Meta_Tab + altgr alt shiftl ctrll keycode 15 = Meta_Tab + shift altgr alt shiftl ctrll keycode 15 = Meta_Tab + control alt shiftl ctrll keycode 15 = Meta_Tab + shift control alt shiftl ctrll keycode 15 = Meta_Tab + altgr control alt shiftl ctrll keycode 15 = Meta_Tab + shift altgr control alt shiftl ctrll keycode 15 = Meta_Tab + alt shiftr ctrll keycode 15 = Meta_Tab + shift alt shiftr ctrll keycode 15 = Meta_Tab + altgr alt shiftr ctrll keycode 15 = Meta_Tab + shift altgr alt shiftr ctrll keycode 15 = Meta_Tab + control alt shiftr ctrll keycode 15 = Meta_Tab + shift control alt shiftr ctrll keycode 15 = Meta_Tab + altgr control alt shiftr ctrll keycode 15 = Meta_Tab + shift altgr control alt shiftr ctrll keycode 15 = Meta_Tab + alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift alt shiftl shiftr ctrll keycode 15 = Meta_Tab + altgr alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift altgr alt shiftl shiftr ctrll keycode 15 = Meta_Tab + control alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift control alt shiftl shiftr ctrll keycode 15 = Meta_Tab + altgr control alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift altgr control alt shiftl shiftr ctrll keycode 15 = Meta_Tab +keycode 16 = +q + shift keycode 16 = +Q + altgr keycode 16 = slash + shift altgr keycode 16 = slash + control keycode 16 = Control_q + shift control keycode 16 = Control_q + altgr control keycode 16 = Control_q + shift altgr control keycode 16 = Control_q + alt keycode 16 = Meta_q + shift alt keycode 16 = Meta_Q + altgr alt keycode 16 = Meta_slash + shift altgr alt keycode 16 = Meta_slash + control alt keycode 16 = Meta_Control_q + shift control alt keycode 16 = Meta_Control_q + altgr control alt keycode 16 = Meta_Control_q + shift altgr control alt keycode 16 = Meta_Control_q + shift shiftl keycode 16 = +Q + altgr shiftl keycode 16 = slash + shift altgr shiftl keycode 16 = slash + control shiftl keycode 16 = Control_q + shift control shiftl keycode 16 = Control_q + altgr control shiftl keycode 16 = Control_q + shift altgr control shiftl keycode 16 = Control_q + alt shiftl keycode 16 = Meta_q + shift alt shiftl keycode 16 = Meta_Q + altgr alt shiftl keycode 16 = Meta_slash + shift altgr alt shiftl keycode 16 = Meta_slash + control alt shiftl keycode 16 = Meta_Control_q + shift control alt shiftl keycode 16 = Meta_Control_q + altgr control alt shiftl keycode 16 = Meta_Control_q + shift altgr control alt shiftl keycode 16 = Meta_Control_q + shift shiftr keycode 16 = +Q + altgr shiftr keycode 16 = slash + shift altgr shiftr keycode 16 = slash + control shiftr keycode 16 = Control_q + shift control shiftr keycode 16 = Control_q + altgr control shiftr keycode 16 = Control_q + shift altgr control shiftr keycode 16 = Control_q + alt shiftr keycode 16 = Meta_q + shift alt shiftr keycode 16 = Meta_Q + altgr alt shiftr keycode 16 = Meta_slash + shift altgr alt shiftr keycode 16 = Meta_slash + control alt shiftr keycode 16 = Meta_Control_q + shift control alt shiftr keycode 16 = Meta_Control_q + altgr control alt shiftr keycode 16 = Meta_Control_q + shift altgr control alt shiftr keycode 16 = Meta_Control_q + shift shiftl shiftr keycode 16 = +Q + altgr shiftl shiftr keycode 16 = slash + shift altgr shiftl shiftr keycode 16 = slash + control shiftl shiftr keycode 16 = Control_q + shift control shiftl shiftr keycode 16 = Control_q + altgr control shiftl shiftr keycode 16 = Control_q + shift altgr control shiftl shiftr keycode 16 = Control_q + alt shiftl shiftr keycode 16 = Meta_q + shift alt shiftl shiftr keycode 16 = Meta_Q + altgr alt shiftl shiftr keycode 16 = Meta_slash + shift altgr alt shiftl shiftr keycode 16 = Meta_slash + control alt shiftl shiftr keycode 16 = Meta_Control_q + shift control alt shiftl shiftr keycode 16 = Meta_Control_q + altgr control alt shiftl shiftr keycode 16 = Meta_Control_q + shift altgr control alt shiftl shiftr keycode 16 = Meta_Control_q + ctrll keycode 16 = +Q + altgr ctrll keycode 16 = slash + shift altgr ctrll keycode 16 = slash + control ctrll keycode 16 = Control_q + shift control ctrll keycode 16 = Control_q + altgr control ctrll keycode 16 = Control_q + shift altgr control ctrll keycode 16 = Control_q + alt ctrll keycode 16 = Meta_q + shift alt ctrll keycode 16 = Meta_Q + altgr alt ctrll keycode 16 = Meta_slash + shift altgr alt ctrll keycode 16 = Meta_slash + control alt ctrll keycode 16 = Meta_Control_q + shift control alt ctrll keycode 16 = Meta_Control_q + altgr control alt ctrll keycode 16 = Meta_Control_q + shift altgr control alt ctrll keycode 16 = Meta_Control_q + shiftl ctrll keycode 16 = +Q + altgr shiftl ctrll keycode 16 = slash + shift altgr shiftl ctrll keycode 16 = slash + control shiftl ctrll keycode 16 = Control_q + shift control shiftl ctrll keycode 16 = Control_q + altgr control shiftl ctrll keycode 16 = Control_q + shift altgr control shiftl ctrll keycode 16 = Control_q + alt shiftl ctrll keycode 16 = Meta_q + shift alt shiftl ctrll keycode 16 = Meta_Q + altgr alt shiftl ctrll keycode 16 = Meta_slash + shift altgr alt shiftl ctrll keycode 16 = Meta_slash + control alt shiftl ctrll keycode 16 = Meta_Control_q + shift control alt shiftl ctrll keycode 16 = Meta_Control_q + altgr control alt shiftl ctrll keycode 16 = Meta_Control_q + shift altgr control alt shiftl ctrll keycode 16 = Meta_Control_q + shiftr ctrll keycode 16 = +Q + altgr shiftr ctrll keycode 16 = slash + shift altgr shiftr ctrll keycode 16 = slash + control shiftr ctrll keycode 16 = Control_q + shift control shiftr ctrll keycode 16 = Control_q + altgr control shiftr ctrll keycode 16 = Control_q + shift altgr control shiftr ctrll keycode 16 = Control_q + alt shiftr ctrll keycode 16 = Meta_q + shift alt shiftr ctrll keycode 16 = Meta_Q + altgr alt shiftr ctrll keycode 16 = Meta_slash + shift altgr alt shiftr ctrll keycode 16 = Meta_slash + control alt shiftr ctrll keycode 16 = Meta_Control_q + shift control alt shiftr ctrll keycode 16 = Meta_Control_q + altgr control alt shiftr ctrll keycode 16 = Meta_Control_q + shift altgr control alt shiftr ctrll keycode 16 = Meta_Control_q + shiftl shiftr ctrll keycode 16 = +Q + altgr shiftl shiftr ctrll keycode 16 = slash + shift altgr shiftl shiftr ctrll keycode 16 = slash + control shiftl shiftr ctrll keycode 16 = Control_q + shift control shiftl shiftr ctrll keycode 16 = Control_q + altgr control shiftl shiftr ctrll keycode 16 = Control_q + shift altgr control shiftl shiftr ctrll keycode 16 = Control_q + alt shiftl shiftr ctrll keycode 16 = Meta_q + shift alt shiftl shiftr ctrll keycode 16 = Meta_Q + altgr alt shiftl shiftr ctrll keycode 16 = Meta_slash + shift altgr alt shiftl shiftr ctrll keycode 16 = Meta_slash + control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q + shift control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q + altgr control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q + shift altgr control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q +keycode 17 = +w + shift keycode 17 = +W + altgr keycode 17 = question + shift altgr keycode 17 = question + control keycode 17 = Control_w + shift control keycode 17 = Control_w + altgr control keycode 17 = Delete + shift altgr control keycode 17 = Delete + alt keycode 17 = Meta_w + shift alt keycode 17 = Meta_W + altgr alt keycode 17 = Meta_question + shift altgr alt keycode 17 = Meta_question + control alt keycode 17 = Meta_Control_w + shift control alt keycode 17 = Meta_Control_w + altgr control alt keycode 17 = Meta_Delete + shift altgr control alt keycode 17 = Meta_Delete + shift shiftl keycode 17 = +W + altgr shiftl keycode 17 = question + shift altgr shiftl keycode 17 = question + control shiftl keycode 17 = Control_w + shift control shiftl keycode 17 = Control_w + altgr control shiftl keycode 17 = Delete + shift altgr control shiftl keycode 17 = Delete + alt shiftl keycode 17 = Meta_w + shift alt shiftl keycode 17 = Meta_W + altgr alt shiftl keycode 17 = Meta_question + shift altgr alt shiftl keycode 17 = Meta_question + control alt shiftl keycode 17 = Meta_Control_w + shift control alt shiftl keycode 17 = Meta_Control_w + altgr control alt shiftl keycode 17 = Meta_Delete + shift altgr control alt shiftl keycode 17 = Meta_Delete + shift shiftr keycode 17 = +W + altgr shiftr keycode 17 = question + shift altgr shiftr keycode 17 = question + control shiftr keycode 17 = Control_w + shift control shiftr keycode 17 = Control_w + altgr control shiftr keycode 17 = Delete + shift altgr control shiftr keycode 17 = Delete + alt shiftr keycode 17 = Meta_w + shift alt shiftr keycode 17 = Meta_W + altgr alt shiftr keycode 17 = Meta_question + shift altgr alt shiftr keycode 17 = Meta_question + control alt shiftr keycode 17 = Meta_Control_w + shift control alt shiftr keycode 17 = Meta_Control_w + altgr control alt shiftr keycode 17 = Meta_Delete + shift altgr control alt shiftr keycode 17 = Meta_Delete + shift shiftl shiftr keycode 17 = +W + altgr shiftl shiftr keycode 17 = question + shift altgr shiftl shiftr keycode 17 = question + control shiftl shiftr keycode 17 = Control_w + shift control shiftl shiftr keycode 17 = Control_w + altgr control shiftl shiftr keycode 17 = Delete + shift altgr control shiftl shiftr keycode 17 = Delete + alt shiftl shiftr keycode 17 = Meta_w + shift alt shiftl shiftr keycode 17 = Meta_W + altgr alt shiftl shiftr keycode 17 = Meta_question + shift altgr alt shiftl shiftr keycode 17 = Meta_question + control alt shiftl shiftr keycode 17 = Meta_Control_w + shift control alt shiftl shiftr keycode 17 = Meta_Control_w + altgr control alt shiftl shiftr keycode 17 = Meta_Delete + shift altgr control alt shiftl shiftr keycode 17 = Meta_Delete + ctrll keycode 17 = +W + altgr ctrll keycode 17 = question + shift altgr ctrll keycode 17 = question + control ctrll keycode 17 = Control_w + shift control ctrll keycode 17 = Control_w + altgr control ctrll keycode 17 = Delete + shift altgr control ctrll keycode 17 = Delete + alt ctrll keycode 17 = Meta_w + shift alt ctrll keycode 17 = Meta_W + altgr alt ctrll keycode 17 = Meta_question + shift altgr alt ctrll keycode 17 = Meta_question + control alt ctrll keycode 17 = Meta_Control_w + shift control alt ctrll keycode 17 = Meta_Control_w + altgr control alt ctrll keycode 17 = Meta_Delete + shift altgr control alt ctrll keycode 17 = Meta_Delete + shiftl ctrll keycode 17 = +W + altgr shiftl ctrll keycode 17 = question + shift altgr shiftl ctrll keycode 17 = question + control shiftl ctrll keycode 17 = Control_w + shift control shiftl ctrll keycode 17 = Control_w + altgr control shiftl ctrll keycode 17 = Delete + shift altgr control shiftl ctrll keycode 17 = Delete + alt shiftl ctrll keycode 17 = Meta_w + shift alt shiftl ctrll keycode 17 = Meta_W + altgr alt shiftl ctrll keycode 17 = Meta_question + shift altgr alt shiftl ctrll keycode 17 = Meta_question + control alt shiftl ctrll keycode 17 = Meta_Control_w + shift control alt shiftl ctrll keycode 17 = Meta_Control_w + altgr control alt shiftl ctrll keycode 17 = Meta_Delete + shift altgr control alt shiftl ctrll keycode 17 = Meta_Delete + shiftr ctrll keycode 17 = +W + altgr shiftr ctrll keycode 17 = question + shift altgr shiftr ctrll keycode 17 = question + control shiftr ctrll keycode 17 = Control_w + shift control shiftr ctrll keycode 17 = Control_w + altgr control shiftr ctrll keycode 17 = Delete + shift altgr control shiftr ctrll keycode 17 = Delete + alt shiftr ctrll keycode 17 = Meta_w + shift alt shiftr ctrll keycode 17 = Meta_W + altgr alt shiftr ctrll keycode 17 = Meta_question + shift altgr alt shiftr ctrll keycode 17 = Meta_question + control alt shiftr ctrll keycode 17 = Meta_Control_w + shift control alt shiftr ctrll keycode 17 = Meta_Control_w + altgr control alt shiftr ctrll keycode 17 = Meta_Delete + shift altgr control alt shiftr ctrll keycode 17 = Meta_Delete + shiftl shiftr ctrll keycode 17 = +W + altgr shiftl shiftr ctrll keycode 17 = question + shift altgr shiftl shiftr ctrll keycode 17 = question + control shiftl shiftr ctrll keycode 17 = Control_w + shift control shiftl shiftr ctrll keycode 17 = Control_w + altgr control shiftl shiftr ctrll keycode 17 = Delete + shift altgr control shiftl shiftr ctrll keycode 17 = Delete + alt shiftl shiftr ctrll keycode 17 = Meta_w + shift alt shiftl shiftr ctrll keycode 17 = Meta_W + altgr alt shiftl shiftr ctrll keycode 17 = Meta_question + shift altgr alt shiftl shiftr ctrll keycode 17 = Meta_question + control alt shiftl shiftr ctrll keycode 17 = Meta_Control_w + shift control alt shiftl shiftr ctrll keycode 17 = Meta_Control_w + altgr control alt shiftl shiftr ctrll keycode 17 = Meta_Delete + shift altgr control alt shiftl shiftr ctrll keycode 17 = Meta_Delete +keycode 18 = +e + shift keycode 18 = +E + altgr keycode 18 = euro + shift altgr keycode 18 = euro + control keycode 18 = Control_e + shift control keycode 18 = Control_e + altgr control keycode 18 = Control_e + shift altgr control keycode 18 = Control_e + alt keycode 18 = Meta_e + shift alt keycode 18 = Meta_E + altgr alt keycode 18 = Meta_e + shift altgr alt keycode 18 = Meta_E + control alt keycode 18 = Meta_Control_e + shift control alt keycode 18 = Meta_Control_e + altgr control alt keycode 18 = Meta_Control_e + shift altgr control alt keycode 18 = Meta_Control_e + shift shiftl keycode 18 = +E + altgr shiftl keycode 18 = euro + shift altgr shiftl keycode 18 = euro + control shiftl keycode 18 = Control_e + shift control shiftl keycode 18 = Control_e + altgr control shiftl keycode 18 = Control_e + shift altgr control shiftl keycode 18 = Control_e + alt shiftl keycode 18 = Meta_e + shift alt shiftl keycode 18 = Meta_E + altgr alt shiftl keycode 18 = Meta_e + shift altgr alt shiftl keycode 18 = Meta_E + control alt shiftl keycode 18 = Meta_Control_e + shift control alt shiftl keycode 18 = Meta_Control_e + altgr control alt shiftl keycode 18 = Meta_Control_e + shift altgr control alt shiftl keycode 18 = Meta_Control_e + shift shiftr keycode 18 = +E + altgr shiftr keycode 18 = euro + shift altgr shiftr keycode 18 = euro + control shiftr keycode 18 = Control_e + shift control shiftr keycode 18 = Control_e + altgr control shiftr keycode 18 = Control_e + shift altgr control shiftr keycode 18 = Control_e + alt shiftr keycode 18 = Meta_e + shift alt shiftr keycode 18 = Meta_E + altgr alt shiftr keycode 18 = Meta_e + shift altgr alt shiftr keycode 18 = Meta_E + control alt shiftr keycode 18 = Meta_Control_e + shift control alt shiftr keycode 18 = Meta_Control_e + altgr control alt shiftr keycode 18 = Meta_Control_e + shift altgr control alt shiftr keycode 18 = Meta_Control_e + shift shiftl shiftr keycode 18 = +E + altgr shiftl shiftr keycode 18 = euro + shift altgr shiftl shiftr keycode 18 = euro + control shiftl shiftr keycode 18 = Control_e + shift control shiftl shiftr keycode 18 = Control_e + altgr control shiftl shiftr keycode 18 = Control_e + shift altgr control shiftl shiftr keycode 18 = Control_e + alt shiftl shiftr keycode 18 = Meta_e + shift alt shiftl shiftr keycode 18 = Meta_E + altgr alt shiftl shiftr keycode 18 = Meta_e + shift altgr alt shiftl shiftr keycode 18 = Meta_E + control alt shiftl shiftr keycode 18 = Meta_Control_e + shift control alt shiftl shiftr keycode 18 = Meta_Control_e + altgr control alt shiftl shiftr keycode 18 = Meta_Control_e + shift altgr control alt shiftl shiftr keycode 18 = Meta_Control_e + ctrll keycode 18 = +E + altgr ctrll keycode 18 = euro + shift altgr ctrll keycode 18 = euro + control ctrll keycode 18 = Control_e + shift control ctrll keycode 18 = Control_e + altgr control ctrll keycode 18 = Control_e + shift altgr control ctrll keycode 18 = Control_e + alt ctrll keycode 18 = Meta_e + shift alt ctrll keycode 18 = Meta_E + altgr alt ctrll keycode 18 = Meta_e + shift altgr alt ctrll keycode 18 = Meta_E + control alt ctrll keycode 18 = Meta_Control_e + shift control alt ctrll keycode 18 = Meta_Control_e + altgr control alt ctrll keycode 18 = Meta_Control_e + shift altgr control alt ctrll keycode 18 = Meta_Control_e + shiftl ctrll keycode 18 = +E + altgr shiftl ctrll keycode 18 = euro + shift altgr shiftl ctrll keycode 18 = euro + control shiftl ctrll keycode 18 = Control_e + shift control shiftl ctrll keycode 18 = Control_e + altgr control shiftl ctrll keycode 18 = Control_e + shift altgr control shiftl ctrll keycode 18 = Control_e + alt shiftl ctrll keycode 18 = Meta_e + shift alt shiftl ctrll keycode 18 = Meta_E + altgr alt shiftl ctrll keycode 18 = Meta_e + shift altgr alt shiftl ctrll keycode 18 = Meta_E + control alt shiftl ctrll keycode 18 = Meta_Control_e + shift control alt shiftl ctrll keycode 18 = Meta_Control_e + altgr control alt shiftl ctrll keycode 18 = Meta_Control_e + shift altgr control alt shiftl ctrll keycode 18 = Meta_Control_e + shiftr ctrll keycode 18 = +E + altgr shiftr ctrll keycode 18 = euro + shift altgr shiftr ctrll keycode 18 = euro + control shiftr ctrll keycode 18 = Control_e + shift control shiftr ctrll keycode 18 = Control_e + altgr control shiftr ctrll keycode 18 = Control_e + shift altgr control shiftr ctrll keycode 18 = Control_e + alt shiftr ctrll keycode 18 = Meta_e + shift alt shiftr ctrll keycode 18 = Meta_E + altgr alt shiftr ctrll keycode 18 = Meta_e + shift altgr alt shiftr ctrll keycode 18 = Meta_E + control alt shiftr ctrll keycode 18 = Meta_Control_e + shift control alt shiftr ctrll keycode 18 = Meta_Control_e + altgr control alt shiftr ctrll keycode 18 = Meta_Control_e + shift altgr control alt shiftr ctrll keycode 18 = Meta_Control_e + shiftl shiftr ctrll keycode 18 = +E + altgr shiftl shiftr ctrll keycode 18 = euro + shift altgr shiftl shiftr ctrll keycode 18 = euro + control shiftl shiftr ctrll keycode 18 = Control_e + shift control shiftl shiftr ctrll keycode 18 = Control_e + altgr control shiftl shiftr ctrll keycode 18 = Control_e + shift altgr control shiftl shiftr ctrll keycode 18 = Control_e + alt shiftl shiftr ctrll keycode 18 = Meta_e + shift alt shiftl shiftr ctrll keycode 18 = Meta_E + altgr alt shiftl shiftr ctrll keycode 18 = Meta_e + shift altgr alt shiftl shiftr ctrll keycode 18 = Meta_E + control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e + shift control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e + altgr control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e + shift altgr control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e +keycode 19 = +r + shift keycode 19 = +R + altgr keycode 19 = registered + shift altgr keycode 19 = registered + control keycode 19 = Control_r + shift control keycode 19 = Control_r + altgr control keycode 19 = Control_r + shift altgr control keycode 19 = Control_r + alt keycode 19 = Meta_r + shift alt keycode 19 = Meta_R + altgr alt keycode 19 = Meta_r + shift altgr alt keycode 19 = Meta_R + control alt keycode 19 = Meta_Control_r + shift control alt keycode 19 = Meta_Control_r + altgr control alt keycode 19 = Meta_Control_r + shift altgr control alt keycode 19 = Meta_Control_r + shift shiftl keycode 19 = +R + altgr shiftl keycode 19 = registered + shift altgr shiftl keycode 19 = registered + control shiftl keycode 19 = Control_r + shift control shiftl keycode 19 = Control_r + altgr control shiftl keycode 19 = Control_r + shift altgr control shiftl keycode 19 = Control_r + alt shiftl keycode 19 = Meta_r + shift alt shiftl keycode 19 = Meta_R + altgr alt shiftl keycode 19 = Meta_r + shift altgr alt shiftl keycode 19 = Meta_R + control alt shiftl keycode 19 = Meta_Control_r + shift control alt shiftl keycode 19 = Meta_Control_r + altgr control alt shiftl keycode 19 = Meta_Control_r + shift altgr control alt shiftl keycode 19 = Meta_Control_r + shift shiftr keycode 19 = +R + altgr shiftr keycode 19 = registered + shift altgr shiftr keycode 19 = registered + control shiftr keycode 19 = Control_r + shift control shiftr keycode 19 = Control_r + altgr control shiftr keycode 19 = Control_r + shift altgr control shiftr keycode 19 = Control_r + alt shiftr keycode 19 = Meta_r + shift alt shiftr keycode 19 = Meta_R + altgr alt shiftr keycode 19 = Meta_r + shift altgr alt shiftr keycode 19 = Meta_R + control alt shiftr keycode 19 = Meta_Control_r + shift control alt shiftr keycode 19 = Meta_Control_r + altgr control alt shiftr keycode 19 = Meta_Control_r + shift altgr control alt shiftr keycode 19 = Meta_Control_r + shift shiftl shiftr keycode 19 = +R + altgr shiftl shiftr keycode 19 = registered + shift altgr shiftl shiftr keycode 19 = registered + control shiftl shiftr keycode 19 = Control_r + shift control shiftl shiftr keycode 19 = Control_r + altgr control shiftl shiftr keycode 19 = Control_r + shift altgr control shiftl shiftr keycode 19 = Control_r + alt shiftl shiftr keycode 19 = Meta_r + shift alt shiftl shiftr keycode 19 = Meta_R + altgr alt shiftl shiftr keycode 19 = Meta_r + shift altgr alt shiftl shiftr keycode 19 = Meta_R + control alt shiftl shiftr keycode 19 = Meta_Control_r + shift control alt shiftl shiftr keycode 19 = Meta_Control_r + altgr control alt shiftl shiftr keycode 19 = Meta_Control_r + shift altgr control alt shiftl shiftr keycode 19 = Meta_Control_r + ctrll keycode 19 = +R + altgr ctrll keycode 19 = registered + shift altgr ctrll keycode 19 = registered + control ctrll keycode 19 = Control_r + shift control ctrll keycode 19 = Control_r + altgr control ctrll keycode 19 = Control_r + shift altgr control ctrll keycode 19 = Control_r + alt ctrll keycode 19 = Meta_r + shift alt ctrll keycode 19 = Meta_R + altgr alt ctrll keycode 19 = Meta_r + shift altgr alt ctrll keycode 19 = Meta_R + control alt ctrll keycode 19 = Meta_Control_r + shift control alt ctrll keycode 19 = Meta_Control_r + altgr control alt ctrll keycode 19 = Meta_Control_r + shift altgr control alt ctrll keycode 19 = Meta_Control_r + shiftl ctrll keycode 19 = +R + altgr shiftl ctrll keycode 19 = registered + shift altgr shiftl ctrll keycode 19 = registered + control shiftl ctrll keycode 19 = Control_r + shift control shiftl ctrll keycode 19 = Control_r + altgr control shiftl ctrll keycode 19 = Control_r + shift altgr control shiftl ctrll keycode 19 = Control_r + alt shiftl ctrll keycode 19 = Meta_r + shift alt shiftl ctrll keycode 19 = Meta_R + altgr alt shiftl ctrll keycode 19 = Meta_r + shift altgr alt shiftl ctrll keycode 19 = Meta_R + control alt shiftl ctrll keycode 19 = Meta_Control_r + shift control alt shiftl ctrll keycode 19 = Meta_Control_r + altgr control alt shiftl ctrll keycode 19 = Meta_Control_r + shift altgr control alt shiftl ctrll keycode 19 = Meta_Control_r + shiftr ctrll keycode 19 = +R + altgr shiftr ctrll keycode 19 = registered + shift altgr shiftr ctrll keycode 19 = registered + control shiftr ctrll keycode 19 = Control_r + shift control shiftr ctrll keycode 19 = Control_r + altgr control shiftr ctrll keycode 19 = Control_r + shift altgr control shiftr ctrll keycode 19 = Control_r + alt shiftr ctrll keycode 19 = Meta_r + shift alt shiftr ctrll keycode 19 = Meta_R + altgr alt shiftr ctrll keycode 19 = Meta_r + shift altgr alt shiftr ctrll keycode 19 = Meta_R + control alt shiftr ctrll keycode 19 = Meta_Control_r + shift control alt shiftr ctrll keycode 19 = Meta_Control_r + altgr control alt shiftr ctrll keycode 19 = Meta_Control_r + shift altgr control alt shiftr ctrll keycode 19 = Meta_Control_r + shiftl shiftr ctrll keycode 19 = +R + altgr shiftl shiftr ctrll keycode 19 = registered + shift altgr shiftl shiftr ctrll keycode 19 = registered + control shiftl shiftr ctrll keycode 19 = Control_r + shift control shiftl shiftr ctrll keycode 19 = Control_r + altgr control shiftl shiftr ctrll keycode 19 = Control_r + shift altgr control shiftl shiftr ctrll keycode 19 = Control_r + alt shiftl shiftr ctrll keycode 19 = Meta_r + shift alt shiftl shiftr ctrll keycode 19 = Meta_R + altgr alt shiftl shiftr ctrll keycode 19 = Meta_r + shift altgr alt shiftl shiftr ctrll keycode 19 = Meta_R + control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r + shift control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r + altgr control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r + shift altgr control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r +keycode 20 = +t + shift keycode 20 = +T + altgr keycode 20 = tslash + shift altgr keycode 20 = Tslash + control keycode 20 = Control_t + shift control keycode 20 = Control_t + altgr control keycode 20 = Control_t + shift altgr control keycode 20 = Control_t + alt keycode 20 = Meta_t + shift alt keycode 20 = Meta_T + altgr alt keycode 20 = Meta_t + shift altgr alt keycode 20 = Meta_T + control alt keycode 20 = Meta_Control_t + shift control alt keycode 20 = Meta_Control_t + altgr control alt keycode 20 = Meta_Control_t + shift altgr control alt keycode 20 = Meta_Control_t + shift shiftl keycode 20 = +T + altgr shiftl keycode 20 = tslash + shift altgr shiftl keycode 20 = Tslash + control shiftl keycode 20 = Control_t + shift control shiftl keycode 20 = Control_t + altgr control shiftl keycode 20 = Control_t + shift altgr control shiftl keycode 20 = Control_t + alt shiftl keycode 20 = Meta_t + shift alt shiftl keycode 20 = Meta_T + altgr alt shiftl keycode 20 = Meta_t + shift altgr alt shiftl keycode 20 = Meta_T + control alt shiftl keycode 20 = Meta_Control_t + shift control alt shiftl keycode 20 = Meta_Control_t + altgr control alt shiftl keycode 20 = Meta_Control_t + shift altgr control alt shiftl keycode 20 = Meta_Control_t + shift shiftr keycode 20 = +T + altgr shiftr keycode 20 = tslash + shift altgr shiftr keycode 20 = Tslash + control shiftr keycode 20 = Control_t + shift control shiftr keycode 20 = Control_t + altgr control shiftr keycode 20 = Control_t + shift altgr control shiftr keycode 20 = Control_t + alt shiftr keycode 20 = Meta_t + shift alt shiftr keycode 20 = Meta_T + altgr alt shiftr keycode 20 = Meta_t + shift altgr alt shiftr keycode 20 = Meta_T + control alt shiftr keycode 20 = Meta_Control_t + shift control alt shiftr keycode 20 = Meta_Control_t + altgr control alt shiftr keycode 20 = Meta_Control_t + shift altgr control alt shiftr keycode 20 = Meta_Control_t + shift shiftl shiftr keycode 20 = +T + altgr shiftl shiftr keycode 20 = tslash + shift altgr shiftl shiftr keycode 20 = Tslash + control shiftl shiftr keycode 20 = Control_t + shift control shiftl shiftr keycode 20 = Control_t + altgr control shiftl shiftr keycode 20 = Control_t + shift altgr control shiftl shiftr keycode 20 = Control_t + alt shiftl shiftr keycode 20 = Meta_t + shift alt shiftl shiftr keycode 20 = Meta_T + altgr alt shiftl shiftr keycode 20 = Meta_t + shift altgr alt shiftl shiftr keycode 20 = Meta_T + control alt shiftl shiftr keycode 20 = Meta_Control_t + shift control alt shiftl shiftr keycode 20 = Meta_Control_t + altgr control alt shiftl shiftr keycode 20 = Meta_Control_t + shift altgr control alt shiftl shiftr keycode 20 = Meta_Control_t + ctrll keycode 20 = +T + altgr ctrll keycode 20 = Tslash + shift altgr ctrll keycode 20 = tslash + control ctrll keycode 20 = Control_t + shift control ctrll keycode 20 = Control_t + altgr control ctrll keycode 20 = Control_t + shift altgr control ctrll keycode 20 = Control_t + alt ctrll keycode 20 = Meta_t + shift alt ctrll keycode 20 = Meta_T + altgr alt ctrll keycode 20 = Meta_t + shift altgr alt ctrll keycode 20 = Meta_T + control alt ctrll keycode 20 = Meta_Control_t + shift control alt ctrll keycode 20 = Meta_Control_t + altgr control alt ctrll keycode 20 = Meta_Control_t + shift altgr control alt ctrll keycode 20 = Meta_Control_t + shiftl ctrll keycode 20 = +T + altgr shiftl ctrll keycode 20 = Tslash + shift altgr shiftl ctrll keycode 20 = tslash + control shiftl ctrll keycode 20 = Control_t + shift control shiftl ctrll keycode 20 = Control_t + altgr control shiftl ctrll keycode 20 = Control_t + shift altgr control shiftl ctrll keycode 20 = Control_t + alt shiftl ctrll keycode 20 = Meta_t + shift alt shiftl ctrll keycode 20 = Meta_T + altgr alt shiftl ctrll keycode 20 = Meta_t + shift altgr alt shiftl ctrll keycode 20 = Meta_T + control alt shiftl ctrll keycode 20 = Meta_Control_t + shift control alt shiftl ctrll keycode 20 = Meta_Control_t + altgr control alt shiftl ctrll keycode 20 = Meta_Control_t + shift altgr control alt shiftl ctrll keycode 20 = Meta_Control_t + shiftr ctrll keycode 20 = +T + altgr shiftr ctrll keycode 20 = Tslash + shift altgr shiftr ctrll keycode 20 = tslash + control shiftr ctrll keycode 20 = Control_t + shift control shiftr ctrll keycode 20 = Control_t + altgr control shiftr ctrll keycode 20 = Control_t + shift altgr control shiftr ctrll keycode 20 = Control_t + alt shiftr ctrll keycode 20 = Meta_t + shift alt shiftr ctrll keycode 20 = Meta_T + altgr alt shiftr ctrll keycode 20 = Meta_t + shift altgr alt shiftr ctrll keycode 20 = Meta_T + control alt shiftr ctrll keycode 20 = Meta_Control_t + shift control alt shiftr ctrll keycode 20 = Meta_Control_t + altgr control alt shiftr ctrll keycode 20 = Meta_Control_t + shift altgr control alt shiftr ctrll keycode 20 = Meta_Control_t + shiftl shiftr ctrll keycode 20 = +T + altgr shiftl shiftr ctrll keycode 20 = Tslash + shift altgr shiftl shiftr ctrll keycode 20 = tslash + control shiftl shiftr ctrll keycode 20 = Control_t + shift control shiftl shiftr ctrll keycode 20 = Control_t + altgr control shiftl shiftr ctrll keycode 20 = Control_t + shift altgr control shiftl shiftr ctrll keycode 20 = Control_t + alt shiftl shiftr ctrll keycode 20 = Meta_t + shift alt shiftl shiftr ctrll keycode 20 = Meta_T + altgr alt shiftl shiftr ctrll keycode 20 = Meta_t + shift altgr alt shiftl shiftr ctrll keycode 20 = Meta_T + control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t + shift control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t + altgr control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t + shift altgr control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t +keycode 21 = +y + shift keycode 21 = +Y + altgr keycode 21 = U+2190 + shift altgr keycode 21 = yen + control keycode 21 = Control_y + shift control keycode 21 = Control_y + altgr control keycode 21 = Control_y + shift altgr control keycode 21 = Control_y + alt keycode 21 = Meta_y + shift alt keycode 21 = Meta_Y + altgr alt keycode 21 = Meta_y + shift altgr alt keycode 21 = Meta_Y + control alt keycode 21 = Meta_Control_y + shift control alt keycode 21 = Meta_Control_y + altgr control alt keycode 21 = Meta_Control_y + shift altgr control alt keycode 21 = Meta_Control_y + shift shiftl keycode 21 = +Y + altgr shiftl keycode 21 = U+2190 + shift altgr shiftl keycode 21 = yen + control shiftl keycode 21 = Control_y + shift control shiftl keycode 21 = Control_y + altgr control shiftl keycode 21 = Control_y + shift altgr control shiftl keycode 21 = Control_y + alt shiftl keycode 21 = Meta_y + shift alt shiftl keycode 21 = Meta_Y + altgr alt shiftl keycode 21 = Meta_y + shift altgr alt shiftl keycode 21 = Meta_Y + control alt shiftl keycode 21 = Meta_Control_y + shift control alt shiftl keycode 21 = Meta_Control_y + altgr control alt shiftl keycode 21 = Meta_Control_y + shift altgr control alt shiftl keycode 21 = Meta_Control_y + shift shiftr keycode 21 = +Y + altgr shiftr keycode 21 = U+2190 + shift altgr shiftr keycode 21 = yen + control shiftr keycode 21 = Control_y + shift control shiftr keycode 21 = Control_y + altgr control shiftr keycode 21 = Control_y + shift altgr control shiftr keycode 21 = Control_y + alt shiftr keycode 21 = Meta_y + shift alt shiftr keycode 21 = Meta_Y + altgr alt shiftr keycode 21 = Meta_y + shift altgr alt shiftr keycode 21 = Meta_Y + control alt shiftr keycode 21 = Meta_Control_y + shift control alt shiftr keycode 21 = Meta_Control_y + altgr control alt shiftr keycode 21 = Meta_Control_y + shift altgr control alt shiftr keycode 21 = Meta_Control_y + shift shiftl shiftr keycode 21 = +Y + altgr shiftl shiftr keycode 21 = U+2190 + shift altgr shiftl shiftr keycode 21 = yen + control shiftl shiftr keycode 21 = Control_y + shift control shiftl shiftr keycode 21 = Control_y + altgr control shiftl shiftr keycode 21 = Control_y + shift altgr control shiftl shiftr keycode 21 = Control_y + alt shiftl shiftr keycode 21 = Meta_y + shift alt shiftl shiftr keycode 21 = Meta_Y + altgr alt shiftl shiftr keycode 21 = Meta_y + shift altgr alt shiftl shiftr keycode 21 = Meta_Y + control alt shiftl shiftr keycode 21 = Meta_Control_y + shift control alt shiftl shiftr keycode 21 = Meta_Control_y + altgr control alt shiftl shiftr keycode 21 = Meta_Control_y + shift altgr control alt shiftl shiftr keycode 21 = Meta_Control_y + ctrll keycode 21 = +Y + altgr ctrll keycode 21 = U+2190 + shift altgr ctrll keycode 21 = yen + control ctrll keycode 21 = Control_y + shift control ctrll keycode 21 = Control_y + altgr control ctrll keycode 21 = Control_y + shift altgr control ctrll keycode 21 = Control_y + alt ctrll keycode 21 = Meta_y + shift alt ctrll keycode 21 = Meta_Y + altgr alt ctrll keycode 21 = Meta_y + shift altgr alt ctrll keycode 21 = Meta_Y + control alt ctrll keycode 21 = Meta_Control_y + shift control alt ctrll keycode 21 = Meta_Control_y + altgr control alt ctrll keycode 21 = Meta_Control_y + shift altgr control alt ctrll keycode 21 = Meta_Control_y + shiftl ctrll keycode 21 = +Y + altgr shiftl ctrll keycode 21 = U+2190 + shift altgr shiftl ctrll keycode 21 = yen + control shiftl ctrll keycode 21 = Control_y + shift control shiftl ctrll keycode 21 = Control_y + altgr control shiftl ctrll keycode 21 = Control_y + shift altgr control shiftl ctrll keycode 21 = Control_y + alt shiftl ctrll keycode 21 = Meta_y + shift alt shiftl ctrll keycode 21 = Meta_Y + altgr alt shiftl ctrll keycode 21 = Meta_y + shift altgr alt shiftl ctrll keycode 21 = Meta_Y + control alt shiftl ctrll keycode 21 = Meta_Control_y + shift control alt shiftl ctrll keycode 21 = Meta_Control_y + altgr control alt shiftl ctrll keycode 21 = Meta_Control_y + shift altgr control alt shiftl ctrll keycode 21 = Meta_Control_y + shiftr ctrll keycode 21 = +Y + altgr shiftr ctrll keycode 21 = U+2190 + shift altgr shiftr ctrll keycode 21 = yen + control shiftr ctrll keycode 21 = Control_y + shift control shiftr ctrll keycode 21 = Control_y + altgr control shiftr ctrll keycode 21 = Control_y + shift altgr control shiftr ctrll keycode 21 = Control_y + alt shiftr ctrll keycode 21 = Meta_y + shift alt shiftr ctrll keycode 21 = Meta_Y + altgr alt shiftr ctrll keycode 21 = Meta_y + shift altgr alt shiftr ctrll keycode 21 = Meta_Y + control alt shiftr ctrll keycode 21 = Meta_Control_y + shift control alt shiftr ctrll keycode 21 = Meta_Control_y + altgr control alt shiftr ctrll keycode 21 = Meta_Control_y + shift altgr control alt shiftr ctrll keycode 21 = Meta_Control_y + shiftl shiftr ctrll keycode 21 = +Y + altgr shiftl shiftr ctrll keycode 21 = U+2190 + shift altgr shiftl shiftr ctrll keycode 21 = yen + control shiftl shiftr ctrll keycode 21 = Control_y + shift control shiftl shiftr ctrll keycode 21 = Control_y + altgr control shiftl shiftr ctrll keycode 21 = Control_y + shift altgr control shiftl shiftr ctrll keycode 21 = Control_y + alt shiftl shiftr ctrll keycode 21 = Meta_y + shift alt shiftl shiftr ctrll keycode 21 = Meta_Y + altgr alt shiftl shiftr ctrll keycode 21 = Meta_y + shift altgr alt shiftl shiftr ctrll keycode 21 = Meta_Y + control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y + shift control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y + altgr control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y + shift altgr control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y +keycode 22 = +u + shift keycode 22 = +U + altgr keycode 22 = U+2193 + shift altgr keycode 22 = U+2191 + control keycode 22 = Control_u + shift control keycode 22 = Control_u + altgr control keycode 22 = Control_u + shift altgr control keycode 22 = Control_u + alt keycode 22 = Meta_u + shift alt keycode 22 = Meta_U + altgr alt keycode 22 = Meta_u + shift altgr alt keycode 22 = Meta_U + control alt keycode 22 = Meta_Control_u + shift control alt keycode 22 = Meta_Control_u + altgr control alt keycode 22 = Meta_Control_u + shift altgr control alt keycode 22 = Meta_Control_u + shift shiftl keycode 22 = +U + altgr shiftl keycode 22 = U+2193 + shift altgr shiftl keycode 22 = U+2191 + control shiftl keycode 22 = Control_u + shift control shiftl keycode 22 = Control_u + altgr control shiftl keycode 22 = Control_u + shift altgr control shiftl keycode 22 = Control_u + alt shiftl keycode 22 = Meta_u + shift alt shiftl keycode 22 = Meta_U + altgr alt shiftl keycode 22 = Meta_u + shift altgr alt shiftl keycode 22 = Meta_U + control alt shiftl keycode 22 = Meta_Control_u + shift control alt shiftl keycode 22 = Meta_Control_u + altgr control alt shiftl keycode 22 = Meta_Control_u + shift altgr control alt shiftl keycode 22 = Meta_Control_u + shift shiftr keycode 22 = +U + altgr shiftr keycode 22 = U+2193 + shift altgr shiftr keycode 22 = U+2191 + control shiftr keycode 22 = Control_u + shift control shiftr keycode 22 = Control_u + altgr control shiftr keycode 22 = Control_u + shift altgr control shiftr keycode 22 = Control_u + alt shiftr keycode 22 = Meta_u + shift alt shiftr keycode 22 = Meta_U + altgr alt shiftr keycode 22 = Meta_u + shift altgr alt shiftr keycode 22 = Meta_U + control alt shiftr keycode 22 = Meta_Control_u + shift control alt shiftr keycode 22 = Meta_Control_u + altgr control alt shiftr keycode 22 = Meta_Control_u + shift altgr control alt shiftr keycode 22 = Meta_Control_u + shift shiftl shiftr keycode 22 = +U + altgr shiftl shiftr keycode 22 = U+2193 + shift altgr shiftl shiftr keycode 22 = U+2191 + control shiftl shiftr keycode 22 = Control_u + shift control shiftl shiftr keycode 22 = Control_u + altgr control shiftl shiftr keycode 22 = Control_u + shift altgr control shiftl shiftr keycode 22 = Control_u + alt shiftl shiftr keycode 22 = Meta_u + shift alt shiftl shiftr keycode 22 = Meta_U + altgr alt shiftl shiftr keycode 22 = Meta_u + shift altgr alt shiftl shiftr keycode 22 = Meta_U + control alt shiftl shiftr keycode 22 = Meta_Control_u + shift control alt shiftl shiftr keycode 22 = Meta_Control_u + altgr control alt shiftl shiftr keycode 22 = Meta_Control_u + shift altgr control alt shiftl shiftr keycode 22 = Meta_Control_u + ctrll keycode 22 = +U + altgr ctrll keycode 22 = U+2193 + shift altgr ctrll keycode 22 = U+2191 + control ctrll keycode 22 = Control_u + shift control ctrll keycode 22 = Control_u + altgr control ctrll keycode 22 = Control_u + shift altgr control ctrll keycode 22 = Control_u + alt ctrll keycode 22 = Meta_u + shift alt ctrll keycode 22 = Meta_U + altgr alt ctrll keycode 22 = Meta_u + shift altgr alt ctrll keycode 22 = Meta_U + control alt ctrll keycode 22 = Meta_Control_u + shift control alt ctrll keycode 22 = Meta_Control_u + altgr control alt ctrll keycode 22 = Meta_Control_u + shift altgr control alt ctrll keycode 22 = Meta_Control_u + shiftl ctrll keycode 22 = +U + altgr shiftl ctrll keycode 22 = U+2193 + shift altgr shiftl ctrll keycode 22 = U+2191 + control shiftl ctrll keycode 22 = Control_u + shift control shiftl ctrll keycode 22 = Control_u + altgr control shiftl ctrll keycode 22 = Control_u + shift altgr control shiftl ctrll keycode 22 = Control_u + alt shiftl ctrll keycode 22 = Meta_u + shift alt shiftl ctrll keycode 22 = Meta_U + altgr alt shiftl ctrll keycode 22 = Meta_u + shift altgr alt shiftl ctrll keycode 22 = Meta_U + control alt shiftl ctrll keycode 22 = Meta_Control_u + shift control alt shiftl ctrll keycode 22 = Meta_Control_u + altgr control alt shiftl ctrll keycode 22 = Meta_Control_u + shift altgr control alt shiftl ctrll keycode 22 = Meta_Control_u + shiftr ctrll keycode 22 = +U + altgr shiftr ctrll keycode 22 = U+2193 + shift altgr shiftr ctrll keycode 22 = U+2191 + control shiftr ctrll keycode 22 = Control_u + shift control shiftr ctrll keycode 22 = Control_u + altgr control shiftr ctrll keycode 22 = Control_u + shift altgr control shiftr ctrll keycode 22 = Control_u + alt shiftr ctrll keycode 22 = Meta_u + shift alt shiftr ctrll keycode 22 = Meta_U + altgr alt shiftr ctrll keycode 22 = Meta_u + shift altgr alt shiftr ctrll keycode 22 = Meta_U + control alt shiftr ctrll keycode 22 = Meta_Control_u + shift control alt shiftr ctrll keycode 22 = Meta_Control_u + altgr control alt shiftr ctrll keycode 22 = Meta_Control_u + shift altgr control alt shiftr ctrll keycode 22 = Meta_Control_u + shiftl shiftr ctrll keycode 22 = +U + altgr shiftl shiftr ctrll keycode 22 = U+2193 + shift altgr shiftl shiftr ctrll keycode 22 = U+2191 + control shiftl shiftr ctrll keycode 22 = Control_u + shift control shiftl shiftr ctrll keycode 22 = Control_u + altgr control shiftl shiftr ctrll keycode 22 = Control_u + shift altgr control shiftl shiftr ctrll keycode 22 = Control_u + alt shiftl shiftr ctrll keycode 22 = Meta_u + shift alt shiftl shiftr ctrll keycode 22 = Meta_U + altgr alt shiftl shiftr ctrll keycode 22 = Meta_u + shift altgr alt shiftl shiftr ctrll keycode 22 = Meta_U + control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u + shift control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u + altgr control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u + shift altgr control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u +keycode 23 = +i + shift keycode 23 = +I + altgr keycode 23 = U+2192 + shift altgr keycode 23 = idotless + control keycode 23 = Tab + shift control keycode 23 = Tab + altgr control keycode 23 = Tab + shift altgr control keycode 23 = Tab + alt keycode 23 = Meta_i + shift alt keycode 23 = Meta_I + altgr alt keycode 23 = Meta_i + shift altgr alt keycode 23 = Meta_I + control alt keycode 23 = Meta_Tab + shift control alt keycode 23 = Meta_Tab + altgr control alt keycode 23 = Meta_Tab + shift altgr control alt keycode 23 = Meta_Tab + shift shiftl keycode 23 = +I + altgr shiftl keycode 23 = U+2192 + shift altgr shiftl keycode 23 = idotless + control shiftl keycode 23 = Tab + shift control shiftl keycode 23 = Tab + altgr control shiftl keycode 23 = Tab + shift altgr control shiftl keycode 23 = Tab + alt shiftl keycode 23 = Meta_i + shift alt shiftl keycode 23 = Meta_I + altgr alt shiftl keycode 23 = Meta_i + shift altgr alt shiftl keycode 23 = Meta_I + control alt shiftl keycode 23 = Meta_Tab + shift control alt shiftl keycode 23 = Meta_Tab + altgr control alt shiftl keycode 23 = Meta_Tab + shift altgr control alt shiftl keycode 23 = Meta_Tab + shift shiftr keycode 23 = +I + altgr shiftr keycode 23 = U+2192 + shift altgr shiftr keycode 23 = idotless + control shiftr keycode 23 = Tab + shift control shiftr keycode 23 = Tab + altgr control shiftr keycode 23 = Tab + shift altgr control shiftr keycode 23 = Tab + alt shiftr keycode 23 = Meta_i + shift alt shiftr keycode 23 = Meta_I + altgr alt shiftr keycode 23 = Meta_i + shift altgr alt shiftr keycode 23 = Meta_I + control alt shiftr keycode 23 = Meta_Tab + shift control alt shiftr keycode 23 = Meta_Tab + altgr control alt shiftr keycode 23 = Meta_Tab + shift altgr control alt shiftr keycode 23 = Meta_Tab + shift shiftl shiftr keycode 23 = +I + altgr shiftl shiftr keycode 23 = U+2192 + shift altgr shiftl shiftr keycode 23 = idotless + control shiftl shiftr keycode 23 = Tab + shift control shiftl shiftr keycode 23 = Tab + altgr control shiftl shiftr keycode 23 = Tab + shift altgr control shiftl shiftr keycode 23 = Tab + alt shiftl shiftr keycode 23 = Meta_i + shift alt shiftl shiftr keycode 23 = Meta_I + altgr alt shiftl shiftr keycode 23 = Meta_i + shift altgr alt shiftl shiftr keycode 23 = Meta_I + control alt shiftl shiftr keycode 23 = Meta_Tab + shift control alt shiftl shiftr keycode 23 = Meta_Tab + altgr control alt shiftl shiftr keycode 23 = Meta_Tab + shift altgr control alt shiftl shiftr keycode 23 = Meta_Tab + ctrll keycode 23 = +I + altgr ctrll keycode 23 = U+2192 + shift altgr ctrll keycode 23 = +I + control ctrll keycode 23 = Tab + shift control ctrll keycode 23 = Tab + altgr control ctrll keycode 23 = Tab + shift altgr control ctrll keycode 23 = Tab + alt ctrll keycode 23 = Meta_i + shift alt ctrll keycode 23 = Meta_I + altgr alt ctrll keycode 23 = Meta_i + shift altgr alt ctrll keycode 23 = Meta_I + control alt ctrll keycode 23 = Meta_Tab + shift control alt ctrll keycode 23 = Meta_Tab + altgr control alt ctrll keycode 23 = Meta_Tab + shift altgr control alt ctrll keycode 23 = Meta_Tab + shiftl ctrll keycode 23 = +I + altgr shiftl ctrll keycode 23 = U+2192 + shift altgr shiftl ctrll keycode 23 = +I + control shiftl ctrll keycode 23 = Tab + shift control shiftl ctrll keycode 23 = Tab + altgr control shiftl ctrll keycode 23 = Tab + shift altgr control shiftl ctrll keycode 23 = Tab + alt shiftl ctrll keycode 23 = Meta_i + shift alt shiftl ctrll keycode 23 = Meta_I + altgr alt shiftl ctrll keycode 23 = Meta_i + shift altgr alt shiftl ctrll keycode 23 = Meta_I + control alt shiftl ctrll keycode 23 = Meta_Tab + shift control alt shiftl ctrll keycode 23 = Meta_Tab + altgr control alt shiftl ctrll keycode 23 = Meta_Tab + shift altgr control alt shiftl ctrll keycode 23 = Meta_Tab + shiftr ctrll keycode 23 = +I + altgr shiftr ctrll keycode 23 = U+2192 + shift altgr shiftr ctrll keycode 23 = +I + control shiftr ctrll keycode 23 = Tab + shift control shiftr ctrll keycode 23 = Tab + altgr control shiftr ctrll keycode 23 = Tab + shift altgr control shiftr ctrll keycode 23 = Tab + alt shiftr ctrll keycode 23 = Meta_i + shift alt shiftr ctrll keycode 23 = Meta_I + altgr alt shiftr ctrll keycode 23 = Meta_i + shift altgr alt shiftr ctrll keycode 23 = Meta_I + control alt shiftr ctrll keycode 23 = Meta_Tab + shift control alt shiftr ctrll keycode 23 = Meta_Tab + altgr control alt shiftr ctrll keycode 23 = Meta_Tab + shift altgr control alt shiftr ctrll keycode 23 = Meta_Tab + shiftl shiftr ctrll keycode 23 = +I + altgr shiftl shiftr ctrll keycode 23 = U+2192 + shift altgr shiftl shiftr ctrll keycode 23 = +I + control shiftl shiftr ctrll keycode 23 = Tab + shift control shiftl shiftr ctrll keycode 23 = Tab + altgr control shiftl shiftr ctrll keycode 23 = Tab + shift altgr control shiftl shiftr ctrll keycode 23 = Tab + alt shiftl shiftr ctrll keycode 23 = Meta_i + shift alt shiftl shiftr ctrll keycode 23 = Meta_I + altgr alt shiftl shiftr ctrll keycode 23 = Meta_i + shift altgr alt shiftl shiftr ctrll keycode 23 = Meta_I + control alt shiftl shiftr ctrll keycode 23 = Meta_Tab + shift control alt shiftl shiftr ctrll keycode 23 = Meta_Tab + altgr control alt shiftl shiftr ctrll keycode 23 = Meta_Tab + shift altgr control alt shiftl shiftr ctrll keycode 23 = Meta_Tab +keycode 24 = +o + shift keycode 24 = +O + altgr keycode 24 = +oslash + shift altgr keycode 24 = +Ooblique + control keycode 24 = Control_o + shift control keycode 24 = Control_o + altgr control keycode 24 = Control_o + shift altgr control keycode 24 = Control_o + alt keycode 24 = Meta_o + shift alt keycode 24 = Meta_O + altgr alt keycode 24 = Meta_o + shift altgr alt keycode 24 = Meta_O + control alt keycode 24 = Meta_Control_o + shift control alt keycode 24 = Meta_Control_o + altgr control alt keycode 24 = Meta_Control_o + shift altgr control alt keycode 24 = Meta_Control_o + shift shiftl keycode 24 = +O + altgr shiftl keycode 24 = +oslash + shift altgr shiftl keycode 24 = +Ooblique + control shiftl keycode 24 = Control_o + shift control shiftl keycode 24 = Control_o + altgr control shiftl keycode 24 = Control_o + shift altgr control shiftl keycode 24 = Control_o + alt shiftl keycode 24 = Meta_o + shift alt shiftl keycode 24 = Meta_O + altgr alt shiftl keycode 24 = Meta_o + shift altgr alt shiftl keycode 24 = Meta_O + control alt shiftl keycode 24 = Meta_Control_o + shift control alt shiftl keycode 24 = Meta_Control_o + altgr control alt shiftl keycode 24 = Meta_Control_o + shift altgr control alt shiftl keycode 24 = Meta_Control_o + shift shiftr keycode 24 = +O + altgr shiftr keycode 24 = +oslash + shift altgr shiftr keycode 24 = +Ooblique + control shiftr keycode 24 = Control_o + shift control shiftr keycode 24 = Control_o + altgr control shiftr keycode 24 = Control_o + shift altgr control shiftr keycode 24 = Control_o + alt shiftr keycode 24 = Meta_o + shift alt shiftr keycode 24 = Meta_O + altgr alt shiftr keycode 24 = Meta_o + shift altgr alt shiftr keycode 24 = Meta_O + control alt shiftr keycode 24 = Meta_Control_o + shift control alt shiftr keycode 24 = Meta_Control_o + altgr control alt shiftr keycode 24 = Meta_Control_o + shift altgr control alt shiftr keycode 24 = Meta_Control_o + shift shiftl shiftr keycode 24 = +O + altgr shiftl shiftr keycode 24 = +oslash + shift altgr shiftl shiftr keycode 24 = +Ooblique + control shiftl shiftr keycode 24 = Control_o + shift control shiftl shiftr keycode 24 = Control_o + altgr control shiftl shiftr keycode 24 = Control_o + shift altgr control shiftl shiftr keycode 24 = Control_o + alt shiftl shiftr keycode 24 = Meta_o + shift alt shiftl shiftr keycode 24 = Meta_O + altgr alt shiftl shiftr keycode 24 = Meta_o + shift altgr alt shiftl shiftr keycode 24 = Meta_O + control alt shiftl shiftr keycode 24 = Meta_Control_o + shift control alt shiftl shiftr keycode 24 = Meta_Control_o + altgr control alt shiftl shiftr keycode 24 = Meta_Control_o + shift altgr control alt shiftl shiftr keycode 24 = Meta_Control_o + ctrll keycode 24 = +O + altgr ctrll keycode 24 = +Ooblique + shift altgr ctrll keycode 24 = +oslash + control ctrll keycode 24 = Control_o + shift control ctrll keycode 24 = Control_o + altgr control ctrll keycode 24 = Control_o + shift altgr control ctrll keycode 24 = Control_o + alt ctrll keycode 24 = Meta_o + shift alt ctrll keycode 24 = Meta_O + altgr alt ctrll keycode 24 = Meta_o + shift altgr alt ctrll keycode 24 = Meta_O + control alt ctrll keycode 24 = Meta_Control_o + shift control alt ctrll keycode 24 = Meta_Control_o + altgr control alt ctrll keycode 24 = Meta_Control_o + shift altgr control alt ctrll keycode 24 = Meta_Control_o + shiftl ctrll keycode 24 = +O + altgr shiftl ctrll keycode 24 = +Ooblique + shift altgr shiftl ctrll keycode 24 = +oslash + control shiftl ctrll keycode 24 = Control_o + shift control shiftl ctrll keycode 24 = Control_o + altgr control shiftl ctrll keycode 24 = Control_o + shift altgr control shiftl ctrll keycode 24 = Control_o + alt shiftl ctrll keycode 24 = Meta_o + shift alt shiftl ctrll keycode 24 = Meta_O + altgr alt shiftl ctrll keycode 24 = Meta_o + shift altgr alt shiftl ctrll keycode 24 = Meta_O + control alt shiftl ctrll keycode 24 = Meta_Control_o + shift control alt shiftl ctrll keycode 24 = Meta_Control_o + altgr control alt shiftl ctrll keycode 24 = Meta_Control_o + shift altgr control alt shiftl ctrll keycode 24 = Meta_Control_o + shiftr ctrll keycode 24 = +O + altgr shiftr ctrll keycode 24 = +Ooblique + shift altgr shiftr ctrll keycode 24 = +oslash + control shiftr ctrll keycode 24 = Control_o + shift control shiftr ctrll keycode 24 = Control_o + altgr control shiftr ctrll keycode 24 = Control_o + shift altgr control shiftr ctrll keycode 24 = Control_o + alt shiftr ctrll keycode 24 = Meta_o + shift alt shiftr ctrll keycode 24 = Meta_O + altgr alt shiftr ctrll keycode 24 = Meta_o + shift altgr alt shiftr ctrll keycode 24 = Meta_O + control alt shiftr ctrll keycode 24 = Meta_Control_o + shift control alt shiftr ctrll keycode 24 = Meta_Control_o + altgr control alt shiftr ctrll keycode 24 = Meta_Control_o + shift altgr control alt shiftr ctrll keycode 24 = Meta_Control_o + shiftl shiftr ctrll keycode 24 = +O + altgr shiftl shiftr ctrll keycode 24 = +Ooblique + shift altgr shiftl shiftr ctrll keycode 24 = +oslash + control shiftl shiftr ctrll keycode 24 = Control_o + shift control shiftl shiftr ctrll keycode 24 = Control_o + altgr control shiftl shiftr ctrll keycode 24 = Control_o + shift altgr control shiftl shiftr ctrll keycode 24 = Control_o + alt shiftl shiftr ctrll keycode 24 = Meta_o + shift alt shiftl shiftr ctrll keycode 24 = Meta_O + altgr alt shiftl shiftr ctrll keycode 24 = Meta_o + shift altgr alt shiftl shiftr ctrll keycode 24 = Meta_O + control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o + shift control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o + altgr control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o + shift altgr control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o +keycode 25 = +p + shift keycode 25 = +P + altgr keycode 25 = +thorn + shift altgr keycode 25 = +THORN + control keycode 25 = Control_p + shift control keycode 25 = Control_p + altgr control keycode 25 = Control_p + shift altgr control keycode 25 = Control_p + alt keycode 25 = Meta_p + shift alt keycode 25 = Meta_P + altgr alt keycode 25 = Meta_p + shift altgr alt keycode 25 = Meta_P + control alt keycode 25 = Meta_Control_p + shift control alt keycode 25 = Meta_Control_p + altgr control alt keycode 25 = Meta_Control_p + shift altgr control alt keycode 25 = Meta_Control_p + shift shiftl keycode 25 = +P + altgr shiftl keycode 25 = +thorn + shift altgr shiftl keycode 25 = +THORN + control shiftl keycode 25 = Control_p + shift control shiftl keycode 25 = Control_p + altgr control shiftl keycode 25 = Control_p + shift altgr control shiftl keycode 25 = Control_p + alt shiftl keycode 25 = Meta_p + shift alt shiftl keycode 25 = Meta_P + altgr alt shiftl keycode 25 = Meta_p + shift altgr alt shiftl keycode 25 = Meta_P + control alt shiftl keycode 25 = Meta_Control_p + shift control alt shiftl keycode 25 = Meta_Control_p + altgr control alt shiftl keycode 25 = Meta_Control_p + shift altgr control alt shiftl keycode 25 = Meta_Control_p + shift shiftr keycode 25 = +P + altgr shiftr keycode 25 = +thorn + shift altgr shiftr keycode 25 = +THORN + control shiftr keycode 25 = Control_p + shift control shiftr keycode 25 = Control_p + altgr control shiftr keycode 25 = Control_p + shift altgr control shiftr keycode 25 = Control_p + alt shiftr keycode 25 = Meta_p + shift alt shiftr keycode 25 = Meta_P + altgr alt shiftr keycode 25 = Meta_p + shift altgr alt shiftr keycode 25 = Meta_P + control alt shiftr keycode 25 = Meta_Control_p + shift control alt shiftr keycode 25 = Meta_Control_p + altgr control alt shiftr keycode 25 = Meta_Control_p + shift altgr control alt shiftr keycode 25 = Meta_Control_p + shift shiftl shiftr keycode 25 = +P + altgr shiftl shiftr keycode 25 = +thorn + shift altgr shiftl shiftr keycode 25 = +THORN + control shiftl shiftr keycode 25 = Control_p + shift control shiftl shiftr keycode 25 = Control_p + altgr control shiftl shiftr keycode 25 = Control_p + shift altgr control shiftl shiftr keycode 25 = Control_p + alt shiftl shiftr keycode 25 = Meta_p + shift alt shiftl shiftr keycode 25 = Meta_P + altgr alt shiftl shiftr keycode 25 = Meta_p + shift altgr alt shiftl shiftr keycode 25 = Meta_P + control alt shiftl shiftr keycode 25 = Meta_Control_p + shift control alt shiftl shiftr keycode 25 = Meta_Control_p + altgr control alt shiftl shiftr keycode 25 = Meta_Control_p + shift altgr control alt shiftl shiftr keycode 25 = Meta_Control_p + ctrll keycode 25 = +P + altgr ctrll keycode 25 = +THORN + shift altgr ctrll keycode 25 = +thorn + control ctrll keycode 25 = Control_p + shift control ctrll keycode 25 = Control_p + altgr control ctrll keycode 25 = Control_p + shift altgr control ctrll keycode 25 = Control_p + alt ctrll keycode 25 = Meta_p + shift alt ctrll keycode 25 = Meta_P + altgr alt ctrll keycode 25 = Meta_p + shift altgr alt ctrll keycode 25 = Meta_P + control alt ctrll keycode 25 = Meta_Control_p + shift control alt ctrll keycode 25 = Meta_Control_p + altgr control alt ctrll keycode 25 = Meta_Control_p + shift altgr control alt ctrll keycode 25 = Meta_Control_p + shiftl ctrll keycode 25 = +P + altgr shiftl ctrll keycode 25 = +THORN + shift altgr shiftl ctrll keycode 25 = +thorn + control shiftl ctrll keycode 25 = Control_p + shift control shiftl ctrll keycode 25 = Control_p + altgr control shiftl ctrll keycode 25 = Control_p + shift altgr control shiftl ctrll keycode 25 = Control_p + alt shiftl ctrll keycode 25 = Meta_p + shift alt shiftl ctrll keycode 25 = Meta_P + altgr alt shiftl ctrll keycode 25 = Meta_p + shift altgr alt shiftl ctrll keycode 25 = Meta_P + control alt shiftl ctrll keycode 25 = Meta_Control_p + shift control alt shiftl ctrll keycode 25 = Meta_Control_p + altgr control alt shiftl ctrll keycode 25 = Meta_Control_p + shift altgr control alt shiftl ctrll keycode 25 = Meta_Control_p + shiftr ctrll keycode 25 = +P + altgr shiftr ctrll keycode 25 = +THORN + shift altgr shiftr ctrll keycode 25 = +thorn + control shiftr ctrll keycode 25 = Control_p + shift control shiftr ctrll keycode 25 = Control_p + altgr control shiftr ctrll keycode 25 = Control_p + shift altgr control shiftr ctrll keycode 25 = Control_p + alt shiftr ctrll keycode 25 = Meta_p + shift alt shiftr ctrll keycode 25 = Meta_P + altgr alt shiftr ctrll keycode 25 = Meta_p + shift altgr alt shiftr ctrll keycode 25 = Meta_P + control alt shiftr ctrll keycode 25 = Meta_Control_p + shift control alt shiftr ctrll keycode 25 = Meta_Control_p + altgr control alt shiftr ctrll keycode 25 = Meta_Control_p + shift altgr control alt shiftr ctrll keycode 25 = Meta_Control_p + shiftl shiftr ctrll keycode 25 = +P + altgr shiftl shiftr ctrll keycode 25 = +THORN + shift altgr shiftl shiftr ctrll keycode 25 = +thorn + control shiftl shiftr ctrll keycode 25 = Control_p + shift control shiftl shiftr ctrll keycode 25 = Control_p + altgr control shiftl shiftr ctrll keycode 25 = Control_p + shift altgr control shiftl shiftr ctrll keycode 25 = Control_p + alt shiftl shiftr ctrll keycode 25 = Meta_p + shift alt shiftl shiftr ctrll keycode 25 = Meta_P + altgr alt shiftl shiftr ctrll keycode 25 = Meta_p + shift altgr alt shiftl shiftr ctrll keycode 25 = Meta_P + control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p + shift control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p + altgr control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p + shift altgr control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p +keycode 26 = dead_acute + shift keycode 26 = dead_grave + altgr keycode 26 = apostrophe + shift altgr keycode 26 = grave + shift control keycode 26 = dead_grave + altgr control keycode 26 = Control_g + shift altgr control keycode 26 = nul + shift alt keycode 26 = dead_grave + altgr alt keycode 26 = Meta_apostrophe + shift altgr alt keycode 26 = Meta_grave + shift control alt keycode 26 = dead_grave + altgr control alt keycode 26 = Meta_Control_g + shift altgr control alt keycode 26 = Meta_nul + shift shiftl keycode 26 = dead_grave + altgr shiftl keycode 26 = apostrophe + shift altgr shiftl keycode 26 = grave + shift control shiftl keycode 26 = dead_grave + altgr control shiftl keycode 26 = Control_g + shift altgr control shiftl keycode 26 = nul + shift alt shiftl keycode 26 = dead_grave + altgr alt shiftl keycode 26 = Meta_apostrophe + shift altgr alt shiftl keycode 26 = Meta_grave + shift control alt shiftl keycode 26 = dead_grave + altgr control alt shiftl keycode 26 = Meta_Control_g + shift altgr control alt shiftl keycode 26 = Meta_nul + shift shiftr keycode 26 = dead_grave + altgr shiftr keycode 26 = apostrophe + shift altgr shiftr keycode 26 = grave + shift control shiftr keycode 26 = dead_grave + altgr control shiftr keycode 26 = Control_g + shift altgr control shiftr keycode 26 = nul + shift alt shiftr keycode 26 = dead_grave + altgr alt shiftr keycode 26 = Meta_apostrophe + shift altgr alt shiftr keycode 26 = Meta_grave + shift control alt shiftr keycode 26 = dead_grave + altgr control alt shiftr keycode 26 = Meta_Control_g + shift altgr control alt shiftr keycode 26 = Meta_nul + shift shiftl shiftr keycode 26 = dead_grave + altgr shiftl shiftr keycode 26 = apostrophe + shift altgr shiftl shiftr keycode 26 = grave + shift control shiftl shiftr keycode 26 = dead_grave + altgr control shiftl shiftr keycode 26 = Control_g + shift altgr control shiftl shiftr keycode 26 = nul + shift alt shiftl shiftr keycode 26 = dead_grave + altgr alt shiftl shiftr keycode 26 = Meta_apostrophe + shift altgr alt shiftl shiftr keycode 26 = Meta_grave + shift control alt shiftl shiftr keycode 26 = dead_grave + altgr control alt shiftl shiftr keycode 26 = Meta_Control_g + shift altgr control alt shiftl shiftr keycode 26 = Meta_nul + shift ctrll keycode 26 = dead_grave + altgr ctrll keycode 26 = apostrophe + shift altgr ctrll keycode 26 = grave + shift control ctrll keycode 26 = dead_grave + altgr control ctrll keycode 26 = Control_g + shift altgr control ctrll keycode 26 = nul + shift alt ctrll keycode 26 = dead_grave + altgr alt ctrll keycode 26 = Meta_apostrophe + shift altgr alt ctrll keycode 26 = Meta_grave + shift control alt ctrll keycode 26 = dead_grave + altgr control alt ctrll keycode 26 = Meta_Control_g + shift altgr control alt ctrll keycode 26 = Meta_nul + shift shiftl ctrll keycode 26 = dead_grave + altgr shiftl ctrll keycode 26 = apostrophe + shift altgr shiftl ctrll keycode 26 = grave + shift control shiftl ctrll keycode 26 = dead_grave + altgr control shiftl ctrll keycode 26 = Control_g + shift altgr control shiftl ctrll keycode 26 = nul + shift alt shiftl ctrll keycode 26 = dead_grave + altgr alt shiftl ctrll keycode 26 = Meta_apostrophe + shift altgr alt shiftl ctrll keycode 26 = Meta_grave + shift control alt shiftl ctrll keycode 26 = dead_grave + altgr control alt shiftl ctrll keycode 26 = Meta_Control_g + shift altgr control alt shiftl ctrll keycode 26 = Meta_nul + shift shiftr ctrll keycode 26 = dead_grave + altgr shiftr ctrll keycode 26 = apostrophe + shift altgr shiftr ctrll keycode 26 = grave + shift control shiftr ctrll keycode 26 = dead_grave + altgr control shiftr ctrll keycode 26 = Control_g + shift altgr control shiftr ctrll keycode 26 = nul + shift alt shiftr ctrll keycode 26 = dead_grave + altgr alt shiftr ctrll keycode 26 = Meta_apostrophe + shift altgr alt shiftr ctrll keycode 26 = Meta_grave + shift control alt shiftr ctrll keycode 26 = dead_grave + altgr control alt shiftr ctrll keycode 26 = Meta_Control_g + shift altgr control alt shiftr ctrll keycode 26 = Meta_nul + shift shiftl shiftr ctrll keycode 26 = dead_grave + altgr shiftl shiftr ctrll keycode 26 = apostrophe + shift altgr shiftl shiftr ctrll keycode 26 = grave + shift control shiftl shiftr ctrll keycode 26 = dead_grave + altgr control shiftl shiftr ctrll keycode 26 = Control_g + shift altgr control shiftl shiftr ctrll keycode 26 = nul + shift alt shiftl shiftr ctrll keycode 26 = dead_grave + altgr alt shiftl shiftr ctrll keycode 26 = Meta_apostrophe + shift altgr alt shiftl shiftr ctrll keycode 26 = Meta_grave + shift control alt shiftl shiftr ctrll keycode 26 = dead_grave + altgr control alt shiftl shiftr ctrll keycode 26 = Meta_Control_g + shift altgr control alt shiftl shiftr ctrll keycode 26 = Meta_nul +keycode 27 = bracketleft + shift keycode 27 = braceleft + altgr keycode 27 = +ordfeminine + shift altgr keycode 27 = underscore + control keycode 27 = Escape + shift control keycode 27 = Escape + altgr control keycode 27 = Escape + shift altgr control keycode 27 = Control_underscore + alt keycode 27 = Meta_bracketleft + shift alt keycode 27 = Meta_braceleft + altgr alt keycode 27 = Meta_bracketleft + shift altgr alt keycode 27 = Meta_underscore + control alt keycode 27 = Meta_Escape + shift control alt keycode 27 = Meta_Escape + altgr control alt keycode 27 = Meta_Escape + shift altgr control alt keycode 27 = Meta_Control_underscore + shift shiftl keycode 27 = braceleft + altgr shiftl keycode 27 = +ordfeminine + shift altgr shiftl keycode 27 = underscore + control shiftl keycode 27 = Escape + shift control shiftl keycode 27 = Escape + altgr control shiftl keycode 27 = Escape + shift altgr control shiftl keycode 27 = Control_underscore + alt shiftl keycode 27 = Meta_bracketleft + shift alt shiftl keycode 27 = Meta_braceleft + altgr alt shiftl keycode 27 = Meta_bracketleft + shift altgr alt shiftl keycode 27 = Meta_underscore + control alt shiftl keycode 27 = Meta_Escape + shift control alt shiftl keycode 27 = Meta_Escape + altgr control alt shiftl keycode 27 = Meta_Escape + shift altgr control alt shiftl keycode 27 = Meta_Control_underscore + shift shiftr keycode 27 = braceleft + altgr shiftr keycode 27 = +ordfeminine + shift altgr shiftr keycode 27 = underscore + control shiftr keycode 27 = Escape + shift control shiftr keycode 27 = Escape + altgr control shiftr keycode 27 = Escape + shift altgr control shiftr keycode 27 = Control_underscore + alt shiftr keycode 27 = Meta_bracketleft + shift alt shiftr keycode 27 = Meta_braceleft + altgr alt shiftr keycode 27 = Meta_bracketleft + shift altgr alt shiftr keycode 27 = Meta_underscore + control alt shiftr keycode 27 = Meta_Escape + shift control alt shiftr keycode 27 = Meta_Escape + altgr control alt shiftr keycode 27 = Meta_Escape + shift altgr control alt shiftr keycode 27 = Meta_Control_underscore + shift shiftl shiftr keycode 27 = braceleft + altgr shiftl shiftr keycode 27 = +ordfeminine + shift altgr shiftl shiftr keycode 27 = underscore + control shiftl shiftr keycode 27 = Escape + shift control shiftl shiftr keycode 27 = Escape + altgr control shiftl shiftr keycode 27 = Escape + shift altgr control shiftl shiftr keycode 27 = Control_underscore + alt shiftl shiftr keycode 27 = Meta_bracketleft + shift alt shiftl shiftr keycode 27 = Meta_braceleft + altgr alt shiftl shiftr keycode 27 = Meta_bracketleft + shift altgr alt shiftl shiftr keycode 27 = Meta_underscore + control alt shiftl shiftr keycode 27 = Meta_Escape + shift control alt shiftl shiftr keycode 27 = Meta_Escape + altgr control alt shiftl shiftr keycode 27 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 27 = Meta_Control_underscore + shift ctrll keycode 27 = braceleft + altgr ctrll keycode 27 = +ordfeminine + shift altgr ctrll keycode 27 = underscore + control ctrll keycode 27 = Escape + shift control ctrll keycode 27 = Escape + altgr control ctrll keycode 27 = Escape + shift altgr control ctrll keycode 27 = Control_underscore + alt ctrll keycode 27 = Meta_bracketleft + shift alt ctrll keycode 27 = Meta_braceleft + altgr alt ctrll keycode 27 = Meta_bracketleft + shift altgr alt ctrll keycode 27 = Meta_underscore + control alt ctrll keycode 27 = Meta_Escape + shift control alt ctrll keycode 27 = Meta_Escape + altgr control alt ctrll keycode 27 = Meta_Escape + shift altgr control alt ctrll keycode 27 = Meta_Control_underscore + shift shiftl ctrll keycode 27 = braceleft + altgr shiftl ctrll keycode 27 = +ordfeminine + shift altgr shiftl ctrll keycode 27 = underscore + control shiftl ctrll keycode 27 = Escape + shift control shiftl ctrll keycode 27 = Escape + altgr control shiftl ctrll keycode 27 = Escape + shift altgr control shiftl ctrll keycode 27 = Control_underscore + alt shiftl ctrll keycode 27 = Meta_bracketleft + shift alt shiftl ctrll keycode 27 = Meta_braceleft + altgr alt shiftl ctrll keycode 27 = Meta_bracketleft + shift altgr alt shiftl ctrll keycode 27 = Meta_underscore + control alt shiftl ctrll keycode 27 = Meta_Escape + shift control alt shiftl ctrll keycode 27 = Meta_Escape + altgr control alt shiftl ctrll keycode 27 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 27 = Meta_Control_underscore + shift shiftr ctrll keycode 27 = braceleft + altgr shiftr ctrll keycode 27 = +ordfeminine + shift altgr shiftr ctrll keycode 27 = underscore + control shiftr ctrll keycode 27 = Escape + shift control shiftr ctrll keycode 27 = Escape + altgr control shiftr ctrll keycode 27 = Escape + shift altgr control shiftr ctrll keycode 27 = Control_underscore + alt shiftr ctrll keycode 27 = Meta_bracketleft + shift alt shiftr ctrll keycode 27 = Meta_braceleft + altgr alt shiftr ctrll keycode 27 = Meta_bracketleft + shift altgr alt shiftr ctrll keycode 27 = Meta_underscore + control alt shiftr ctrll keycode 27 = Meta_Escape + shift control alt shiftr ctrll keycode 27 = Meta_Escape + altgr control alt shiftr ctrll keycode 27 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 27 = Meta_Control_underscore + shift shiftl shiftr ctrll keycode 27 = braceleft + altgr shiftl shiftr ctrll keycode 27 = +ordfeminine + shift altgr shiftl shiftr ctrll keycode 27 = underscore + control shiftl shiftr ctrll keycode 27 = Escape + shift control shiftl shiftr ctrll keycode 27 = Escape + altgr control shiftl shiftr ctrll keycode 27 = Escape + shift altgr control shiftl shiftr ctrll keycode 27 = Control_underscore + alt shiftl shiftr ctrll keycode 27 = Meta_bracketleft + shift alt shiftl shiftr ctrll keycode 27 = Meta_braceleft + altgr alt shiftl shiftr ctrll keycode 27 = Meta_bracketleft + shift altgr alt shiftl shiftr ctrll keycode 27 = Meta_underscore + control alt shiftl shiftr ctrll keycode 27 = Meta_Escape + shift control alt shiftl shiftr ctrll keycode 27 = Meta_Escape + altgr control alt shiftl shiftr ctrll keycode 27 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 27 = Meta_Control_underscore +keycode 28 = Return + control keycode 28 = Control_m + shift control keycode 28 = Control_m + altgr control keycode 28 = Control_m + shift altgr control keycode 28 = Control_m + alt keycode 28 = Meta_Control_m + shift alt keycode 28 = Meta_Control_m + altgr alt keycode 28 = Meta_Control_m + shift altgr alt keycode 28 = Meta_Control_m + control alt keycode 28 = Meta_Control_m + shift control alt keycode 28 = Meta_Control_m + altgr control alt keycode 28 = Meta_Control_m + shift altgr control alt keycode 28 = Meta_Control_m + control shiftl keycode 28 = Control_m + shift control shiftl keycode 28 = Control_m + altgr control shiftl keycode 28 = Control_m + shift altgr control shiftl keycode 28 = Control_m + alt shiftl keycode 28 = Meta_Control_m + shift alt shiftl keycode 28 = Meta_Control_m + altgr alt shiftl keycode 28 = Meta_Control_m + shift altgr alt shiftl keycode 28 = Meta_Control_m + control alt shiftl keycode 28 = Meta_Control_m + shift control alt shiftl keycode 28 = Meta_Control_m + altgr control alt shiftl keycode 28 = Meta_Control_m + shift altgr control alt shiftl keycode 28 = Meta_Control_m + control shiftr keycode 28 = Control_m + shift control shiftr keycode 28 = Control_m + altgr control shiftr keycode 28 = Control_m + shift altgr control shiftr keycode 28 = Control_m + alt shiftr keycode 28 = Meta_Control_m + shift alt shiftr keycode 28 = Meta_Control_m + altgr alt shiftr keycode 28 = Meta_Control_m + shift altgr alt shiftr keycode 28 = Meta_Control_m + control alt shiftr keycode 28 = Meta_Control_m + shift control alt shiftr keycode 28 = Meta_Control_m + altgr control alt shiftr keycode 28 = Meta_Control_m + shift altgr control alt shiftr keycode 28 = Meta_Control_m + control shiftl shiftr keycode 28 = Control_m + shift control shiftl shiftr keycode 28 = Control_m + altgr control shiftl shiftr keycode 28 = Control_m + shift altgr control shiftl shiftr keycode 28 = Control_m + alt shiftl shiftr keycode 28 = Meta_Control_m + shift alt shiftl shiftr keycode 28 = Meta_Control_m + altgr alt shiftl shiftr keycode 28 = Meta_Control_m + shift altgr alt shiftl shiftr keycode 28 = Meta_Control_m + control alt shiftl shiftr keycode 28 = Meta_Control_m + shift control alt shiftl shiftr keycode 28 = Meta_Control_m + altgr control alt shiftl shiftr keycode 28 = Meta_Control_m + shift altgr control alt shiftl shiftr keycode 28 = Meta_Control_m + control ctrll keycode 28 = Control_m + shift control ctrll keycode 28 = Control_m + altgr control ctrll keycode 28 = Control_m + shift altgr control ctrll keycode 28 = Control_m + alt ctrll keycode 28 = Meta_Control_m + shift alt ctrll keycode 28 = Meta_Control_m + altgr alt ctrll keycode 28 = Meta_Control_m + shift altgr alt ctrll keycode 28 = Meta_Control_m + control alt ctrll keycode 28 = Meta_Control_m + shift control alt ctrll keycode 28 = Meta_Control_m + altgr control alt ctrll keycode 28 = Meta_Control_m + shift altgr control alt ctrll keycode 28 = Meta_Control_m + control shiftl ctrll keycode 28 = Control_m + shift control shiftl ctrll keycode 28 = Control_m + altgr control shiftl ctrll keycode 28 = Control_m + shift altgr control shiftl ctrll keycode 28 = Control_m + alt shiftl ctrll keycode 28 = Meta_Control_m + shift alt shiftl ctrll keycode 28 = Meta_Control_m + altgr alt shiftl ctrll keycode 28 = Meta_Control_m + shift altgr alt shiftl ctrll keycode 28 = Meta_Control_m + control alt shiftl ctrll keycode 28 = Meta_Control_m + shift control alt shiftl ctrll keycode 28 = Meta_Control_m + altgr control alt shiftl ctrll keycode 28 = Meta_Control_m + shift altgr control alt shiftl ctrll keycode 28 = Meta_Control_m + control shiftr ctrll keycode 28 = Control_m + shift control shiftr ctrll keycode 28 = Control_m + altgr control shiftr ctrll keycode 28 = Control_m + shift altgr control shiftr ctrll keycode 28 = Control_m + alt shiftr ctrll keycode 28 = Meta_Control_m + shift alt shiftr ctrll keycode 28 = Meta_Control_m + altgr alt shiftr ctrll keycode 28 = Meta_Control_m + shift altgr alt shiftr ctrll keycode 28 = Meta_Control_m + control alt shiftr ctrll keycode 28 = Meta_Control_m + shift control alt shiftr ctrll keycode 28 = Meta_Control_m + altgr control alt shiftr ctrll keycode 28 = Meta_Control_m + shift altgr control alt shiftr ctrll keycode 28 = Meta_Control_m + control shiftl shiftr ctrll keycode 28 = Control_m + shift control shiftl shiftr ctrll keycode 28 = Control_m + altgr control shiftl shiftr ctrll keycode 28 = Control_m + shift altgr control shiftl shiftr ctrll keycode 28 = Control_m + alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + altgr alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift altgr alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + altgr control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift altgr control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m +keycode 29 = Control +keycode 30 = +a + shift keycode 30 = +A + altgr keycode 30 = +ae + shift altgr keycode 30 = +AE + control keycode 30 = Control_a + shift control keycode 30 = Control_a + altgr control keycode 30 = Control_a + shift altgr control keycode 30 = Control_a + alt keycode 30 = Meta_a + shift alt keycode 30 = Meta_A + altgr alt keycode 30 = Meta_a + shift altgr alt keycode 30 = Meta_A + control alt keycode 30 = Meta_Control_a + shift control alt keycode 30 = Meta_Control_a + altgr control alt keycode 30 = Meta_Control_a + shift altgr control alt keycode 30 = Meta_Control_a + shift shiftl keycode 30 = +A + altgr shiftl keycode 30 = +ae + shift altgr shiftl keycode 30 = +AE + control shiftl keycode 30 = Control_a + shift control shiftl keycode 30 = Control_a + altgr control shiftl keycode 30 = Control_a + shift altgr control shiftl keycode 30 = Control_a + alt shiftl keycode 30 = Meta_a + shift alt shiftl keycode 30 = Meta_A + altgr alt shiftl keycode 30 = Meta_a + shift altgr alt shiftl keycode 30 = Meta_A + control alt shiftl keycode 30 = Meta_Control_a + shift control alt shiftl keycode 30 = Meta_Control_a + altgr control alt shiftl keycode 30 = Meta_Control_a + shift altgr control alt shiftl keycode 30 = Meta_Control_a + shift shiftr keycode 30 = +A + altgr shiftr keycode 30 = +ae + shift altgr shiftr keycode 30 = +AE + control shiftr keycode 30 = Control_a + shift control shiftr keycode 30 = Control_a + altgr control shiftr keycode 30 = Control_a + shift altgr control shiftr keycode 30 = Control_a + alt shiftr keycode 30 = Meta_a + shift alt shiftr keycode 30 = Meta_A + altgr alt shiftr keycode 30 = Meta_a + shift altgr alt shiftr keycode 30 = Meta_A + control alt shiftr keycode 30 = Meta_Control_a + shift control alt shiftr keycode 30 = Meta_Control_a + altgr control alt shiftr keycode 30 = Meta_Control_a + shift altgr control alt shiftr keycode 30 = Meta_Control_a + shift shiftl shiftr keycode 30 = +A + altgr shiftl shiftr keycode 30 = +ae + shift altgr shiftl shiftr keycode 30 = +AE + control shiftl shiftr keycode 30 = Control_a + shift control shiftl shiftr keycode 30 = Control_a + altgr control shiftl shiftr keycode 30 = Control_a + shift altgr control shiftl shiftr keycode 30 = Control_a + alt shiftl shiftr keycode 30 = Meta_a + shift alt shiftl shiftr keycode 30 = Meta_A + altgr alt shiftl shiftr keycode 30 = Meta_a + shift altgr alt shiftl shiftr keycode 30 = Meta_A + control alt shiftl shiftr keycode 30 = Meta_Control_a + shift control alt shiftl shiftr keycode 30 = Meta_Control_a + altgr control alt shiftl shiftr keycode 30 = Meta_Control_a + shift altgr control alt shiftl shiftr keycode 30 = Meta_Control_a + ctrll keycode 30 = +A + altgr ctrll keycode 30 = +AE + shift altgr ctrll keycode 30 = +ae + control ctrll keycode 30 = Control_a + shift control ctrll keycode 30 = Control_a + altgr control ctrll keycode 30 = Control_a + shift altgr control ctrll keycode 30 = Control_a + alt ctrll keycode 30 = Meta_a + shift alt ctrll keycode 30 = Meta_A + altgr alt ctrll keycode 30 = Meta_a + shift altgr alt ctrll keycode 30 = Meta_A + control alt ctrll keycode 30 = Meta_Control_a + shift control alt ctrll keycode 30 = Meta_Control_a + altgr control alt ctrll keycode 30 = Meta_Control_a + shift altgr control alt ctrll keycode 30 = Meta_Control_a + shiftl ctrll keycode 30 = +A + altgr shiftl ctrll keycode 30 = +AE + shift altgr shiftl ctrll keycode 30 = +ae + control shiftl ctrll keycode 30 = Control_a + shift control shiftl ctrll keycode 30 = Control_a + altgr control shiftl ctrll keycode 30 = Control_a + shift altgr control shiftl ctrll keycode 30 = Control_a + alt shiftl ctrll keycode 30 = Meta_a + shift alt shiftl ctrll keycode 30 = Meta_A + altgr alt shiftl ctrll keycode 30 = Meta_a + shift altgr alt shiftl ctrll keycode 30 = Meta_A + control alt shiftl ctrll keycode 30 = Meta_Control_a + shift control alt shiftl ctrll keycode 30 = Meta_Control_a + altgr control alt shiftl ctrll keycode 30 = Meta_Control_a + shift altgr control alt shiftl ctrll keycode 30 = Meta_Control_a + shiftr ctrll keycode 30 = +A + altgr shiftr ctrll keycode 30 = +AE + shift altgr shiftr ctrll keycode 30 = +ae + control shiftr ctrll keycode 30 = Control_a + shift control shiftr ctrll keycode 30 = Control_a + altgr control shiftr ctrll keycode 30 = Control_a + shift altgr control shiftr ctrll keycode 30 = Control_a + alt shiftr ctrll keycode 30 = Meta_a + shift alt shiftr ctrll keycode 30 = Meta_A + altgr alt shiftr ctrll keycode 30 = Meta_a + shift altgr alt shiftr ctrll keycode 30 = Meta_A + control alt shiftr ctrll keycode 30 = Meta_Control_a + shift control alt shiftr ctrll keycode 30 = Meta_Control_a + altgr control alt shiftr ctrll keycode 30 = Meta_Control_a + shift altgr control alt shiftr ctrll keycode 30 = Meta_Control_a + shiftl shiftr ctrll keycode 30 = +A + altgr shiftl shiftr ctrll keycode 30 = +AE + shift altgr shiftl shiftr ctrll keycode 30 = +ae + control shiftl shiftr ctrll keycode 30 = Control_a + shift control shiftl shiftr ctrll keycode 30 = Control_a + altgr control shiftl shiftr ctrll keycode 30 = Control_a + shift altgr control shiftl shiftr ctrll keycode 30 = Control_a + alt shiftl shiftr ctrll keycode 30 = Meta_a + shift alt shiftl shiftr ctrll keycode 30 = Meta_A + altgr alt shiftl shiftr ctrll keycode 30 = Meta_a + shift altgr alt shiftl shiftr ctrll keycode 30 = Meta_A + control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a + shift control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a + altgr control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a + shift altgr control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a +keycode 31 = +s + shift keycode 31 = +S + altgr keycode 31 = +ssharp + shift altgr keycode 31 = section + control keycode 31 = Control_s + shift control keycode 31 = Control_s + altgr control keycode 31 = Control_s + shift altgr control keycode 31 = Control_s + alt keycode 31 = Meta_s + shift alt keycode 31 = Meta_S + altgr alt keycode 31 = Meta_s + shift altgr alt keycode 31 = Meta_S + control alt keycode 31 = Meta_Control_s + shift control alt keycode 31 = Meta_Control_s + altgr control alt keycode 31 = Meta_Control_s + shift altgr control alt keycode 31 = Meta_Control_s + shift shiftl keycode 31 = +S + altgr shiftl keycode 31 = +ssharp + shift altgr shiftl keycode 31 = section + control shiftl keycode 31 = Control_s + shift control shiftl keycode 31 = Control_s + altgr control shiftl keycode 31 = Control_s + shift altgr control shiftl keycode 31 = Control_s + alt shiftl keycode 31 = Meta_s + shift alt shiftl keycode 31 = Meta_S + altgr alt shiftl keycode 31 = Meta_s + shift altgr alt shiftl keycode 31 = Meta_S + control alt shiftl keycode 31 = Meta_Control_s + shift control alt shiftl keycode 31 = Meta_Control_s + altgr control alt shiftl keycode 31 = Meta_Control_s + shift altgr control alt shiftl keycode 31 = Meta_Control_s + shift shiftr keycode 31 = +S + altgr shiftr keycode 31 = +ssharp + shift altgr shiftr keycode 31 = section + control shiftr keycode 31 = Control_s + shift control shiftr keycode 31 = Control_s + altgr control shiftr keycode 31 = Control_s + shift altgr control shiftr keycode 31 = Control_s + alt shiftr keycode 31 = Meta_s + shift alt shiftr keycode 31 = Meta_S + altgr alt shiftr keycode 31 = Meta_s + shift altgr alt shiftr keycode 31 = Meta_S + control alt shiftr keycode 31 = Meta_Control_s + shift control alt shiftr keycode 31 = Meta_Control_s + altgr control alt shiftr keycode 31 = Meta_Control_s + shift altgr control alt shiftr keycode 31 = Meta_Control_s + shift shiftl shiftr keycode 31 = +S + altgr shiftl shiftr keycode 31 = +ssharp + shift altgr shiftl shiftr keycode 31 = section + control shiftl shiftr keycode 31 = Control_s + shift control shiftl shiftr keycode 31 = Control_s + altgr control shiftl shiftr keycode 31 = Control_s + shift altgr control shiftl shiftr keycode 31 = Control_s + alt shiftl shiftr keycode 31 = Meta_s + shift alt shiftl shiftr keycode 31 = Meta_S + altgr alt shiftl shiftr keycode 31 = Meta_s + shift altgr alt shiftl shiftr keycode 31 = Meta_S + control alt shiftl shiftr keycode 31 = Meta_Control_s + shift control alt shiftl shiftr keycode 31 = Meta_Control_s + altgr control alt shiftl shiftr keycode 31 = Meta_Control_s + shift altgr control alt shiftl shiftr keycode 31 = Meta_Control_s + ctrll keycode 31 = +S + altgr ctrll keycode 31 = +S + shift altgr ctrll keycode 31 = section + control ctrll keycode 31 = Control_s + shift control ctrll keycode 31 = Control_s + altgr control ctrll keycode 31 = Control_s + shift altgr control ctrll keycode 31 = Control_s + alt ctrll keycode 31 = Meta_s + shift alt ctrll keycode 31 = Meta_S + altgr alt ctrll keycode 31 = Meta_s + shift altgr alt ctrll keycode 31 = Meta_S + control alt ctrll keycode 31 = Meta_Control_s + shift control alt ctrll keycode 31 = Meta_Control_s + altgr control alt ctrll keycode 31 = Meta_Control_s + shift altgr control alt ctrll keycode 31 = Meta_Control_s + shiftl ctrll keycode 31 = +S + altgr shiftl ctrll keycode 31 = +S + shift altgr shiftl ctrll keycode 31 = section + control shiftl ctrll keycode 31 = Control_s + shift control shiftl ctrll keycode 31 = Control_s + altgr control shiftl ctrll keycode 31 = Control_s + shift altgr control shiftl ctrll keycode 31 = Control_s + alt shiftl ctrll keycode 31 = Meta_s + shift alt shiftl ctrll keycode 31 = Meta_S + altgr alt shiftl ctrll keycode 31 = Meta_s + shift altgr alt shiftl ctrll keycode 31 = Meta_S + control alt shiftl ctrll keycode 31 = Meta_Control_s + shift control alt shiftl ctrll keycode 31 = Meta_Control_s + altgr control alt shiftl ctrll keycode 31 = Meta_Control_s + shift altgr control alt shiftl ctrll keycode 31 = Meta_Control_s + shiftr ctrll keycode 31 = +S + altgr shiftr ctrll keycode 31 = +S + shift altgr shiftr ctrll keycode 31 = section + control shiftr ctrll keycode 31 = Control_s + shift control shiftr ctrll keycode 31 = Control_s + altgr control shiftr ctrll keycode 31 = Control_s + shift altgr control shiftr ctrll keycode 31 = Control_s + alt shiftr ctrll keycode 31 = Meta_s + shift alt shiftr ctrll keycode 31 = Meta_S + altgr alt shiftr ctrll keycode 31 = Meta_s + shift altgr alt shiftr ctrll keycode 31 = Meta_S + control alt shiftr ctrll keycode 31 = Meta_Control_s + shift control alt shiftr ctrll keycode 31 = Meta_Control_s + altgr control alt shiftr ctrll keycode 31 = Meta_Control_s + shift altgr control alt shiftr ctrll keycode 31 = Meta_Control_s + shiftl shiftr ctrll keycode 31 = +S + altgr shiftl shiftr ctrll keycode 31 = +S + shift altgr shiftl shiftr ctrll keycode 31 = section + control shiftl shiftr ctrll keycode 31 = Control_s + shift control shiftl shiftr ctrll keycode 31 = Control_s + altgr control shiftl shiftr ctrll keycode 31 = Control_s + shift altgr control shiftl shiftr ctrll keycode 31 = Control_s + alt shiftl shiftr ctrll keycode 31 = Meta_s + shift alt shiftl shiftr ctrll keycode 31 = Meta_S + altgr alt shiftl shiftr ctrll keycode 31 = Meta_s + shift altgr alt shiftl shiftr ctrll keycode 31 = Meta_S + control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s + shift control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s + altgr control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s + shift altgr control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s +keycode 32 = +d + shift keycode 32 = +D + altgr keycode 32 = +eth + shift altgr keycode 32 = +ETH + control keycode 32 = Control_d + shift control keycode 32 = Control_d + altgr control keycode 32 = Control_d + shift altgr control keycode 32 = Control_d + alt keycode 32 = Meta_d + shift alt keycode 32 = Meta_D + altgr alt keycode 32 = Meta_d + shift altgr alt keycode 32 = Meta_D + control alt keycode 32 = Meta_Control_d + shift control alt keycode 32 = Meta_Control_d + altgr control alt keycode 32 = Meta_Control_d + shift altgr control alt keycode 32 = Meta_Control_d + shift shiftl keycode 32 = +D + altgr shiftl keycode 32 = +eth + shift altgr shiftl keycode 32 = +ETH + control shiftl keycode 32 = Control_d + shift control shiftl keycode 32 = Control_d + altgr control shiftl keycode 32 = Control_d + shift altgr control shiftl keycode 32 = Control_d + alt shiftl keycode 32 = Meta_d + shift alt shiftl keycode 32 = Meta_D + altgr alt shiftl keycode 32 = Meta_d + shift altgr alt shiftl keycode 32 = Meta_D + control alt shiftl keycode 32 = Meta_Control_d + shift control alt shiftl keycode 32 = Meta_Control_d + altgr control alt shiftl keycode 32 = Meta_Control_d + shift altgr control alt shiftl keycode 32 = Meta_Control_d + shift shiftr keycode 32 = +D + altgr shiftr keycode 32 = +eth + shift altgr shiftr keycode 32 = +ETH + control shiftr keycode 32 = Control_d + shift control shiftr keycode 32 = Control_d + altgr control shiftr keycode 32 = Control_d + shift altgr control shiftr keycode 32 = Control_d + alt shiftr keycode 32 = Meta_d + shift alt shiftr keycode 32 = Meta_D + altgr alt shiftr keycode 32 = Meta_d + shift altgr alt shiftr keycode 32 = Meta_D + control alt shiftr keycode 32 = Meta_Control_d + shift control alt shiftr keycode 32 = Meta_Control_d + altgr control alt shiftr keycode 32 = Meta_Control_d + shift altgr control alt shiftr keycode 32 = Meta_Control_d + shift shiftl shiftr keycode 32 = +D + altgr shiftl shiftr keycode 32 = +eth + shift altgr shiftl shiftr keycode 32 = +ETH + control shiftl shiftr keycode 32 = Control_d + shift control shiftl shiftr keycode 32 = Control_d + altgr control shiftl shiftr keycode 32 = Control_d + shift altgr control shiftl shiftr keycode 32 = Control_d + alt shiftl shiftr keycode 32 = Meta_d + shift alt shiftl shiftr keycode 32 = Meta_D + altgr alt shiftl shiftr keycode 32 = Meta_d + shift altgr alt shiftl shiftr keycode 32 = Meta_D + control alt shiftl shiftr keycode 32 = Meta_Control_d + shift control alt shiftl shiftr keycode 32 = Meta_Control_d + altgr control alt shiftl shiftr keycode 32 = Meta_Control_d + shift altgr control alt shiftl shiftr keycode 32 = Meta_Control_d + ctrll keycode 32 = +D + altgr ctrll keycode 32 = +ETH + shift altgr ctrll keycode 32 = +eth + control ctrll keycode 32 = Control_d + shift control ctrll keycode 32 = Control_d + altgr control ctrll keycode 32 = Control_d + shift altgr control ctrll keycode 32 = Control_d + alt ctrll keycode 32 = Meta_d + shift alt ctrll keycode 32 = Meta_D + altgr alt ctrll keycode 32 = Meta_d + shift altgr alt ctrll keycode 32 = Meta_D + control alt ctrll keycode 32 = Meta_Control_d + shift control alt ctrll keycode 32 = Meta_Control_d + altgr control alt ctrll keycode 32 = Meta_Control_d + shift altgr control alt ctrll keycode 32 = Meta_Control_d + shiftl ctrll keycode 32 = +D + altgr shiftl ctrll keycode 32 = +ETH + shift altgr shiftl ctrll keycode 32 = +eth + control shiftl ctrll keycode 32 = Control_d + shift control shiftl ctrll keycode 32 = Control_d + altgr control shiftl ctrll keycode 32 = Control_d + shift altgr control shiftl ctrll keycode 32 = Control_d + alt shiftl ctrll keycode 32 = Meta_d + shift alt shiftl ctrll keycode 32 = Meta_D + altgr alt shiftl ctrll keycode 32 = Meta_d + shift altgr alt shiftl ctrll keycode 32 = Meta_D + control alt shiftl ctrll keycode 32 = Meta_Control_d + shift control alt shiftl ctrll keycode 32 = Meta_Control_d + altgr control alt shiftl ctrll keycode 32 = Meta_Control_d + shift altgr control alt shiftl ctrll keycode 32 = Meta_Control_d + shiftr ctrll keycode 32 = +D + altgr shiftr ctrll keycode 32 = +ETH + shift altgr shiftr ctrll keycode 32 = +eth + control shiftr ctrll keycode 32 = Control_d + shift control shiftr ctrll keycode 32 = Control_d + altgr control shiftr ctrll keycode 32 = Control_d + shift altgr control shiftr ctrll keycode 32 = Control_d + alt shiftr ctrll keycode 32 = Meta_d + shift alt shiftr ctrll keycode 32 = Meta_D + altgr alt shiftr ctrll keycode 32 = Meta_d + shift altgr alt shiftr ctrll keycode 32 = Meta_D + control alt shiftr ctrll keycode 32 = Meta_Control_d + shift control alt shiftr ctrll keycode 32 = Meta_Control_d + altgr control alt shiftr ctrll keycode 32 = Meta_Control_d + shift altgr control alt shiftr ctrll keycode 32 = Meta_Control_d + shiftl shiftr ctrll keycode 32 = +D + altgr shiftl shiftr ctrll keycode 32 = +ETH + shift altgr shiftl shiftr ctrll keycode 32 = +eth + control shiftl shiftr ctrll keycode 32 = Control_d + shift control shiftl shiftr ctrll keycode 32 = Control_d + altgr control shiftl shiftr ctrll keycode 32 = Control_d + shift altgr control shiftl shiftr ctrll keycode 32 = Control_d + alt shiftl shiftr ctrll keycode 32 = Meta_d + shift alt shiftl shiftr ctrll keycode 32 = Meta_D + altgr alt shiftl shiftr ctrll keycode 32 = Meta_d + shift altgr alt shiftl shiftr ctrll keycode 32 = Meta_D + control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d + shift control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d + altgr control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d + shift altgr control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d +keycode 33 = +f + shift keycode 33 = +F + altgr keycode 33 = dstroke + shift altgr keycode 33 = +ordfeminine + control keycode 33 = Control_f + shift control keycode 33 = Control_f + altgr control keycode 33 = Control_f + shift altgr control keycode 33 = Control_f + alt keycode 33 = Meta_f + shift alt keycode 33 = Meta_F + altgr alt keycode 33 = Meta_f + shift altgr alt keycode 33 = Meta_F + control alt keycode 33 = Meta_Control_f + shift control alt keycode 33 = Meta_Control_f + altgr control alt keycode 33 = Meta_Control_f + shift altgr control alt keycode 33 = Meta_Control_f + shift shiftl keycode 33 = +F + altgr shiftl keycode 33 = dstroke + shift altgr shiftl keycode 33 = +ordfeminine + control shiftl keycode 33 = Control_f + shift control shiftl keycode 33 = Control_f + altgr control shiftl keycode 33 = Control_f + shift altgr control shiftl keycode 33 = Control_f + alt shiftl keycode 33 = Meta_f + shift alt shiftl keycode 33 = Meta_F + altgr alt shiftl keycode 33 = Meta_f + shift altgr alt shiftl keycode 33 = Meta_F + control alt shiftl keycode 33 = Meta_Control_f + shift control alt shiftl keycode 33 = Meta_Control_f + altgr control alt shiftl keycode 33 = Meta_Control_f + shift altgr control alt shiftl keycode 33 = Meta_Control_f + shift shiftr keycode 33 = +F + altgr shiftr keycode 33 = dstroke + shift altgr shiftr keycode 33 = +ordfeminine + control shiftr keycode 33 = Control_f + shift control shiftr keycode 33 = Control_f + altgr control shiftr keycode 33 = Control_f + shift altgr control shiftr keycode 33 = Control_f + alt shiftr keycode 33 = Meta_f + shift alt shiftr keycode 33 = Meta_F + altgr alt shiftr keycode 33 = Meta_f + shift altgr alt shiftr keycode 33 = Meta_F + control alt shiftr keycode 33 = Meta_Control_f + shift control alt shiftr keycode 33 = Meta_Control_f + altgr control alt shiftr keycode 33 = Meta_Control_f + shift altgr control alt shiftr keycode 33 = Meta_Control_f + shift shiftl shiftr keycode 33 = +F + altgr shiftl shiftr keycode 33 = dstroke + shift altgr shiftl shiftr keycode 33 = +ordfeminine + control shiftl shiftr keycode 33 = Control_f + shift control shiftl shiftr keycode 33 = Control_f + altgr control shiftl shiftr keycode 33 = Control_f + shift altgr control shiftl shiftr keycode 33 = Control_f + alt shiftl shiftr keycode 33 = Meta_f + shift alt shiftl shiftr keycode 33 = Meta_F + altgr alt shiftl shiftr keycode 33 = Meta_f + shift altgr alt shiftl shiftr keycode 33 = Meta_F + control alt shiftl shiftr keycode 33 = Meta_Control_f + shift control alt shiftl shiftr keycode 33 = Meta_Control_f + altgr control alt shiftl shiftr keycode 33 = Meta_Control_f + shift altgr control alt shiftl shiftr keycode 33 = Meta_Control_f + ctrll keycode 33 = +F + altgr ctrll keycode 33 = Dstroke + shift altgr ctrll keycode 33 = +ordfeminine + control ctrll keycode 33 = Control_f + shift control ctrll keycode 33 = Control_f + altgr control ctrll keycode 33 = Control_f + shift altgr control ctrll keycode 33 = Control_f + alt ctrll keycode 33 = Meta_f + shift alt ctrll keycode 33 = Meta_F + altgr alt ctrll keycode 33 = Meta_f + shift altgr alt ctrll keycode 33 = Meta_F + control alt ctrll keycode 33 = Meta_Control_f + shift control alt ctrll keycode 33 = Meta_Control_f + altgr control alt ctrll keycode 33 = Meta_Control_f + shift altgr control alt ctrll keycode 33 = Meta_Control_f + shiftl ctrll keycode 33 = +F + altgr shiftl ctrll keycode 33 = Dstroke + shift altgr shiftl ctrll keycode 33 = +ordfeminine + control shiftl ctrll keycode 33 = Control_f + shift control shiftl ctrll keycode 33 = Control_f + altgr control shiftl ctrll keycode 33 = Control_f + shift altgr control shiftl ctrll keycode 33 = Control_f + alt shiftl ctrll keycode 33 = Meta_f + shift alt shiftl ctrll keycode 33 = Meta_F + altgr alt shiftl ctrll keycode 33 = Meta_f + shift altgr alt shiftl ctrll keycode 33 = Meta_F + control alt shiftl ctrll keycode 33 = Meta_Control_f + shift control alt shiftl ctrll keycode 33 = Meta_Control_f + altgr control alt shiftl ctrll keycode 33 = Meta_Control_f + shift altgr control alt shiftl ctrll keycode 33 = Meta_Control_f + shiftr ctrll keycode 33 = +F + altgr shiftr ctrll keycode 33 = Dstroke + shift altgr shiftr ctrll keycode 33 = +ordfeminine + control shiftr ctrll keycode 33 = Control_f + shift control shiftr ctrll keycode 33 = Control_f + altgr control shiftr ctrll keycode 33 = Control_f + shift altgr control shiftr ctrll keycode 33 = Control_f + alt shiftr ctrll keycode 33 = Meta_f + shift alt shiftr ctrll keycode 33 = Meta_F + altgr alt shiftr ctrll keycode 33 = Meta_f + shift altgr alt shiftr ctrll keycode 33 = Meta_F + control alt shiftr ctrll keycode 33 = Meta_Control_f + shift control alt shiftr ctrll keycode 33 = Meta_Control_f + altgr control alt shiftr ctrll keycode 33 = Meta_Control_f + shift altgr control alt shiftr ctrll keycode 33 = Meta_Control_f + shiftl shiftr ctrll keycode 33 = +F + altgr shiftl shiftr ctrll keycode 33 = Dstroke + shift altgr shiftl shiftr ctrll keycode 33 = +ordfeminine + control shiftl shiftr ctrll keycode 33 = Control_f + shift control shiftl shiftr ctrll keycode 33 = Control_f + altgr control shiftl shiftr ctrll keycode 33 = Control_f + shift altgr control shiftl shiftr ctrll keycode 33 = Control_f + alt shiftl shiftr ctrll keycode 33 = Meta_f + shift alt shiftl shiftr ctrll keycode 33 = Meta_F + altgr alt shiftl shiftr ctrll keycode 33 = Meta_f + shift altgr alt shiftl shiftr ctrll keycode 33 = Meta_F + control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f + shift control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f + altgr control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f + shift altgr control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f +keycode 34 = +g + shift keycode 34 = +G + altgr keycode 34 = eng + shift altgr keycode 34 = ENG + control keycode 34 = Control_g + shift control keycode 34 = Control_g + altgr control keycode 34 = Control_g + shift altgr control keycode 34 = Control_g + alt keycode 34 = Meta_g + shift alt keycode 34 = Meta_G + altgr alt keycode 34 = Meta_g + shift altgr alt keycode 34 = Meta_G + control alt keycode 34 = Meta_Control_g + shift control alt keycode 34 = Meta_Control_g + altgr control alt keycode 34 = Meta_Control_g + shift altgr control alt keycode 34 = Meta_Control_g + shift shiftl keycode 34 = +G + altgr shiftl keycode 34 = eng + shift altgr shiftl keycode 34 = ENG + control shiftl keycode 34 = Control_g + shift control shiftl keycode 34 = Control_g + altgr control shiftl keycode 34 = Control_g + shift altgr control shiftl keycode 34 = Control_g + alt shiftl keycode 34 = Meta_g + shift alt shiftl keycode 34 = Meta_G + altgr alt shiftl keycode 34 = Meta_g + shift altgr alt shiftl keycode 34 = Meta_G + control alt shiftl keycode 34 = Meta_Control_g + shift control alt shiftl keycode 34 = Meta_Control_g + altgr control alt shiftl keycode 34 = Meta_Control_g + shift altgr control alt shiftl keycode 34 = Meta_Control_g + shift shiftr keycode 34 = +G + altgr shiftr keycode 34 = eng + shift altgr shiftr keycode 34 = ENG + control shiftr keycode 34 = Control_g + shift control shiftr keycode 34 = Control_g + altgr control shiftr keycode 34 = Control_g + shift altgr control shiftr keycode 34 = Control_g + alt shiftr keycode 34 = Meta_g + shift alt shiftr keycode 34 = Meta_G + altgr alt shiftr keycode 34 = Meta_g + shift altgr alt shiftr keycode 34 = Meta_G + control alt shiftr keycode 34 = Meta_Control_g + shift control alt shiftr keycode 34 = Meta_Control_g + altgr control alt shiftr keycode 34 = Meta_Control_g + shift altgr control alt shiftr keycode 34 = Meta_Control_g + shift shiftl shiftr keycode 34 = +G + altgr shiftl shiftr keycode 34 = eng + shift altgr shiftl shiftr keycode 34 = ENG + control shiftl shiftr keycode 34 = Control_g + shift control shiftl shiftr keycode 34 = Control_g + altgr control shiftl shiftr keycode 34 = Control_g + shift altgr control shiftl shiftr keycode 34 = Control_g + alt shiftl shiftr keycode 34 = Meta_g + shift alt shiftl shiftr keycode 34 = Meta_G + altgr alt shiftl shiftr keycode 34 = Meta_g + shift altgr alt shiftl shiftr keycode 34 = Meta_G + control alt shiftl shiftr keycode 34 = Meta_Control_g + shift control alt shiftl shiftr keycode 34 = Meta_Control_g + altgr control alt shiftl shiftr keycode 34 = Meta_Control_g + shift altgr control alt shiftl shiftr keycode 34 = Meta_Control_g + ctrll keycode 34 = +G + altgr ctrll keycode 34 = ENG + shift altgr ctrll keycode 34 = eng + control ctrll keycode 34 = Control_g + shift control ctrll keycode 34 = Control_g + altgr control ctrll keycode 34 = Control_g + shift altgr control ctrll keycode 34 = Control_g + alt ctrll keycode 34 = Meta_g + shift alt ctrll keycode 34 = Meta_G + altgr alt ctrll keycode 34 = Meta_g + shift altgr alt ctrll keycode 34 = Meta_G + control alt ctrll keycode 34 = Meta_Control_g + shift control alt ctrll keycode 34 = Meta_Control_g + altgr control alt ctrll keycode 34 = Meta_Control_g + shift altgr control alt ctrll keycode 34 = Meta_Control_g + shiftl ctrll keycode 34 = +G + altgr shiftl ctrll keycode 34 = ENG + shift altgr shiftl ctrll keycode 34 = eng + control shiftl ctrll keycode 34 = Control_g + shift control shiftl ctrll keycode 34 = Control_g + altgr control shiftl ctrll keycode 34 = Control_g + shift altgr control shiftl ctrll keycode 34 = Control_g + alt shiftl ctrll keycode 34 = Meta_g + shift alt shiftl ctrll keycode 34 = Meta_G + altgr alt shiftl ctrll keycode 34 = Meta_g + shift altgr alt shiftl ctrll keycode 34 = Meta_G + control alt shiftl ctrll keycode 34 = Meta_Control_g + shift control alt shiftl ctrll keycode 34 = Meta_Control_g + altgr control alt shiftl ctrll keycode 34 = Meta_Control_g + shift altgr control alt shiftl ctrll keycode 34 = Meta_Control_g + shiftr ctrll keycode 34 = +G + altgr shiftr ctrll keycode 34 = ENG + shift altgr shiftr ctrll keycode 34 = eng + control shiftr ctrll keycode 34 = Control_g + shift control shiftr ctrll keycode 34 = Control_g + altgr control shiftr ctrll keycode 34 = Control_g + shift altgr control shiftr ctrll keycode 34 = Control_g + alt shiftr ctrll keycode 34 = Meta_g + shift alt shiftr ctrll keycode 34 = Meta_G + altgr alt shiftr ctrll keycode 34 = Meta_g + shift altgr alt shiftr ctrll keycode 34 = Meta_G + control alt shiftr ctrll keycode 34 = Meta_Control_g + shift control alt shiftr ctrll keycode 34 = Meta_Control_g + altgr control alt shiftr ctrll keycode 34 = Meta_Control_g + shift altgr control alt shiftr ctrll keycode 34 = Meta_Control_g + shiftl shiftr ctrll keycode 34 = +G + altgr shiftl shiftr ctrll keycode 34 = ENG + shift altgr shiftl shiftr ctrll keycode 34 = eng + control shiftl shiftr ctrll keycode 34 = Control_g + shift control shiftl shiftr ctrll keycode 34 = Control_g + altgr control shiftl shiftr ctrll keycode 34 = Control_g + shift altgr control shiftl shiftr ctrll keycode 34 = Control_g + alt shiftl shiftr ctrll keycode 34 = Meta_g + shift alt shiftl shiftr ctrll keycode 34 = Meta_G + altgr alt shiftl shiftr ctrll keycode 34 = Meta_g + shift altgr alt shiftl shiftr ctrll keycode 34 = Meta_G + control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g + shift control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g + altgr control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g + shift altgr control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g +keycode 35 = +h + shift keycode 35 = +H + altgr keycode 35 = hstroke + shift altgr keycode 35 = Hstroke + control keycode 35 = BackSpace + shift control keycode 35 = BackSpace + altgr control keycode 35 = BackSpace + shift altgr control keycode 35 = BackSpace + alt keycode 35 = Meta_h + shift alt keycode 35 = Meta_H + altgr alt keycode 35 = Meta_h + shift altgr alt keycode 35 = Meta_H + control alt keycode 35 = Meta_BackSpace + shift control alt keycode 35 = Meta_BackSpace + altgr control alt keycode 35 = Meta_BackSpace + shift altgr control alt keycode 35 = Meta_BackSpace + shift shiftl keycode 35 = +H + altgr shiftl keycode 35 = hstroke + shift altgr shiftl keycode 35 = Hstroke + control shiftl keycode 35 = BackSpace + shift control shiftl keycode 35 = BackSpace + altgr control shiftl keycode 35 = BackSpace + shift altgr control shiftl keycode 35 = BackSpace + alt shiftl keycode 35 = Meta_h + shift alt shiftl keycode 35 = Meta_H + altgr alt shiftl keycode 35 = Meta_h + shift altgr alt shiftl keycode 35 = Meta_H + control alt shiftl keycode 35 = Meta_BackSpace + shift control alt shiftl keycode 35 = Meta_BackSpace + altgr control alt shiftl keycode 35 = Meta_BackSpace + shift altgr control alt shiftl keycode 35 = Meta_BackSpace + shift shiftr keycode 35 = +H + altgr shiftr keycode 35 = hstroke + shift altgr shiftr keycode 35 = Hstroke + control shiftr keycode 35 = BackSpace + shift control shiftr keycode 35 = BackSpace + altgr control shiftr keycode 35 = BackSpace + shift altgr control shiftr keycode 35 = BackSpace + alt shiftr keycode 35 = Meta_h + shift alt shiftr keycode 35 = Meta_H + altgr alt shiftr keycode 35 = Meta_h + shift altgr alt shiftr keycode 35 = Meta_H + control alt shiftr keycode 35 = Meta_BackSpace + shift control alt shiftr keycode 35 = Meta_BackSpace + altgr control alt shiftr keycode 35 = Meta_BackSpace + shift altgr control alt shiftr keycode 35 = Meta_BackSpace + shift shiftl shiftr keycode 35 = +H + altgr shiftl shiftr keycode 35 = hstroke + shift altgr shiftl shiftr keycode 35 = Hstroke + control shiftl shiftr keycode 35 = BackSpace + shift control shiftl shiftr keycode 35 = BackSpace + altgr control shiftl shiftr keycode 35 = BackSpace + shift altgr control shiftl shiftr keycode 35 = BackSpace + alt shiftl shiftr keycode 35 = Meta_h + shift alt shiftl shiftr keycode 35 = Meta_H + altgr alt shiftl shiftr keycode 35 = Meta_h + shift altgr alt shiftl shiftr keycode 35 = Meta_H + control alt shiftl shiftr keycode 35 = Meta_BackSpace + shift control alt shiftl shiftr keycode 35 = Meta_BackSpace + altgr control alt shiftl shiftr keycode 35 = Meta_BackSpace + shift altgr control alt shiftl shiftr keycode 35 = Meta_BackSpace + ctrll keycode 35 = +H + altgr ctrll keycode 35 = Hstroke + shift altgr ctrll keycode 35 = hstroke + control ctrll keycode 35 = BackSpace + shift control ctrll keycode 35 = BackSpace + altgr control ctrll keycode 35 = BackSpace + shift altgr control ctrll keycode 35 = BackSpace + alt ctrll keycode 35 = Meta_h + shift alt ctrll keycode 35 = Meta_H + altgr alt ctrll keycode 35 = Meta_h + shift altgr alt ctrll keycode 35 = Meta_H + control alt ctrll keycode 35 = Meta_BackSpace + shift control alt ctrll keycode 35 = Meta_BackSpace + altgr control alt ctrll keycode 35 = Meta_BackSpace + shift altgr control alt ctrll keycode 35 = Meta_BackSpace + shiftl ctrll keycode 35 = +H + altgr shiftl ctrll keycode 35 = Hstroke + shift altgr shiftl ctrll keycode 35 = hstroke + control shiftl ctrll keycode 35 = BackSpace + shift control shiftl ctrll keycode 35 = BackSpace + altgr control shiftl ctrll keycode 35 = BackSpace + shift altgr control shiftl ctrll keycode 35 = BackSpace + alt shiftl ctrll keycode 35 = Meta_h + shift alt shiftl ctrll keycode 35 = Meta_H + altgr alt shiftl ctrll keycode 35 = Meta_h + shift altgr alt shiftl ctrll keycode 35 = Meta_H + control alt shiftl ctrll keycode 35 = Meta_BackSpace + shift control alt shiftl ctrll keycode 35 = Meta_BackSpace + altgr control alt shiftl ctrll keycode 35 = Meta_BackSpace + shift altgr control alt shiftl ctrll keycode 35 = Meta_BackSpace + shiftr ctrll keycode 35 = +H + altgr shiftr ctrll keycode 35 = Hstroke + shift altgr shiftr ctrll keycode 35 = hstroke + control shiftr ctrll keycode 35 = BackSpace + shift control shiftr ctrll keycode 35 = BackSpace + altgr control shiftr ctrll keycode 35 = BackSpace + shift altgr control shiftr ctrll keycode 35 = BackSpace + alt shiftr ctrll keycode 35 = Meta_h + shift alt shiftr ctrll keycode 35 = Meta_H + altgr alt shiftr ctrll keycode 35 = Meta_h + shift altgr alt shiftr ctrll keycode 35 = Meta_H + control alt shiftr ctrll keycode 35 = Meta_BackSpace + shift control alt shiftr ctrll keycode 35 = Meta_BackSpace + altgr control alt shiftr ctrll keycode 35 = Meta_BackSpace + shift altgr control alt shiftr ctrll keycode 35 = Meta_BackSpace + shiftl shiftr ctrll keycode 35 = +H + altgr shiftl shiftr ctrll keycode 35 = Hstroke + shift altgr shiftl shiftr ctrll keycode 35 = hstroke + control shiftl shiftr ctrll keycode 35 = BackSpace + shift control shiftl shiftr ctrll keycode 35 = BackSpace + altgr control shiftl shiftr ctrll keycode 35 = BackSpace + shift altgr control shiftl shiftr ctrll keycode 35 = BackSpace + alt shiftl shiftr ctrll keycode 35 = Meta_h + shift alt shiftl shiftr ctrll keycode 35 = Meta_H + altgr alt shiftl shiftr ctrll keycode 35 = Meta_h + shift altgr alt shiftl shiftr ctrll keycode 35 = Meta_H + control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace + shift control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace + altgr control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace + shift altgr control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace +keycode 36 = +j + shift keycode 36 = +J + altgr keycode 36 = U+0309 + shift altgr keycode 36 = U+031b + control keycode 36 = Linefeed + shift control keycode 36 = Linefeed + altgr control keycode 36 = Linefeed + shift altgr control keycode 36 = Linefeed + alt keycode 36 = Meta_j + shift alt keycode 36 = Meta_J + altgr alt keycode 36 = Meta_j + shift altgr alt keycode 36 = Meta_J + control alt keycode 36 = Meta_Linefeed + shift control alt keycode 36 = Meta_Linefeed + altgr control alt keycode 36 = Meta_Linefeed + shift altgr control alt keycode 36 = Meta_Linefeed + shift shiftl keycode 36 = +J + altgr shiftl keycode 36 = U+0309 + shift altgr shiftl keycode 36 = U+031b + control shiftl keycode 36 = Linefeed + shift control shiftl keycode 36 = Linefeed + altgr control shiftl keycode 36 = Linefeed + shift altgr control shiftl keycode 36 = Linefeed + alt shiftl keycode 36 = Meta_j + shift alt shiftl keycode 36 = Meta_J + altgr alt shiftl keycode 36 = Meta_j + shift altgr alt shiftl keycode 36 = Meta_J + control alt shiftl keycode 36 = Meta_Linefeed + shift control alt shiftl keycode 36 = Meta_Linefeed + altgr control alt shiftl keycode 36 = Meta_Linefeed + shift altgr control alt shiftl keycode 36 = Meta_Linefeed + shift shiftr keycode 36 = +J + altgr shiftr keycode 36 = U+0309 + shift altgr shiftr keycode 36 = U+031b + control shiftr keycode 36 = Linefeed + shift control shiftr keycode 36 = Linefeed + altgr control shiftr keycode 36 = Linefeed + shift altgr control shiftr keycode 36 = Linefeed + alt shiftr keycode 36 = Meta_j + shift alt shiftr keycode 36 = Meta_J + altgr alt shiftr keycode 36 = Meta_j + shift altgr alt shiftr keycode 36 = Meta_J + control alt shiftr keycode 36 = Meta_Linefeed + shift control alt shiftr keycode 36 = Meta_Linefeed + altgr control alt shiftr keycode 36 = Meta_Linefeed + shift altgr control alt shiftr keycode 36 = Meta_Linefeed + shift shiftl shiftr keycode 36 = +J + altgr shiftl shiftr keycode 36 = U+0309 + shift altgr shiftl shiftr keycode 36 = U+031b + control shiftl shiftr keycode 36 = Linefeed + shift control shiftl shiftr keycode 36 = Linefeed + altgr control shiftl shiftr keycode 36 = Linefeed + shift altgr control shiftl shiftr keycode 36 = Linefeed + alt shiftl shiftr keycode 36 = Meta_j + shift alt shiftl shiftr keycode 36 = Meta_J + altgr alt shiftl shiftr keycode 36 = Meta_j + shift altgr alt shiftl shiftr keycode 36 = Meta_J + control alt shiftl shiftr keycode 36 = Meta_Linefeed + shift control alt shiftl shiftr keycode 36 = Meta_Linefeed + altgr control alt shiftl shiftr keycode 36 = Meta_Linefeed + shift altgr control alt shiftl shiftr keycode 36 = Meta_Linefeed + ctrll keycode 36 = +J + altgr ctrll keycode 36 = U+0309 + shift altgr ctrll keycode 36 = U+031b + control ctrll keycode 36 = Linefeed + shift control ctrll keycode 36 = Linefeed + altgr control ctrll keycode 36 = Linefeed + shift altgr control ctrll keycode 36 = Linefeed + alt ctrll keycode 36 = Meta_j + shift alt ctrll keycode 36 = Meta_J + altgr alt ctrll keycode 36 = Meta_j + shift altgr alt ctrll keycode 36 = Meta_J + control alt ctrll keycode 36 = Meta_Linefeed + shift control alt ctrll keycode 36 = Meta_Linefeed + altgr control alt ctrll keycode 36 = Meta_Linefeed + shift altgr control alt ctrll keycode 36 = Meta_Linefeed + shiftl ctrll keycode 36 = +J + altgr shiftl ctrll keycode 36 = U+0309 + shift altgr shiftl ctrll keycode 36 = U+031b + control shiftl ctrll keycode 36 = Linefeed + shift control shiftl ctrll keycode 36 = Linefeed + altgr control shiftl ctrll keycode 36 = Linefeed + shift altgr control shiftl ctrll keycode 36 = Linefeed + alt shiftl ctrll keycode 36 = Meta_j + shift alt shiftl ctrll keycode 36 = Meta_J + altgr alt shiftl ctrll keycode 36 = Meta_j + shift altgr alt shiftl ctrll keycode 36 = Meta_J + control alt shiftl ctrll keycode 36 = Meta_Linefeed + shift control alt shiftl ctrll keycode 36 = Meta_Linefeed + altgr control alt shiftl ctrll keycode 36 = Meta_Linefeed + shift altgr control alt shiftl ctrll keycode 36 = Meta_Linefeed + shiftr ctrll keycode 36 = +J + altgr shiftr ctrll keycode 36 = U+0309 + shift altgr shiftr ctrll keycode 36 = U+031b + control shiftr ctrll keycode 36 = Linefeed + shift control shiftr ctrll keycode 36 = Linefeed + altgr control shiftr ctrll keycode 36 = Linefeed + shift altgr control shiftr ctrll keycode 36 = Linefeed + alt shiftr ctrll keycode 36 = Meta_j + shift alt shiftr ctrll keycode 36 = Meta_J + altgr alt shiftr ctrll keycode 36 = Meta_j + shift altgr alt shiftr ctrll keycode 36 = Meta_J + control alt shiftr ctrll keycode 36 = Meta_Linefeed + shift control alt shiftr ctrll keycode 36 = Meta_Linefeed + altgr control alt shiftr ctrll keycode 36 = Meta_Linefeed + shift altgr control alt shiftr ctrll keycode 36 = Meta_Linefeed + shiftl shiftr ctrll keycode 36 = +J + altgr shiftl shiftr ctrll keycode 36 = U+0309 + shift altgr shiftl shiftr ctrll keycode 36 = U+031b + control shiftl shiftr ctrll keycode 36 = Linefeed + shift control shiftl shiftr ctrll keycode 36 = Linefeed + altgr control shiftl shiftr ctrll keycode 36 = Linefeed + shift altgr control shiftl shiftr ctrll keycode 36 = Linefeed + alt shiftl shiftr ctrll keycode 36 = Meta_j + shift alt shiftl shiftr ctrll keycode 36 = Meta_J + altgr alt shiftl shiftr ctrll keycode 36 = Meta_j + shift altgr alt shiftl shiftr ctrll keycode 36 = Meta_J + control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed + shift control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed + altgr control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed + shift altgr control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed +keycode 37 = +k + shift keycode 37 = +K + altgr keycode 37 = kra + shift altgr keycode 37 = ampersand + control keycode 37 = Control_k + shift control keycode 37 = Control_k + altgr control keycode 37 = Control_k + shift altgr control keycode 37 = Control_k + alt keycode 37 = Meta_k + shift alt keycode 37 = Meta_K + altgr alt keycode 37 = Meta_k + shift altgr alt keycode 37 = Meta_ampersand + control alt keycode 37 = Meta_Control_k + shift control alt keycode 37 = Meta_Control_k + altgr control alt keycode 37 = Meta_Control_k + shift altgr control alt keycode 37 = Meta_Control_k + shift shiftl keycode 37 = +K + altgr shiftl keycode 37 = kra + shift altgr shiftl keycode 37 = ampersand + control shiftl keycode 37 = Control_k + shift control shiftl keycode 37 = Control_k + altgr control shiftl keycode 37 = Control_k + shift altgr control shiftl keycode 37 = Control_k + alt shiftl keycode 37 = Meta_k + shift alt shiftl keycode 37 = Meta_K + altgr alt shiftl keycode 37 = Meta_k + shift altgr alt shiftl keycode 37 = Meta_ampersand + control alt shiftl keycode 37 = Meta_Control_k + shift control alt shiftl keycode 37 = Meta_Control_k + altgr control alt shiftl keycode 37 = Meta_Control_k + shift altgr control alt shiftl keycode 37 = Meta_Control_k + shift shiftr keycode 37 = +K + altgr shiftr keycode 37 = kra + shift altgr shiftr keycode 37 = ampersand + control shiftr keycode 37 = Control_k + shift control shiftr keycode 37 = Control_k + altgr control shiftr keycode 37 = Control_k + shift altgr control shiftr keycode 37 = Control_k + alt shiftr keycode 37 = Meta_k + shift alt shiftr keycode 37 = Meta_K + altgr alt shiftr keycode 37 = Meta_k + shift altgr alt shiftr keycode 37 = Meta_ampersand + control alt shiftr keycode 37 = Meta_Control_k + shift control alt shiftr keycode 37 = Meta_Control_k + altgr control alt shiftr keycode 37 = Meta_Control_k + shift altgr control alt shiftr keycode 37 = Meta_Control_k + shift shiftl shiftr keycode 37 = +K + altgr shiftl shiftr keycode 37 = kra + shift altgr shiftl shiftr keycode 37 = ampersand + control shiftl shiftr keycode 37 = Control_k + shift control shiftl shiftr keycode 37 = Control_k + altgr control shiftl shiftr keycode 37 = Control_k + shift altgr control shiftl shiftr keycode 37 = Control_k + alt shiftl shiftr keycode 37 = Meta_k + shift alt shiftl shiftr keycode 37 = Meta_K + altgr alt shiftl shiftr keycode 37 = Meta_k + shift altgr alt shiftl shiftr keycode 37 = Meta_ampersand + control alt shiftl shiftr keycode 37 = Meta_Control_k + shift control alt shiftl shiftr keycode 37 = Meta_Control_k + altgr control alt shiftl shiftr keycode 37 = Meta_Control_k + shift altgr control alt shiftl shiftr keycode 37 = Meta_Control_k + ctrll keycode 37 = +K + altgr ctrll keycode 37 = kra + shift altgr ctrll keycode 37 = ampersand + control ctrll keycode 37 = Control_k + shift control ctrll keycode 37 = Control_k + altgr control ctrll keycode 37 = Control_k + shift altgr control ctrll keycode 37 = Control_k + alt ctrll keycode 37 = Meta_k + shift alt ctrll keycode 37 = Meta_K + altgr alt ctrll keycode 37 = Meta_k + shift altgr alt ctrll keycode 37 = Meta_ampersand + control alt ctrll keycode 37 = Meta_Control_k + shift control alt ctrll keycode 37 = Meta_Control_k + altgr control alt ctrll keycode 37 = Meta_Control_k + shift altgr control alt ctrll keycode 37 = Meta_Control_k + shiftl ctrll keycode 37 = +K + altgr shiftl ctrll keycode 37 = kra + shift altgr shiftl ctrll keycode 37 = ampersand + control shiftl ctrll keycode 37 = Control_k + shift control shiftl ctrll keycode 37 = Control_k + altgr control shiftl ctrll keycode 37 = Control_k + shift altgr control shiftl ctrll keycode 37 = Control_k + alt shiftl ctrll keycode 37 = Meta_k + shift alt shiftl ctrll keycode 37 = Meta_K + altgr alt shiftl ctrll keycode 37 = Meta_k + shift altgr alt shiftl ctrll keycode 37 = Meta_ampersand + control alt shiftl ctrll keycode 37 = Meta_Control_k + shift control alt shiftl ctrll keycode 37 = Meta_Control_k + altgr control alt shiftl ctrll keycode 37 = Meta_Control_k + shift altgr control alt shiftl ctrll keycode 37 = Meta_Control_k + shiftr ctrll keycode 37 = +K + altgr shiftr ctrll keycode 37 = kra + shift altgr shiftr ctrll keycode 37 = ampersand + control shiftr ctrll keycode 37 = Control_k + shift control shiftr ctrll keycode 37 = Control_k + altgr control shiftr ctrll keycode 37 = Control_k + shift altgr control shiftr ctrll keycode 37 = Control_k + alt shiftr ctrll keycode 37 = Meta_k + shift alt shiftr ctrll keycode 37 = Meta_K + altgr alt shiftr ctrll keycode 37 = Meta_k + shift altgr alt shiftr ctrll keycode 37 = Meta_ampersand + control alt shiftr ctrll keycode 37 = Meta_Control_k + shift control alt shiftr ctrll keycode 37 = Meta_Control_k + altgr control alt shiftr ctrll keycode 37 = Meta_Control_k + shift altgr control alt shiftr ctrll keycode 37 = Meta_Control_k + shiftl shiftr ctrll keycode 37 = +K + altgr shiftl shiftr ctrll keycode 37 = kra + shift altgr shiftl shiftr ctrll keycode 37 = ampersand + control shiftl shiftr ctrll keycode 37 = Control_k + shift control shiftl shiftr ctrll keycode 37 = Control_k + altgr control shiftl shiftr ctrll keycode 37 = Control_k + shift altgr control shiftl shiftr ctrll keycode 37 = Control_k + alt shiftl shiftr ctrll keycode 37 = Meta_k + shift alt shiftl shiftr ctrll keycode 37 = Meta_K + altgr alt shiftl shiftr ctrll keycode 37 = Meta_k + shift altgr alt shiftl shiftr ctrll keycode 37 = Meta_ampersand + control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k + shift control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k + altgr control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k + shift altgr control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k +keycode 38 = +l + shift keycode 38 = +L + altgr keycode 38 = lstroke + shift altgr keycode 38 = Lstroke + control keycode 38 = Control_l + shift control keycode 38 = Control_l + altgr control keycode 38 = Control_l + shift altgr control keycode 38 = Control_l + alt keycode 38 = Meta_l + shift alt keycode 38 = Meta_L + altgr alt keycode 38 = Meta_l + shift altgr alt keycode 38 = Meta_L + control alt keycode 38 = Meta_Control_l + shift control alt keycode 38 = Meta_Control_l + altgr control alt keycode 38 = Meta_Control_l + shift altgr control alt keycode 38 = Meta_Control_l + shift shiftl keycode 38 = +L + altgr shiftl keycode 38 = lstroke + shift altgr shiftl keycode 38 = Lstroke + control shiftl keycode 38 = Control_l + shift control shiftl keycode 38 = Control_l + altgr control shiftl keycode 38 = Control_l + shift altgr control shiftl keycode 38 = Control_l + alt shiftl keycode 38 = Meta_l + shift alt shiftl keycode 38 = Meta_L + altgr alt shiftl keycode 38 = Meta_l + shift altgr alt shiftl keycode 38 = Meta_L + control alt shiftl keycode 38 = Meta_Control_l + shift control alt shiftl keycode 38 = Meta_Control_l + altgr control alt shiftl keycode 38 = Meta_Control_l + shift altgr control alt shiftl keycode 38 = Meta_Control_l + shift shiftr keycode 38 = +L + altgr shiftr keycode 38 = lstroke + shift altgr shiftr keycode 38 = Lstroke + control shiftr keycode 38 = Control_l + shift control shiftr keycode 38 = Control_l + altgr control shiftr keycode 38 = Control_l + shift altgr control shiftr keycode 38 = Control_l + alt shiftr keycode 38 = Meta_l + shift alt shiftr keycode 38 = Meta_L + altgr alt shiftr keycode 38 = Meta_l + shift altgr alt shiftr keycode 38 = Meta_L + control alt shiftr keycode 38 = Meta_Control_l + shift control alt shiftr keycode 38 = Meta_Control_l + altgr control alt shiftr keycode 38 = Meta_Control_l + shift altgr control alt shiftr keycode 38 = Meta_Control_l + shift shiftl shiftr keycode 38 = +L + altgr shiftl shiftr keycode 38 = lstroke + shift altgr shiftl shiftr keycode 38 = Lstroke + control shiftl shiftr keycode 38 = Control_l + shift control shiftl shiftr keycode 38 = Control_l + altgr control shiftl shiftr keycode 38 = Control_l + shift altgr control shiftl shiftr keycode 38 = Control_l + alt shiftl shiftr keycode 38 = Meta_l + shift alt shiftl shiftr keycode 38 = Meta_L + altgr alt shiftl shiftr keycode 38 = Meta_l + shift altgr alt shiftl shiftr keycode 38 = Meta_L + control alt shiftl shiftr keycode 38 = Meta_Control_l + shift control alt shiftl shiftr keycode 38 = Meta_Control_l + altgr control alt shiftl shiftr keycode 38 = Meta_Control_l + shift altgr control alt shiftl shiftr keycode 38 = Meta_Control_l + ctrll keycode 38 = +L + altgr ctrll keycode 38 = Lstroke + shift altgr ctrll keycode 38 = lstroke + control ctrll keycode 38 = Control_l + shift control ctrll keycode 38 = Control_l + altgr control ctrll keycode 38 = Control_l + shift altgr control ctrll keycode 38 = Control_l + alt ctrll keycode 38 = Meta_l + shift alt ctrll keycode 38 = Meta_L + altgr alt ctrll keycode 38 = Meta_l + shift altgr alt ctrll keycode 38 = Meta_L + control alt ctrll keycode 38 = Meta_Control_l + shift control alt ctrll keycode 38 = Meta_Control_l + altgr control alt ctrll keycode 38 = Meta_Control_l + shift altgr control alt ctrll keycode 38 = Meta_Control_l + shiftl ctrll keycode 38 = +L + altgr shiftl ctrll keycode 38 = Lstroke + shift altgr shiftl ctrll keycode 38 = lstroke + control shiftl ctrll keycode 38 = Control_l + shift control shiftl ctrll keycode 38 = Control_l + altgr control shiftl ctrll keycode 38 = Control_l + shift altgr control shiftl ctrll keycode 38 = Control_l + alt shiftl ctrll keycode 38 = Meta_l + shift alt shiftl ctrll keycode 38 = Meta_L + altgr alt shiftl ctrll keycode 38 = Meta_l + shift altgr alt shiftl ctrll keycode 38 = Meta_L + control alt shiftl ctrll keycode 38 = Meta_Control_l + shift control alt shiftl ctrll keycode 38 = Meta_Control_l + altgr control alt shiftl ctrll keycode 38 = Meta_Control_l + shift altgr control alt shiftl ctrll keycode 38 = Meta_Control_l + shiftr ctrll keycode 38 = +L + altgr shiftr ctrll keycode 38 = Lstroke + shift altgr shiftr ctrll keycode 38 = lstroke + control shiftr ctrll keycode 38 = Control_l + shift control shiftr ctrll keycode 38 = Control_l + altgr control shiftr ctrll keycode 38 = Control_l + shift altgr control shiftr ctrll keycode 38 = Control_l + alt shiftr ctrll keycode 38 = Meta_l + shift alt shiftr ctrll keycode 38 = Meta_L + altgr alt shiftr ctrll keycode 38 = Meta_l + shift altgr alt shiftr ctrll keycode 38 = Meta_L + control alt shiftr ctrll keycode 38 = Meta_Control_l + shift control alt shiftr ctrll keycode 38 = Meta_Control_l + altgr control alt shiftr ctrll keycode 38 = Meta_Control_l + shift altgr control alt shiftr ctrll keycode 38 = Meta_Control_l + shiftl shiftr ctrll keycode 38 = +L + altgr shiftl shiftr ctrll keycode 38 = Lstroke + shift altgr shiftl shiftr ctrll keycode 38 = lstroke + control shiftl shiftr ctrll keycode 38 = Control_l + shift control shiftl shiftr ctrll keycode 38 = Control_l + altgr control shiftl shiftr ctrll keycode 38 = Control_l + shift altgr control shiftl shiftr ctrll keycode 38 = Control_l + alt shiftl shiftr ctrll keycode 38 = Meta_l + shift alt shiftl shiftr ctrll keycode 38 = Meta_L + altgr alt shiftl shiftr ctrll keycode 38 = Meta_l + shift altgr alt shiftl shiftr ctrll keycode 38 = Meta_L + control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l + shift control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l + altgr control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l + shift altgr control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l +keycode 39 = +ccedilla + shift keycode 39 = +Ccedilla + altgr keycode 39 = dead_acute + shift altgr keycode 39 = dead_tilde + control keycode 39 = dead_acute + shift control keycode 39 = dead_tilde + altgr control keycode 39 = dead_acute + shift altgr control keycode 39 = dead_tilde + alt keycode 39 = dead_acute + shift alt keycode 39 = dead_tilde + altgr alt keycode 39 = dead_acute + shift altgr alt keycode 39 = dead_tilde + control alt keycode 39 = dead_acute + shift control alt keycode 39 = dead_tilde + altgr control alt keycode 39 = dead_acute + shift altgr control alt keycode 39 = dead_tilde + shift shiftl keycode 39 = +Ccedilla + altgr shiftl keycode 39 = dead_acute + shift altgr shiftl keycode 39 = dead_tilde + control shiftl keycode 39 = dead_acute + shift control shiftl keycode 39 = dead_tilde + altgr control shiftl keycode 39 = dead_acute + shift altgr control shiftl keycode 39 = dead_tilde + alt shiftl keycode 39 = dead_acute + shift alt shiftl keycode 39 = dead_tilde + altgr alt shiftl keycode 39 = dead_acute + shift altgr alt shiftl keycode 39 = dead_tilde + control alt shiftl keycode 39 = dead_acute + shift control alt shiftl keycode 39 = dead_tilde + altgr control alt shiftl keycode 39 = dead_acute + shift altgr control alt shiftl keycode 39 = dead_tilde + shift shiftr keycode 39 = +Ccedilla + altgr shiftr keycode 39 = dead_acute + shift altgr shiftr keycode 39 = dead_tilde + control shiftr keycode 39 = dead_acute + shift control shiftr keycode 39 = dead_tilde + altgr control shiftr keycode 39 = dead_acute + shift altgr control shiftr keycode 39 = dead_tilde + alt shiftr keycode 39 = dead_acute + shift alt shiftr keycode 39 = dead_tilde + altgr alt shiftr keycode 39 = dead_acute + shift altgr alt shiftr keycode 39 = dead_tilde + control alt shiftr keycode 39 = dead_acute + shift control alt shiftr keycode 39 = dead_tilde + altgr control alt shiftr keycode 39 = dead_acute + shift altgr control alt shiftr keycode 39 = dead_tilde + shift shiftl shiftr keycode 39 = +Ccedilla + altgr shiftl shiftr keycode 39 = dead_acute + shift altgr shiftl shiftr keycode 39 = dead_tilde + control shiftl shiftr keycode 39 = dead_acute + shift control shiftl shiftr keycode 39 = dead_tilde + altgr control shiftl shiftr keycode 39 = dead_acute + shift altgr control shiftl shiftr keycode 39 = dead_tilde + alt shiftl shiftr keycode 39 = dead_acute + shift alt shiftl shiftr keycode 39 = dead_tilde + altgr alt shiftl shiftr keycode 39 = dead_acute + shift altgr alt shiftl shiftr keycode 39 = dead_tilde + control alt shiftl shiftr keycode 39 = dead_acute + shift control alt shiftl shiftr keycode 39 = dead_tilde + altgr control alt shiftl shiftr keycode 39 = dead_acute + shift altgr control alt shiftl shiftr keycode 39 = dead_tilde + ctrll keycode 39 = +Ccedilla + altgr ctrll keycode 39 = dead_acute + shift altgr ctrll keycode 39 = dead_tilde + control ctrll keycode 39 = dead_acute + shift control ctrll keycode 39 = dead_tilde + altgr control ctrll keycode 39 = dead_acute + shift altgr control ctrll keycode 39 = dead_tilde + alt ctrll keycode 39 = dead_acute + shift alt ctrll keycode 39 = dead_tilde + altgr alt ctrll keycode 39 = dead_acute + shift altgr alt ctrll keycode 39 = dead_tilde + control alt ctrll keycode 39 = dead_acute + shift control alt ctrll keycode 39 = dead_tilde + altgr control alt ctrll keycode 39 = dead_acute + shift altgr control alt ctrll keycode 39 = dead_tilde + shiftl ctrll keycode 39 = +Ccedilla + altgr shiftl ctrll keycode 39 = dead_acute + shift altgr shiftl ctrll keycode 39 = dead_tilde + control shiftl ctrll keycode 39 = dead_acute + shift control shiftl ctrll keycode 39 = dead_tilde + altgr control shiftl ctrll keycode 39 = dead_acute + shift altgr control shiftl ctrll keycode 39 = dead_tilde + alt shiftl ctrll keycode 39 = dead_acute + shift alt shiftl ctrll keycode 39 = dead_tilde + altgr alt shiftl ctrll keycode 39 = dead_acute + shift altgr alt shiftl ctrll keycode 39 = dead_tilde + control alt shiftl ctrll keycode 39 = dead_acute + shift control alt shiftl ctrll keycode 39 = dead_tilde + altgr control alt shiftl ctrll keycode 39 = dead_acute + shift altgr control alt shiftl ctrll keycode 39 = dead_tilde + shiftr ctrll keycode 39 = +Ccedilla + altgr shiftr ctrll keycode 39 = dead_acute + shift altgr shiftr ctrll keycode 39 = dead_tilde + control shiftr ctrll keycode 39 = dead_acute + shift control shiftr ctrll keycode 39 = dead_tilde + altgr control shiftr ctrll keycode 39 = dead_acute + shift altgr control shiftr ctrll keycode 39 = dead_tilde + alt shiftr ctrll keycode 39 = dead_acute + shift alt shiftr ctrll keycode 39 = dead_tilde + altgr alt shiftr ctrll keycode 39 = dead_acute + shift altgr alt shiftr ctrll keycode 39 = dead_tilde + control alt shiftr ctrll keycode 39 = dead_acute + shift control alt shiftr ctrll keycode 39 = dead_tilde + altgr control alt shiftr ctrll keycode 39 = dead_acute + shift altgr control alt shiftr ctrll keycode 39 = dead_tilde + shiftl shiftr ctrll keycode 39 = +Ccedilla + altgr shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr shiftl shiftr ctrll keycode 39 = dead_tilde + control shiftl shiftr ctrll keycode 39 = dead_acute + shift control shiftl shiftr ctrll keycode 39 = dead_tilde + altgr control shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr control shiftl shiftr ctrll keycode 39 = dead_tilde + alt shiftl shiftr ctrll keycode 39 = dead_acute + shift alt shiftl shiftr ctrll keycode 39 = dead_tilde + altgr alt shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr alt shiftl shiftr ctrll keycode 39 = dead_tilde + control alt shiftl shiftr ctrll keycode 39 = dead_acute + shift control alt shiftl shiftr ctrll keycode 39 = dead_tilde + altgr control alt shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr control alt shiftl shiftr ctrll keycode 39 = dead_tilde +keycode 40 = dead_tilde + shift keycode 40 = dead_circumflex + altgr keycode 40 = asciitilde + shift altgr keycode 40 = asciicircum + shift control keycode 40 = dead_circumflex + shift altgr control keycode 40 = Control_asciicircum + shift alt keycode 40 = dead_circumflex + altgr alt keycode 40 = Meta_asciitilde + shift altgr alt keycode 40 = Meta_asciicircum + shift control alt keycode 40 = dead_circumflex + shift altgr control alt keycode 40 = Meta_Control_asciicircum + shift shiftl keycode 40 = dead_circumflex + altgr shiftl keycode 40 = asciitilde + shift altgr shiftl keycode 40 = asciicircum + shift control shiftl keycode 40 = dead_circumflex + shift altgr control shiftl keycode 40 = Control_asciicircum + shift alt shiftl keycode 40 = dead_circumflex + altgr alt shiftl keycode 40 = Meta_asciitilde + shift altgr alt shiftl keycode 40 = Meta_asciicircum + shift control alt shiftl keycode 40 = dead_circumflex + shift altgr control alt shiftl keycode 40 = Meta_Control_asciicircum + shift shiftr keycode 40 = dead_circumflex + altgr shiftr keycode 40 = asciitilde + shift altgr shiftr keycode 40 = asciicircum + shift control shiftr keycode 40 = dead_circumflex + shift altgr control shiftr keycode 40 = Control_asciicircum + shift alt shiftr keycode 40 = dead_circumflex + altgr alt shiftr keycode 40 = Meta_asciitilde + shift altgr alt shiftr keycode 40 = Meta_asciicircum + shift control alt shiftr keycode 40 = dead_circumflex + shift altgr control alt shiftr keycode 40 = Meta_Control_asciicircum + shift shiftl shiftr keycode 40 = dead_circumflex + altgr shiftl shiftr keycode 40 = asciitilde + shift altgr shiftl shiftr keycode 40 = asciicircum + shift control shiftl shiftr keycode 40 = dead_circumflex + shift altgr control shiftl shiftr keycode 40 = Control_asciicircum + shift alt shiftl shiftr keycode 40 = dead_circumflex + altgr alt shiftl shiftr keycode 40 = Meta_asciitilde + shift altgr alt shiftl shiftr keycode 40 = Meta_asciicircum + shift control alt shiftl shiftr keycode 40 = dead_circumflex + shift altgr control alt shiftl shiftr keycode 40 = Meta_Control_asciicircum + shift ctrll keycode 40 = dead_circumflex + altgr ctrll keycode 40 = asciitilde + shift altgr ctrll keycode 40 = asciicircum + shift control ctrll keycode 40 = dead_circumflex + shift altgr control ctrll keycode 40 = Control_asciicircum + shift alt ctrll keycode 40 = dead_circumflex + altgr alt ctrll keycode 40 = Meta_asciitilde + shift altgr alt ctrll keycode 40 = Meta_asciicircum + shift control alt ctrll keycode 40 = dead_circumflex + shift altgr control alt ctrll keycode 40 = Meta_Control_asciicircum + shift shiftl ctrll keycode 40 = dead_circumflex + altgr shiftl ctrll keycode 40 = asciitilde + shift altgr shiftl ctrll keycode 40 = asciicircum + shift control shiftl ctrll keycode 40 = dead_circumflex + shift altgr control shiftl ctrll keycode 40 = Control_asciicircum + shift alt shiftl ctrll keycode 40 = dead_circumflex + altgr alt shiftl ctrll keycode 40 = Meta_asciitilde + shift altgr alt shiftl ctrll keycode 40 = Meta_asciicircum + shift control alt shiftl ctrll keycode 40 = dead_circumflex + shift altgr control alt shiftl ctrll keycode 40 = Meta_Control_asciicircum + shift shiftr ctrll keycode 40 = dead_circumflex + altgr shiftr ctrll keycode 40 = asciitilde + shift altgr shiftr ctrll keycode 40 = asciicircum + shift control shiftr ctrll keycode 40 = dead_circumflex + shift altgr control shiftr ctrll keycode 40 = Control_asciicircum + shift alt shiftr ctrll keycode 40 = dead_circumflex + altgr alt shiftr ctrll keycode 40 = Meta_asciitilde + shift altgr alt shiftr ctrll keycode 40 = Meta_asciicircum + shift control alt shiftr ctrll keycode 40 = dead_circumflex + shift altgr control alt shiftr ctrll keycode 40 = Meta_Control_asciicircum + shift shiftl shiftr ctrll keycode 40 = dead_circumflex + altgr shiftl shiftr ctrll keycode 40 = asciitilde + shift altgr shiftl shiftr ctrll keycode 40 = asciicircum + shift control shiftl shiftr ctrll keycode 40 = dead_circumflex + shift altgr control shiftl shiftr ctrll keycode 40 = Control_asciicircum + shift alt shiftl shiftr ctrll keycode 40 = dead_circumflex + altgr alt shiftl shiftr ctrll keycode 40 = Meta_asciitilde + shift altgr alt shiftl shiftr ctrll keycode 40 = Meta_asciicircum + shift control alt shiftl shiftr ctrll keycode 40 = dead_circumflex + shift altgr control alt shiftl shiftr ctrll keycode 40 = Meta_Control_asciicircum +keycode 41 = apostrophe + shift keycode 41 = quotedbl + altgr keycode 41 = notsign + shift altgr keycode 41 = notsign + control keycode 41 = Control_g + shift control keycode 41 = Control_g + altgr control keycode 41 = Control_g + shift altgr control keycode 41 = Control_g + alt keycode 41 = Meta_apostrophe + shift alt keycode 41 = Meta_quotedbl + altgr alt keycode 41 = Meta_apostrophe + shift altgr alt keycode 41 = Meta_quotedbl + control alt keycode 41 = Meta_Control_g + shift control alt keycode 41 = Meta_Control_g + altgr control alt keycode 41 = Meta_Control_g + shift altgr control alt keycode 41 = Meta_Control_g + shift shiftl keycode 41 = quotedbl + altgr shiftl keycode 41 = notsign + shift altgr shiftl keycode 41 = notsign + control shiftl keycode 41 = Control_g + shift control shiftl keycode 41 = Control_g + altgr control shiftl keycode 41 = Control_g + shift altgr control shiftl keycode 41 = Control_g + alt shiftl keycode 41 = Meta_apostrophe + shift alt shiftl keycode 41 = Meta_quotedbl + altgr alt shiftl keycode 41 = Meta_apostrophe + shift altgr alt shiftl keycode 41 = Meta_quotedbl + control alt shiftl keycode 41 = Meta_Control_g + shift control alt shiftl keycode 41 = Meta_Control_g + altgr control alt shiftl keycode 41 = Meta_Control_g + shift altgr control alt shiftl keycode 41 = Meta_Control_g + shift shiftr keycode 41 = quotedbl + altgr shiftr keycode 41 = notsign + shift altgr shiftr keycode 41 = notsign + control shiftr keycode 41 = Control_g + shift control shiftr keycode 41 = Control_g + altgr control shiftr keycode 41 = Control_g + shift altgr control shiftr keycode 41 = Control_g + alt shiftr keycode 41 = Meta_apostrophe + shift alt shiftr keycode 41 = Meta_quotedbl + altgr alt shiftr keycode 41 = Meta_apostrophe + shift altgr alt shiftr keycode 41 = Meta_quotedbl + control alt shiftr keycode 41 = Meta_Control_g + shift control alt shiftr keycode 41 = Meta_Control_g + altgr control alt shiftr keycode 41 = Meta_Control_g + shift altgr control alt shiftr keycode 41 = Meta_Control_g + shift shiftl shiftr keycode 41 = quotedbl + altgr shiftl shiftr keycode 41 = notsign + shift altgr shiftl shiftr keycode 41 = notsign + control shiftl shiftr keycode 41 = Control_g + shift control shiftl shiftr keycode 41 = Control_g + altgr control shiftl shiftr keycode 41 = Control_g + shift altgr control shiftl shiftr keycode 41 = Control_g + alt shiftl shiftr keycode 41 = Meta_apostrophe + shift alt shiftl shiftr keycode 41 = Meta_quotedbl + altgr alt shiftl shiftr keycode 41 = Meta_apostrophe + shift altgr alt shiftl shiftr keycode 41 = Meta_quotedbl + control alt shiftl shiftr keycode 41 = Meta_Control_g + shift control alt shiftl shiftr keycode 41 = Meta_Control_g + altgr control alt shiftl shiftr keycode 41 = Meta_Control_g + shift altgr control alt shiftl shiftr keycode 41 = Meta_Control_g + shift ctrll keycode 41 = quotedbl + altgr ctrll keycode 41 = notsign + shift altgr ctrll keycode 41 = notsign + control ctrll keycode 41 = Control_g + shift control ctrll keycode 41 = Control_g + altgr control ctrll keycode 41 = Control_g + shift altgr control ctrll keycode 41 = Control_g + alt ctrll keycode 41 = Meta_apostrophe + shift alt ctrll keycode 41 = Meta_quotedbl + altgr alt ctrll keycode 41 = Meta_apostrophe + shift altgr alt ctrll keycode 41 = Meta_quotedbl + control alt ctrll keycode 41 = Meta_Control_g + shift control alt ctrll keycode 41 = Meta_Control_g + altgr control alt ctrll keycode 41 = Meta_Control_g + shift altgr control alt ctrll keycode 41 = Meta_Control_g + shift shiftl ctrll keycode 41 = quotedbl + altgr shiftl ctrll keycode 41 = notsign + shift altgr shiftl ctrll keycode 41 = notsign + control shiftl ctrll keycode 41 = Control_g + shift control shiftl ctrll keycode 41 = Control_g + altgr control shiftl ctrll keycode 41 = Control_g + shift altgr control shiftl ctrll keycode 41 = Control_g + alt shiftl ctrll keycode 41 = Meta_apostrophe + shift alt shiftl ctrll keycode 41 = Meta_quotedbl + altgr alt shiftl ctrll keycode 41 = Meta_apostrophe + shift altgr alt shiftl ctrll keycode 41 = Meta_quotedbl + control alt shiftl ctrll keycode 41 = Meta_Control_g + shift control alt shiftl ctrll keycode 41 = Meta_Control_g + altgr control alt shiftl ctrll keycode 41 = Meta_Control_g + shift altgr control alt shiftl ctrll keycode 41 = Meta_Control_g + shift shiftr ctrll keycode 41 = quotedbl + altgr shiftr ctrll keycode 41 = notsign + shift altgr shiftr ctrll keycode 41 = notsign + control shiftr ctrll keycode 41 = Control_g + shift control shiftr ctrll keycode 41 = Control_g + altgr control shiftr ctrll keycode 41 = Control_g + shift altgr control shiftr ctrll keycode 41 = Control_g + alt shiftr ctrll keycode 41 = Meta_apostrophe + shift alt shiftr ctrll keycode 41 = Meta_quotedbl + altgr alt shiftr ctrll keycode 41 = Meta_apostrophe + shift altgr alt shiftr ctrll keycode 41 = Meta_quotedbl + control alt shiftr ctrll keycode 41 = Meta_Control_g + shift control alt shiftr ctrll keycode 41 = Meta_Control_g + altgr control alt shiftr ctrll keycode 41 = Meta_Control_g + shift altgr control alt shiftr ctrll keycode 41 = Meta_Control_g + shift shiftl shiftr ctrll keycode 41 = quotedbl + altgr shiftl shiftr ctrll keycode 41 = notsign + shift altgr shiftl shiftr ctrll keycode 41 = notsign + control shiftl shiftr ctrll keycode 41 = Control_g + shift control shiftl shiftr ctrll keycode 41 = Control_g + altgr control shiftl shiftr ctrll keycode 41 = Control_g + shift altgr control shiftl shiftr ctrll keycode 41 = Control_g + alt shiftl shiftr ctrll keycode 41 = Meta_apostrophe + shift alt shiftl shiftr ctrll keycode 41 = Meta_quotedbl + altgr alt shiftl shiftr ctrll keycode 41 = Meta_apostrophe + shift altgr alt shiftl shiftr ctrll keycode 41 = Meta_quotedbl + control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g + shift control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g + altgr control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g + shift altgr control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g +keycode 42 = Shift +keycode 43 = bracketright + shift keycode 43 = braceright + altgr keycode 43 = +masculine + shift altgr keycode 43 = +masculine + control keycode 43 = Control_bracketright + shift control keycode 43 = Control_bracketright + altgr control keycode 43 = Control_bracketright + shift altgr control keycode 43 = Control_bracketright + alt keycode 43 = Meta_bracketright + shift alt keycode 43 = Meta_braceright + altgr alt keycode 43 = Meta_bracketright + shift altgr alt keycode 43 = Meta_braceright + control alt keycode 43 = Meta_Control_bracketright + shift control alt keycode 43 = Meta_Control_bracketright + altgr control alt keycode 43 = Meta_Control_bracketright + shift altgr control alt keycode 43 = Meta_Control_bracketright + shift shiftl keycode 43 = braceright + altgr shiftl keycode 43 = +masculine + shift altgr shiftl keycode 43 = +masculine + control shiftl keycode 43 = Control_bracketright + shift control shiftl keycode 43 = Control_bracketright + altgr control shiftl keycode 43 = Control_bracketright + shift altgr control shiftl keycode 43 = Control_bracketright + alt shiftl keycode 43 = Meta_bracketright + shift alt shiftl keycode 43 = Meta_braceright + altgr alt shiftl keycode 43 = Meta_bracketright + shift altgr alt shiftl keycode 43 = Meta_braceright + control alt shiftl keycode 43 = Meta_Control_bracketright + shift control alt shiftl keycode 43 = Meta_Control_bracketright + altgr control alt shiftl keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl keycode 43 = Meta_Control_bracketright + shift shiftr keycode 43 = braceright + altgr shiftr keycode 43 = +masculine + shift altgr shiftr keycode 43 = +masculine + control shiftr keycode 43 = Control_bracketright + shift control shiftr keycode 43 = Control_bracketright + altgr control shiftr keycode 43 = Control_bracketright + shift altgr control shiftr keycode 43 = Control_bracketright + alt shiftr keycode 43 = Meta_bracketright + shift alt shiftr keycode 43 = Meta_braceright + altgr alt shiftr keycode 43 = Meta_bracketright + shift altgr alt shiftr keycode 43 = Meta_braceright + control alt shiftr keycode 43 = Meta_Control_bracketright + shift control alt shiftr keycode 43 = Meta_Control_bracketright + altgr control alt shiftr keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftr keycode 43 = Meta_Control_bracketright + shift shiftl shiftr keycode 43 = braceright + altgr shiftl shiftr keycode 43 = +masculine + shift altgr shiftl shiftr keycode 43 = +masculine + control shiftl shiftr keycode 43 = Control_bracketright + shift control shiftl shiftr keycode 43 = Control_bracketright + altgr control shiftl shiftr keycode 43 = Control_bracketright + shift altgr control shiftl shiftr keycode 43 = Control_bracketright + alt shiftl shiftr keycode 43 = Meta_bracketright + shift alt shiftl shiftr keycode 43 = Meta_braceright + altgr alt shiftl shiftr keycode 43 = Meta_bracketright + shift altgr alt shiftl shiftr keycode 43 = Meta_braceright + control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + shift control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + altgr control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + shift ctrll keycode 43 = braceright + altgr ctrll keycode 43 = +masculine + shift altgr ctrll keycode 43 = +masculine + control ctrll keycode 43 = Control_bracketright + shift control ctrll keycode 43 = Control_bracketright + altgr control ctrll keycode 43 = Control_bracketright + shift altgr control ctrll keycode 43 = Control_bracketright + alt ctrll keycode 43 = Meta_bracketright + shift alt ctrll keycode 43 = Meta_braceright + altgr alt ctrll keycode 43 = Meta_bracketright + shift altgr alt ctrll keycode 43 = Meta_braceright + control alt ctrll keycode 43 = Meta_Control_bracketright + shift control alt ctrll keycode 43 = Meta_Control_bracketright + altgr control alt ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt ctrll keycode 43 = Meta_Control_bracketright + shift shiftl ctrll keycode 43 = braceright + altgr shiftl ctrll keycode 43 = +masculine + shift altgr shiftl ctrll keycode 43 = +masculine + control shiftl ctrll keycode 43 = Control_bracketright + shift control shiftl ctrll keycode 43 = Control_bracketright + altgr control shiftl ctrll keycode 43 = Control_bracketright + shift altgr control shiftl ctrll keycode 43 = Control_bracketright + alt shiftl ctrll keycode 43 = Meta_bracketright + shift alt shiftl ctrll keycode 43 = Meta_braceright + altgr alt shiftl ctrll keycode 43 = Meta_bracketright + shift altgr alt shiftl ctrll keycode 43 = Meta_braceright + control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + shift control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + altgr control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + shift shiftr ctrll keycode 43 = braceright + altgr shiftr ctrll keycode 43 = +masculine + shift altgr shiftr ctrll keycode 43 = +masculine + control shiftr ctrll keycode 43 = Control_bracketright + shift control shiftr ctrll keycode 43 = Control_bracketright + altgr control shiftr ctrll keycode 43 = Control_bracketright + shift altgr control shiftr ctrll keycode 43 = Control_bracketright + alt shiftr ctrll keycode 43 = Meta_bracketright + shift alt shiftr ctrll keycode 43 = Meta_braceright + altgr alt shiftr ctrll keycode 43 = Meta_bracketright + shift altgr alt shiftr ctrll keycode 43 = Meta_braceright + control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + shift control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + altgr control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + shift shiftl shiftr ctrll keycode 43 = braceright + altgr shiftl shiftr ctrll keycode 43 = +masculine + shift altgr shiftl shiftr ctrll keycode 43 = +masculine + control shiftl shiftr ctrll keycode 43 = Control_bracketright + shift control shiftl shiftr ctrll keycode 43 = Control_bracketright + altgr control shiftl shiftr ctrll keycode 43 = Control_bracketright + shift altgr control shiftl shiftr ctrll keycode 43 = Control_bracketright + alt shiftl shiftr ctrll keycode 43 = Meta_bracketright + shift alt shiftl shiftr ctrll keycode 43 = Meta_braceright + altgr alt shiftl shiftr ctrll keycode 43 = Meta_bracketright + shift altgr alt shiftl shiftr ctrll keycode 43 = Meta_braceright + control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright + shift control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright + altgr control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright +keycode 44 = +z + shift keycode 44 = +Z + altgr keycode 44 = guillemotleft + shift altgr keycode 44 = less + control keycode 44 = Control_z + shift control keycode 44 = Control_z + altgr control keycode 44 = Control_z + shift altgr control keycode 44 = Control_z + alt keycode 44 = Meta_z + shift alt keycode 44 = Meta_Z + altgr alt keycode 44 = Meta_z + shift altgr alt keycode 44 = Meta_less + control alt keycode 44 = Meta_Control_z + shift control alt keycode 44 = Meta_Control_z + altgr control alt keycode 44 = Meta_Control_z + shift altgr control alt keycode 44 = Meta_Control_z + shift shiftl keycode 44 = +Z + altgr shiftl keycode 44 = guillemotleft + shift altgr shiftl keycode 44 = less + control shiftl keycode 44 = Control_z + shift control shiftl keycode 44 = Control_z + altgr control shiftl keycode 44 = Control_z + shift altgr control shiftl keycode 44 = Control_z + alt shiftl keycode 44 = Meta_z + shift alt shiftl keycode 44 = Meta_Z + altgr alt shiftl keycode 44 = Meta_z + shift altgr alt shiftl keycode 44 = Meta_less + control alt shiftl keycode 44 = Meta_Control_z + shift control alt shiftl keycode 44 = Meta_Control_z + altgr control alt shiftl keycode 44 = Meta_Control_z + shift altgr control alt shiftl keycode 44 = Meta_Control_z + shift shiftr keycode 44 = +Z + altgr shiftr keycode 44 = guillemotleft + shift altgr shiftr keycode 44 = less + control shiftr keycode 44 = Control_z + shift control shiftr keycode 44 = Control_z + altgr control shiftr keycode 44 = Control_z + shift altgr control shiftr keycode 44 = Control_z + alt shiftr keycode 44 = Meta_z + shift alt shiftr keycode 44 = Meta_Z + altgr alt shiftr keycode 44 = Meta_z + shift altgr alt shiftr keycode 44 = Meta_less + control alt shiftr keycode 44 = Meta_Control_z + shift control alt shiftr keycode 44 = Meta_Control_z + altgr control alt shiftr keycode 44 = Meta_Control_z + shift altgr control alt shiftr keycode 44 = Meta_Control_z + shift shiftl shiftr keycode 44 = +Z + altgr shiftl shiftr keycode 44 = guillemotleft + shift altgr shiftl shiftr keycode 44 = less + control shiftl shiftr keycode 44 = Control_z + shift control shiftl shiftr keycode 44 = Control_z + altgr control shiftl shiftr keycode 44 = Control_z + shift altgr control shiftl shiftr keycode 44 = Control_z + alt shiftl shiftr keycode 44 = Meta_z + shift alt shiftl shiftr keycode 44 = Meta_Z + altgr alt shiftl shiftr keycode 44 = Meta_z + shift altgr alt shiftl shiftr keycode 44 = Meta_less + control alt shiftl shiftr keycode 44 = Meta_Control_z + shift control alt shiftl shiftr keycode 44 = Meta_Control_z + altgr control alt shiftl shiftr keycode 44 = Meta_Control_z + shift altgr control alt shiftl shiftr keycode 44 = Meta_Control_z + ctrll keycode 44 = +Z + altgr ctrll keycode 44 = guillemotleft + shift altgr ctrll keycode 44 = less + control ctrll keycode 44 = Control_z + shift control ctrll keycode 44 = Control_z + altgr control ctrll keycode 44 = Control_z + shift altgr control ctrll keycode 44 = Control_z + alt ctrll keycode 44 = Meta_z + shift alt ctrll keycode 44 = Meta_Z + altgr alt ctrll keycode 44 = Meta_z + shift altgr alt ctrll keycode 44 = Meta_less + control alt ctrll keycode 44 = Meta_Control_z + shift control alt ctrll keycode 44 = Meta_Control_z + altgr control alt ctrll keycode 44 = Meta_Control_z + shift altgr control alt ctrll keycode 44 = Meta_Control_z + shiftl ctrll keycode 44 = +Z + altgr shiftl ctrll keycode 44 = guillemotleft + shift altgr shiftl ctrll keycode 44 = less + control shiftl ctrll keycode 44 = Control_z + shift control shiftl ctrll keycode 44 = Control_z + altgr control shiftl ctrll keycode 44 = Control_z + shift altgr control shiftl ctrll keycode 44 = Control_z + alt shiftl ctrll keycode 44 = Meta_z + shift alt shiftl ctrll keycode 44 = Meta_Z + altgr alt shiftl ctrll keycode 44 = Meta_z + shift altgr alt shiftl ctrll keycode 44 = Meta_less + control alt shiftl ctrll keycode 44 = Meta_Control_z + shift control alt shiftl ctrll keycode 44 = Meta_Control_z + altgr control alt shiftl ctrll keycode 44 = Meta_Control_z + shift altgr control alt shiftl ctrll keycode 44 = Meta_Control_z + shiftr ctrll keycode 44 = +Z + altgr shiftr ctrll keycode 44 = guillemotleft + shift altgr shiftr ctrll keycode 44 = less + control shiftr ctrll keycode 44 = Control_z + shift control shiftr ctrll keycode 44 = Control_z + altgr control shiftr ctrll keycode 44 = Control_z + shift altgr control shiftr ctrll keycode 44 = Control_z + alt shiftr ctrll keycode 44 = Meta_z + shift alt shiftr ctrll keycode 44 = Meta_Z + altgr alt shiftr ctrll keycode 44 = Meta_z + shift altgr alt shiftr ctrll keycode 44 = Meta_less + control alt shiftr ctrll keycode 44 = Meta_Control_z + shift control alt shiftr ctrll keycode 44 = Meta_Control_z + altgr control alt shiftr ctrll keycode 44 = Meta_Control_z + shift altgr control alt shiftr ctrll keycode 44 = Meta_Control_z + shiftl shiftr ctrll keycode 44 = +Z + altgr shiftl shiftr ctrll keycode 44 = guillemotleft + shift altgr shiftl shiftr ctrll keycode 44 = less + control shiftl shiftr ctrll keycode 44 = Control_z + shift control shiftl shiftr ctrll keycode 44 = Control_z + altgr control shiftl shiftr ctrll keycode 44 = Control_z + shift altgr control shiftl shiftr ctrll keycode 44 = Control_z + alt shiftl shiftr ctrll keycode 44 = Meta_z + shift alt shiftl shiftr ctrll keycode 44 = Meta_Z + altgr alt shiftl shiftr ctrll keycode 44 = Meta_z + shift altgr alt shiftl shiftr ctrll keycode 44 = Meta_less + control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z + shift control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z + altgr control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z + shift altgr control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z +keycode 45 = +x + shift keycode 45 = +X + altgr keycode 45 = guillemotright + shift altgr keycode 45 = greater + control keycode 45 = Control_x + shift control keycode 45 = Control_x + altgr control keycode 45 = Control_x + shift altgr control keycode 45 = Control_x + alt keycode 45 = Meta_x + shift alt keycode 45 = Meta_X + altgr alt keycode 45 = Meta_x + shift altgr alt keycode 45 = Meta_greater + control alt keycode 45 = Meta_Control_x + shift control alt keycode 45 = Meta_Control_x + altgr control alt keycode 45 = Meta_Control_x + shift altgr control alt keycode 45 = Meta_Control_x + shift shiftl keycode 45 = +X + altgr shiftl keycode 45 = guillemotright + shift altgr shiftl keycode 45 = greater + control shiftl keycode 45 = Control_x + shift control shiftl keycode 45 = Control_x + altgr control shiftl keycode 45 = Control_x + shift altgr control shiftl keycode 45 = Control_x + alt shiftl keycode 45 = Meta_x + shift alt shiftl keycode 45 = Meta_X + altgr alt shiftl keycode 45 = Meta_x + shift altgr alt shiftl keycode 45 = Meta_greater + control alt shiftl keycode 45 = Meta_Control_x + shift control alt shiftl keycode 45 = Meta_Control_x + altgr control alt shiftl keycode 45 = Meta_Control_x + shift altgr control alt shiftl keycode 45 = Meta_Control_x + shift shiftr keycode 45 = +X + altgr shiftr keycode 45 = guillemotright + shift altgr shiftr keycode 45 = greater + control shiftr keycode 45 = Control_x + shift control shiftr keycode 45 = Control_x + altgr control shiftr keycode 45 = Control_x + shift altgr control shiftr keycode 45 = Control_x + alt shiftr keycode 45 = Meta_x + shift alt shiftr keycode 45 = Meta_X + altgr alt shiftr keycode 45 = Meta_x + shift altgr alt shiftr keycode 45 = Meta_greater + control alt shiftr keycode 45 = Meta_Control_x + shift control alt shiftr keycode 45 = Meta_Control_x + altgr control alt shiftr keycode 45 = Meta_Control_x + shift altgr control alt shiftr keycode 45 = Meta_Control_x + shift shiftl shiftr keycode 45 = +X + altgr shiftl shiftr keycode 45 = guillemotright + shift altgr shiftl shiftr keycode 45 = greater + control shiftl shiftr keycode 45 = Control_x + shift control shiftl shiftr keycode 45 = Control_x + altgr control shiftl shiftr keycode 45 = Control_x + shift altgr control shiftl shiftr keycode 45 = Control_x + alt shiftl shiftr keycode 45 = Meta_x + shift alt shiftl shiftr keycode 45 = Meta_X + altgr alt shiftl shiftr keycode 45 = Meta_x + shift altgr alt shiftl shiftr keycode 45 = Meta_greater + control alt shiftl shiftr keycode 45 = Meta_Control_x + shift control alt shiftl shiftr keycode 45 = Meta_Control_x + altgr control alt shiftl shiftr keycode 45 = Meta_Control_x + shift altgr control alt shiftl shiftr keycode 45 = Meta_Control_x + ctrll keycode 45 = +X + altgr ctrll keycode 45 = guillemotright + shift altgr ctrll keycode 45 = greater + control ctrll keycode 45 = Control_x + shift control ctrll keycode 45 = Control_x + altgr control ctrll keycode 45 = Control_x + shift altgr control ctrll keycode 45 = Control_x + alt ctrll keycode 45 = Meta_x + shift alt ctrll keycode 45 = Meta_X + altgr alt ctrll keycode 45 = Meta_x + shift altgr alt ctrll keycode 45 = Meta_greater + control alt ctrll keycode 45 = Meta_Control_x + shift control alt ctrll keycode 45 = Meta_Control_x + altgr control alt ctrll keycode 45 = Meta_Control_x + shift altgr control alt ctrll keycode 45 = Meta_Control_x + shiftl ctrll keycode 45 = +X + altgr shiftl ctrll keycode 45 = guillemotright + shift altgr shiftl ctrll keycode 45 = greater + control shiftl ctrll keycode 45 = Control_x + shift control shiftl ctrll keycode 45 = Control_x + altgr control shiftl ctrll keycode 45 = Control_x + shift altgr control shiftl ctrll keycode 45 = Control_x + alt shiftl ctrll keycode 45 = Meta_x + shift alt shiftl ctrll keycode 45 = Meta_X + altgr alt shiftl ctrll keycode 45 = Meta_x + shift altgr alt shiftl ctrll keycode 45 = Meta_greater + control alt shiftl ctrll keycode 45 = Meta_Control_x + shift control alt shiftl ctrll keycode 45 = Meta_Control_x + altgr control alt shiftl ctrll keycode 45 = Meta_Control_x + shift altgr control alt shiftl ctrll keycode 45 = Meta_Control_x + shiftr ctrll keycode 45 = +X + altgr shiftr ctrll keycode 45 = guillemotright + shift altgr shiftr ctrll keycode 45 = greater + control shiftr ctrll keycode 45 = Control_x + shift control shiftr ctrll keycode 45 = Control_x + altgr control shiftr ctrll keycode 45 = Control_x + shift altgr control shiftr ctrll keycode 45 = Control_x + alt shiftr ctrll keycode 45 = Meta_x + shift alt shiftr ctrll keycode 45 = Meta_X + altgr alt shiftr ctrll keycode 45 = Meta_x + shift altgr alt shiftr ctrll keycode 45 = Meta_greater + control alt shiftr ctrll keycode 45 = Meta_Control_x + shift control alt shiftr ctrll keycode 45 = Meta_Control_x + altgr control alt shiftr ctrll keycode 45 = Meta_Control_x + shift altgr control alt shiftr ctrll keycode 45 = Meta_Control_x + shiftl shiftr ctrll keycode 45 = +X + altgr shiftl shiftr ctrll keycode 45 = guillemotright + shift altgr shiftl shiftr ctrll keycode 45 = greater + control shiftl shiftr ctrll keycode 45 = Control_x + shift control shiftl shiftr ctrll keycode 45 = Control_x + altgr control shiftl shiftr ctrll keycode 45 = Control_x + shift altgr control shiftl shiftr ctrll keycode 45 = Control_x + alt shiftl shiftr ctrll keycode 45 = Meta_x + shift alt shiftl shiftr ctrll keycode 45 = Meta_X + altgr alt shiftl shiftr ctrll keycode 45 = Meta_x + shift altgr alt shiftl shiftr ctrll keycode 45 = Meta_greater + control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x + shift control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x + altgr control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x + shift altgr control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x +keycode 46 = +c + shift keycode 46 = +C + altgr keycode 46 = copyright + shift altgr keycode 46 = copyright + control keycode 46 = Control_c + shift control keycode 46 = Control_c + altgr control keycode 46 = Control_c + shift altgr control keycode 46 = Control_c + alt keycode 46 = Meta_c + shift alt keycode 46 = Meta_C + altgr alt keycode 46 = Meta_c + shift altgr alt keycode 46 = Meta_C + control alt keycode 46 = Meta_Control_c + shift control alt keycode 46 = Meta_Control_c + altgr control alt keycode 46 = Meta_Control_c + shift altgr control alt keycode 46 = Meta_Control_c + shift shiftl keycode 46 = +C + altgr shiftl keycode 46 = copyright + shift altgr shiftl keycode 46 = copyright + control shiftl keycode 46 = Control_c + shift control shiftl keycode 46 = Control_c + altgr control shiftl keycode 46 = Control_c + shift altgr control shiftl keycode 46 = Control_c + alt shiftl keycode 46 = Meta_c + shift alt shiftl keycode 46 = Meta_C + altgr alt shiftl keycode 46 = Meta_c + shift altgr alt shiftl keycode 46 = Meta_C + control alt shiftl keycode 46 = Meta_Control_c + shift control alt shiftl keycode 46 = Meta_Control_c + altgr control alt shiftl keycode 46 = Meta_Control_c + shift altgr control alt shiftl keycode 46 = Meta_Control_c + shift shiftr keycode 46 = +C + altgr shiftr keycode 46 = copyright + shift altgr shiftr keycode 46 = copyright + control shiftr keycode 46 = Control_c + shift control shiftr keycode 46 = Control_c + altgr control shiftr keycode 46 = Control_c + shift altgr control shiftr keycode 46 = Control_c + alt shiftr keycode 46 = Meta_c + shift alt shiftr keycode 46 = Meta_C + altgr alt shiftr keycode 46 = Meta_c + shift altgr alt shiftr keycode 46 = Meta_C + control alt shiftr keycode 46 = Meta_Control_c + shift control alt shiftr keycode 46 = Meta_Control_c + altgr control alt shiftr keycode 46 = Meta_Control_c + shift altgr control alt shiftr keycode 46 = Meta_Control_c + shift shiftl shiftr keycode 46 = +C + altgr shiftl shiftr keycode 46 = copyright + shift altgr shiftl shiftr keycode 46 = copyright + control shiftl shiftr keycode 46 = Control_c + shift control shiftl shiftr keycode 46 = Control_c + altgr control shiftl shiftr keycode 46 = Control_c + shift altgr control shiftl shiftr keycode 46 = Control_c + alt shiftl shiftr keycode 46 = Meta_c + shift alt shiftl shiftr keycode 46 = Meta_C + altgr alt shiftl shiftr keycode 46 = Meta_c + shift altgr alt shiftl shiftr keycode 46 = Meta_C + control alt shiftl shiftr keycode 46 = Meta_Control_c + shift control alt shiftl shiftr keycode 46 = Meta_Control_c + altgr control alt shiftl shiftr keycode 46 = Meta_Control_c + shift altgr control alt shiftl shiftr keycode 46 = Meta_Control_c + ctrll keycode 46 = +C + altgr ctrll keycode 46 = copyright + shift altgr ctrll keycode 46 = copyright + control ctrll keycode 46 = Control_c + shift control ctrll keycode 46 = Control_c + altgr control ctrll keycode 46 = Control_c + shift altgr control ctrll keycode 46 = Control_c + alt ctrll keycode 46 = Meta_c + shift alt ctrll keycode 46 = Meta_C + altgr alt ctrll keycode 46 = Meta_c + shift altgr alt ctrll keycode 46 = Meta_C + control alt ctrll keycode 46 = Meta_Control_c + shift control alt ctrll keycode 46 = Meta_Control_c + altgr control alt ctrll keycode 46 = Meta_Control_c + shift altgr control alt ctrll keycode 46 = Meta_Control_c + shiftl ctrll keycode 46 = +C + altgr shiftl ctrll keycode 46 = copyright + shift altgr shiftl ctrll keycode 46 = copyright + control shiftl ctrll keycode 46 = Control_c + shift control shiftl ctrll keycode 46 = Control_c + altgr control shiftl ctrll keycode 46 = Control_c + shift altgr control shiftl ctrll keycode 46 = Control_c + alt shiftl ctrll keycode 46 = Meta_c + shift alt shiftl ctrll keycode 46 = Meta_C + altgr alt shiftl ctrll keycode 46 = Meta_c + shift altgr alt shiftl ctrll keycode 46 = Meta_C + control alt shiftl ctrll keycode 46 = Meta_Control_c + shift control alt shiftl ctrll keycode 46 = Meta_Control_c + altgr control alt shiftl ctrll keycode 46 = Meta_Control_c + shift altgr control alt shiftl ctrll keycode 46 = Meta_Control_c + shiftr ctrll keycode 46 = +C + altgr shiftr ctrll keycode 46 = copyright + shift altgr shiftr ctrll keycode 46 = copyright + control shiftr ctrll keycode 46 = Control_c + shift control shiftr ctrll keycode 46 = Control_c + altgr control shiftr ctrll keycode 46 = Control_c + shift altgr control shiftr ctrll keycode 46 = Control_c + alt shiftr ctrll keycode 46 = Meta_c + shift alt shiftr ctrll keycode 46 = Meta_C + altgr alt shiftr ctrll keycode 46 = Meta_c + shift altgr alt shiftr ctrll keycode 46 = Meta_C + control alt shiftr ctrll keycode 46 = Meta_Control_c + shift control alt shiftr ctrll keycode 46 = Meta_Control_c + altgr control alt shiftr ctrll keycode 46 = Meta_Control_c + shift altgr control alt shiftr ctrll keycode 46 = Meta_Control_c + shiftl shiftr ctrll keycode 46 = +C + altgr shiftl shiftr ctrll keycode 46 = copyright + shift altgr shiftl shiftr ctrll keycode 46 = copyright + control shiftl shiftr ctrll keycode 46 = Control_c + shift control shiftl shiftr ctrll keycode 46 = Control_c + altgr control shiftl shiftr ctrll keycode 46 = Control_c + shift altgr control shiftl shiftr ctrll keycode 46 = Control_c + alt shiftl shiftr ctrll keycode 46 = Meta_c + shift alt shiftl shiftr ctrll keycode 46 = Meta_C + altgr alt shiftl shiftr ctrll keycode 46 = Meta_c + shift altgr alt shiftl shiftr ctrll keycode 46 = Meta_C + control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c + shift control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c + altgr control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c + shift altgr control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c +keycode 47 = +v + shift keycode 47 = +V + altgr keycode 47 = U+201c + shift altgr keycode 47 = U+2018 + control keycode 47 = Control_v + shift control keycode 47 = Control_v + altgr control keycode 47 = Control_v + shift altgr control keycode 47 = Control_v + alt keycode 47 = Meta_v + shift alt keycode 47 = Meta_V + altgr alt keycode 47 = Meta_v + shift altgr alt keycode 47 = Meta_V + control alt keycode 47 = Meta_Control_v + shift control alt keycode 47 = Meta_Control_v + altgr control alt keycode 47 = Meta_Control_v + shift altgr control alt keycode 47 = Meta_Control_v + shift shiftl keycode 47 = +V + altgr shiftl keycode 47 = U+201c + shift altgr shiftl keycode 47 = U+2018 + control shiftl keycode 47 = Control_v + shift control shiftl keycode 47 = Control_v + altgr control shiftl keycode 47 = Control_v + shift altgr control shiftl keycode 47 = Control_v + alt shiftl keycode 47 = Meta_v + shift alt shiftl keycode 47 = Meta_V + altgr alt shiftl keycode 47 = Meta_v + shift altgr alt shiftl keycode 47 = Meta_V + control alt shiftl keycode 47 = Meta_Control_v + shift control alt shiftl keycode 47 = Meta_Control_v + altgr control alt shiftl keycode 47 = Meta_Control_v + shift altgr control alt shiftl keycode 47 = Meta_Control_v + shift shiftr keycode 47 = +V + altgr shiftr keycode 47 = U+201c + shift altgr shiftr keycode 47 = U+2018 + control shiftr keycode 47 = Control_v + shift control shiftr keycode 47 = Control_v + altgr control shiftr keycode 47 = Control_v + shift altgr control shiftr keycode 47 = Control_v + alt shiftr keycode 47 = Meta_v + shift alt shiftr keycode 47 = Meta_V + altgr alt shiftr keycode 47 = Meta_v + shift altgr alt shiftr keycode 47 = Meta_V + control alt shiftr keycode 47 = Meta_Control_v + shift control alt shiftr keycode 47 = Meta_Control_v + altgr control alt shiftr keycode 47 = Meta_Control_v + shift altgr control alt shiftr keycode 47 = Meta_Control_v + shift shiftl shiftr keycode 47 = +V + altgr shiftl shiftr keycode 47 = U+201c + shift altgr shiftl shiftr keycode 47 = U+2018 + control shiftl shiftr keycode 47 = Control_v + shift control shiftl shiftr keycode 47 = Control_v + altgr control shiftl shiftr keycode 47 = Control_v + shift altgr control shiftl shiftr keycode 47 = Control_v + alt shiftl shiftr keycode 47 = Meta_v + shift alt shiftl shiftr keycode 47 = Meta_V + altgr alt shiftl shiftr keycode 47 = Meta_v + shift altgr alt shiftl shiftr keycode 47 = Meta_V + control alt shiftl shiftr keycode 47 = Meta_Control_v + shift control alt shiftl shiftr keycode 47 = Meta_Control_v + altgr control alt shiftl shiftr keycode 47 = Meta_Control_v + shift altgr control alt shiftl shiftr keycode 47 = Meta_Control_v + ctrll keycode 47 = +V + altgr ctrll keycode 47 = U+201c + shift altgr ctrll keycode 47 = U+2018 + control ctrll keycode 47 = Control_v + shift control ctrll keycode 47 = Control_v + altgr control ctrll keycode 47 = Control_v + shift altgr control ctrll keycode 47 = Control_v + alt ctrll keycode 47 = Meta_v + shift alt ctrll keycode 47 = Meta_V + altgr alt ctrll keycode 47 = Meta_v + shift altgr alt ctrll keycode 47 = Meta_V + control alt ctrll keycode 47 = Meta_Control_v + shift control alt ctrll keycode 47 = Meta_Control_v + altgr control alt ctrll keycode 47 = Meta_Control_v + shift altgr control alt ctrll keycode 47 = Meta_Control_v + shiftl ctrll keycode 47 = +V + altgr shiftl ctrll keycode 47 = U+201c + shift altgr shiftl ctrll keycode 47 = U+2018 + control shiftl ctrll keycode 47 = Control_v + shift control shiftl ctrll keycode 47 = Control_v + altgr control shiftl ctrll keycode 47 = Control_v + shift altgr control shiftl ctrll keycode 47 = Control_v + alt shiftl ctrll keycode 47 = Meta_v + shift alt shiftl ctrll keycode 47 = Meta_V + altgr alt shiftl ctrll keycode 47 = Meta_v + shift altgr alt shiftl ctrll keycode 47 = Meta_V + control alt shiftl ctrll keycode 47 = Meta_Control_v + shift control alt shiftl ctrll keycode 47 = Meta_Control_v + altgr control alt shiftl ctrll keycode 47 = Meta_Control_v + shift altgr control alt shiftl ctrll keycode 47 = Meta_Control_v + shiftr ctrll keycode 47 = +V + altgr shiftr ctrll keycode 47 = U+201c + shift altgr shiftr ctrll keycode 47 = U+2018 + control shiftr ctrll keycode 47 = Control_v + shift control shiftr ctrll keycode 47 = Control_v + altgr control shiftr ctrll keycode 47 = Control_v + shift altgr control shiftr ctrll keycode 47 = Control_v + alt shiftr ctrll keycode 47 = Meta_v + shift alt shiftr ctrll keycode 47 = Meta_V + altgr alt shiftr ctrll keycode 47 = Meta_v + shift altgr alt shiftr ctrll keycode 47 = Meta_V + control alt shiftr ctrll keycode 47 = Meta_Control_v + shift control alt shiftr ctrll keycode 47 = Meta_Control_v + altgr control alt shiftr ctrll keycode 47 = Meta_Control_v + shift altgr control alt shiftr ctrll keycode 47 = Meta_Control_v + shiftl shiftr ctrll keycode 47 = +V + altgr shiftl shiftr ctrll keycode 47 = U+201c + shift altgr shiftl shiftr ctrll keycode 47 = U+2018 + control shiftl shiftr ctrll keycode 47 = Control_v + shift control shiftl shiftr ctrll keycode 47 = Control_v + altgr control shiftl shiftr ctrll keycode 47 = Control_v + shift altgr control shiftl shiftr ctrll keycode 47 = Control_v + alt shiftl shiftr ctrll keycode 47 = Meta_v + shift alt shiftl shiftr ctrll keycode 47 = Meta_V + altgr alt shiftl shiftr ctrll keycode 47 = Meta_v + shift altgr alt shiftl shiftr ctrll keycode 47 = Meta_V + control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v + shift control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v + altgr control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v + shift altgr control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v +keycode 48 = +b + shift keycode 48 = +B + altgr keycode 48 = U+201d + shift altgr keycode 48 = U+2019 + control keycode 48 = Control_b + shift control keycode 48 = Control_b + altgr control keycode 48 = Control_b + shift altgr control keycode 48 = Control_b + alt keycode 48 = Meta_b + shift alt keycode 48 = Meta_B + altgr alt keycode 48 = Meta_b + shift altgr alt keycode 48 = Meta_B + control alt keycode 48 = Meta_Control_b + shift control alt keycode 48 = Meta_Control_b + altgr control alt keycode 48 = Meta_Control_b + shift altgr control alt keycode 48 = Meta_Control_b + shift shiftl keycode 48 = +B + altgr shiftl keycode 48 = U+201d + shift altgr shiftl keycode 48 = U+2019 + control shiftl keycode 48 = Control_b + shift control shiftl keycode 48 = Control_b + altgr control shiftl keycode 48 = Control_b + shift altgr control shiftl keycode 48 = Control_b + alt shiftl keycode 48 = Meta_b + shift alt shiftl keycode 48 = Meta_B + altgr alt shiftl keycode 48 = Meta_b + shift altgr alt shiftl keycode 48 = Meta_B + control alt shiftl keycode 48 = Meta_Control_b + shift control alt shiftl keycode 48 = Meta_Control_b + altgr control alt shiftl keycode 48 = Meta_Control_b + shift altgr control alt shiftl keycode 48 = Meta_Control_b + shift shiftr keycode 48 = +B + altgr shiftr keycode 48 = U+201d + shift altgr shiftr keycode 48 = U+2019 + control shiftr keycode 48 = Control_b + shift control shiftr keycode 48 = Control_b + altgr control shiftr keycode 48 = Control_b + shift altgr control shiftr keycode 48 = Control_b + alt shiftr keycode 48 = Meta_b + shift alt shiftr keycode 48 = Meta_B + altgr alt shiftr keycode 48 = Meta_b + shift altgr alt shiftr keycode 48 = Meta_B + control alt shiftr keycode 48 = Meta_Control_b + shift control alt shiftr keycode 48 = Meta_Control_b + altgr control alt shiftr keycode 48 = Meta_Control_b + shift altgr control alt shiftr keycode 48 = Meta_Control_b + shift shiftl shiftr keycode 48 = +B + altgr shiftl shiftr keycode 48 = U+201d + shift altgr shiftl shiftr keycode 48 = U+2019 + control shiftl shiftr keycode 48 = Control_b + shift control shiftl shiftr keycode 48 = Control_b + altgr control shiftl shiftr keycode 48 = Control_b + shift altgr control shiftl shiftr keycode 48 = Control_b + alt shiftl shiftr keycode 48 = Meta_b + shift alt shiftl shiftr keycode 48 = Meta_B + altgr alt shiftl shiftr keycode 48 = Meta_b + shift altgr alt shiftl shiftr keycode 48 = Meta_B + control alt shiftl shiftr keycode 48 = Meta_Control_b + shift control alt shiftl shiftr keycode 48 = Meta_Control_b + altgr control alt shiftl shiftr keycode 48 = Meta_Control_b + shift altgr control alt shiftl shiftr keycode 48 = Meta_Control_b + ctrll keycode 48 = +B + altgr ctrll keycode 48 = U+201d + shift altgr ctrll keycode 48 = U+2019 + control ctrll keycode 48 = Control_b + shift control ctrll keycode 48 = Control_b + altgr control ctrll keycode 48 = Control_b + shift altgr control ctrll keycode 48 = Control_b + alt ctrll keycode 48 = Meta_b + shift alt ctrll keycode 48 = Meta_B + altgr alt ctrll keycode 48 = Meta_b + shift altgr alt ctrll keycode 48 = Meta_B + control alt ctrll keycode 48 = Meta_Control_b + shift control alt ctrll keycode 48 = Meta_Control_b + altgr control alt ctrll keycode 48 = Meta_Control_b + shift altgr control alt ctrll keycode 48 = Meta_Control_b + shiftl ctrll keycode 48 = +B + altgr shiftl ctrll keycode 48 = U+201d + shift altgr shiftl ctrll keycode 48 = U+2019 + control shiftl ctrll keycode 48 = Control_b + shift control shiftl ctrll keycode 48 = Control_b + altgr control shiftl ctrll keycode 48 = Control_b + shift altgr control shiftl ctrll keycode 48 = Control_b + alt shiftl ctrll keycode 48 = Meta_b + shift alt shiftl ctrll keycode 48 = Meta_B + altgr alt shiftl ctrll keycode 48 = Meta_b + shift altgr alt shiftl ctrll keycode 48 = Meta_B + control alt shiftl ctrll keycode 48 = Meta_Control_b + shift control alt shiftl ctrll keycode 48 = Meta_Control_b + altgr control alt shiftl ctrll keycode 48 = Meta_Control_b + shift altgr control alt shiftl ctrll keycode 48 = Meta_Control_b + shiftr ctrll keycode 48 = +B + altgr shiftr ctrll keycode 48 = U+201d + shift altgr shiftr ctrll keycode 48 = U+2019 + control shiftr ctrll keycode 48 = Control_b + shift control shiftr ctrll keycode 48 = Control_b + altgr control shiftr ctrll keycode 48 = Control_b + shift altgr control shiftr ctrll keycode 48 = Control_b + alt shiftr ctrll keycode 48 = Meta_b + shift alt shiftr ctrll keycode 48 = Meta_B + altgr alt shiftr ctrll keycode 48 = Meta_b + shift altgr alt shiftr ctrll keycode 48 = Meta_B + control alt shiftr ctrll keycode 48 = Meta_Control_b + shift control alt shiftr ctrll keycode 48 = Meta_Control_b + altgr control alt shiftr ctrll keycode 48 = Meta_Control_b + shift altgr control alt shiftr ctrll keycode 48 = Meta_Control_b + shiftl shiftr ctrll keycode 48 = +B + altgr shiftl shiftr ctrll keycode 48 = U+201d + shift altgr shiftl shiftr ctrll keycode 48 = U+2019 + control shiftl shiftr ctrll keycode 48 = Control_b + shift control shiftl shiftr ctrll keycode 48 = Control_b + altgr control shiftl shiftr ctrll keycode 48 = Control_b + shift altgr control shiftl shiftr ctrll keycode 48 = Control_b + alt shiftl shiftr ctrll keycode 48 = Meta_b + shift alt shiftl shiftr ctrll keycode 48 = Meta_B + altgr alt shiftl shiftr ctrll keycode 48 = Meta_b + shift altgr alt shiftl shiftr ctrll keycode 48 = Meta_B + control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b + shift control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b + altgr control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b + shift altgr control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b +keycode 49 = +n + shift keycode 49 = +N + shift altgr keycode 49 = +N + control keycode 49 = Control_n + shift control keycode 49 = Control_n + altgr control keycode 49 = Control_n + shift altgr control keycode 49 = Control_n + alt keycode 49 = Meta_n + shift alt keycode 49 = Meta_N + altgr alt keycode 49 = Meta_n + shift altgr alt keycode 49 = Meta_N + control alt keycode 49 = Meta_Control_n + shift control alt keycode 49 = Meta_Control_n + altgr control alt keycode 49 = Meta_Control_n + shift altgr control alt keycode 49 = Meta_Control_n + shift shiftl keycode 49 = +N + shift altgr shiftl keycode 49 = +N + control shiftl keycode 49 = Control_n + shift control shiftl keycode 49 = Control_n + altgr control shiftl keycode 49 = Control_n + shift altgr control shiftl keycode 49 = Control_n + alt shiftl keycode 49 = Meta_n + shift alt shiftl keycode 49 = Meta_N + altgr alt shiftl keycode 49 = Meta_n + shift altgr alt shiftl keycode 49 = Meta_N + control alt shiftl keycode 49 = Meta_Control_n + shift control alt shiftl keycode 49 = Meta_Control_n + altgr control alt shiftl keycode 49 = Meta_Control_n + shift altgr control alt shiftl keycode 49 = Meta_Control_n + shift shiftr keycode 49 = +N + shift altgr shiftr keycode 49 = +N + control shiftr keycode 49 = Control_n + shift control shiftr keycode 49 = Control_n + altgr control shiftr keycode 49 = Control_n + shift altgr control shiftr keycode 49 = Control_n + alt shiftr keycode 49 = Meta_n + shift alt shiftr keycode 49 = Meta_N + altgr alt shiftr keycode 49 = Meta_n + shift altgr alt shiftr keycode 49 = Meta_N + control alt shiftr keycode 49 = Meta_Control_n + shift control alt shiftr keycode 49 = Meta_Control_n + altgr control alt shiftr keycode 49 = Meta_Control_n + shift altgr control alt shiftr keycode 49 = Meta_Control_n + shift shiftl shiftr keycode 49 = +N + shift altgr shiftl shiftr keycode 49 = +N + control shiftl shiftr keycode 49 = Control_n + shift control shiftl shiftr keycode 49 = Control_n + altgr control shiftl shiftr keycode 49 = Control_n + shift altgr control shiftl shiftr keycode 49 = Control_n + alt shiftl shiftr keycode 49 = Meta_n + shift alt shiftl shiftr keycode 49 = Meta_N + altgr alt shiftl shiftr keycode 49 = Meta_n + shift altgr alt shiftl shiftr keycode 49 = Meta_N + control alt shiftl shiftr keycode 49 = Meta_Control_n + shift control alt shiftl shiftr keycode 49 = Meta_Control_n + altgr control alt shiftl shiftr keycode 49 = Meta_Control_n + shift altgr control alt shiftl shiftr keycode 49 = Meta_Control_n + ctrll keycode 49 = +N + altgr ctrll keycode 49 = +N + control ctrll keycode 49 = Control_n + shift control ctrll keycode 49 = Control_n + altgr control ctrll keycode 49 = Control_n + shift altgr control ctrll keycode 49 = Control_n + alt ctrll keycode 49 = Meta_n + shift alt ctrll keycode 49 = Meta_N + altgr alt ctrll keycode 49 = Meta_n + shift altgr alt ctrll keycode 49 = Meta_N + control alt ctrll keycode 49 = Meta_Control_n + shift control alt ctrll keycode 49 = Meta_Control_n + altgr control alt ctrll keycode 49 = Meta_Control_n + shift altgr control alt ctrll keycode 49 = Meta_Control_n + shiftl ctrll keycode 49 = +N + altgr shiftl ctrll keycode 49 = +N + control shiftl ctrll keycode 49 = Control_n + shift control shiftl ctrll keycode 49 = Control_n + altgr control shiftl ctrll keycode 49 = Control_n + shift altgr control shiftl ctrll keycode 49 = Control_n + alt shiftl ctrll keycode 49 = Meta_n + shift alt shiftl ctrll keycode 49 = Meta_N + altgr alt shiftl ctrll keycode 49 = Meta_n + shift altgr alt shiftl ctrll keycode 49 = Meta_N + control alt shiftl ctrll keycode 49 = Meta_Control_n + shift control alt shiftl ctrll keycode 49 = Meta_Control_n + altgr control alt shiftl ctrll keycode 49 = Meta_Control_n + shift altgr control alt shiftl ctrll keycode 49 = Meta_Control_n + shiftr ctrll keycode 49 = +N + altgr shiftr ctrll keycode 49 = +N + control shiftr ctrll keycode 49 = Control_n + shift control shiftr ctrll keycode 49 = Control_n + altgr control shiftr ctrll keycode 49 = Control_n + shift altgr control shiftr ctrll keycode 49 = Control_n + alt shiftr ctrll keycode 49 = Meta_n + shift alt shiftr ctrll keycode 49 = Meta_N + altgr alt shiftr ctrll keycode 49 = Meta_n + shift altgr alt shiftr ctrll keycode 49 = Meta_N + control alt shiftr ctrll keycode 49 = Meta_Control_n + shift control alt shiftr ctrll keycode 49 = Meta_Control_n + altgr control alt shiftr ctrll keycode 49 = Meta_Control_n + shift altgr control alt shiftr ctrll keycode 49 = Meta_Control_n + shiftl shiftr ctrll keycode 49 = +N + altgr shiftl shiftr ctrll keycode 49 = +N + control shiftl shiftr ctrll keycode 49 = Control_n + shift control shiftl shiftr ctrll keycode 49 = Control_n + altgr control shiftl shiftr ctrll keycode 49 = Control_n + shift altgr control shiftl shiftr ctrll keycode 49 = Control_n + alt shiftl shiftr ctrll keycode 49 = Meta_n + shift alt shiftl shiftr ctrll keycode 49 = Meta_N + altgr alt shiftl shiftr ctrll keycode 49 = Meta_n + shift altgr alt shiftl shiftr ctrll keycode 49 = Meta_N + control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n + shift control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n + altgr control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n + shift altgr control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n +keycode 50 = +m + shift keycode 50 = +M + altgr keycode 50 = +mu + shift altgr keycode 50 = +mu + control keycode 50 = Control_m + shift control keycode 50 = Control_m + altgr control keycode 50 = Control_m + shift altgr control keycode 50 = Control_m + alt keycode 50 = Meta_m + shift alt keycode 50 = Meta_M + altgr alt keycode 50 = Meta_m + shift altgr alt keycode 50 = Meta_M + control alt keycode 50 = Meta_Control_m + shift control alt keycode 50 = Meta_Control_m + altgr control alt keycode 50 = Meta_Control_m + shift altgr control alt keycode 50 = Meta_Control_m + shift shiftl keycode 50 = +M + altgr shiftl keycode 50 = +mu + shift altgr shiftl keycode 50 = +mu + control shiftl keycode 50 = Control_m + shift control shiftl keycode 50 = Control_m + altgr control shiftl keycode 50 = Control_m + shift altgr control shiftl keycode 50 = Control_m + alt shiftl keycode 50 = Meta_m + shift alt shiftl keycode 50 = Meta_M + altgr alt shiftl keycode 50 = Meta_m + shift altgr alt shiftl keycode 50 = Meta_M + control alt shiftl keycode 50 = Meta_Control_m + shift control alt shiftl keycode 50 = Meta_Control_m + altgr control alt shiftl keycode 50 = Meta_Control_m + shift altgr control alt shiftl keycode 50 = Meta_Control_m + shift shiftr keycode 50 = +M + altgr shiftr keycode 50 = +mu + shift altgr shiftr keycode 50 = +mu + control shiftr keycode 50 = Control_m + shift control shiftr keycode 50 = Control_m + altgr control shiftr keycode 50 = Control_m + shift altgr control shiftr keycode 50 = Control_m + alt shiftr keycode 50 = Meta_m + shift alt shiftr keycode 50 = Meta_M + altgr alt shiftr keycode 50 = Meta_m + shift altgr alt shiftr keycode 50 = Meta_M + control alt shiftr keycode 50 = Meta_Control_m + shift control alt shiftr keycode 50 = Meta_Control_m + altgr control alt shiftr keycode 50 = Meta_Control_m + shift altgr control alt shiftr keycode 50 = Meta_Control_m + shift shiftl shiftr keycode 50 = +M + altgr shiftl shiftr keycode 50 = +mu + shift altgr shiftl shiftr keycode 50 = +mu + control shiftl shiftr keycode 50 = Control_m + shift control shiftl shiftr keycode 50 = Control_m + altgr control shiftl shiftr keycode 50 = Control_m + shift altgr control shiftl shiftr keycode 50 = Control_m + alt shiftl shiftr keycode 50 = Meta_m + shift alt shiftl shiftr keycode 50 = Meta_M + altgr alt shiftl shiftr keycode 50 = Meta_m + shift altgr alt shiftl shiftr keycode 50 = Meta_M + control alt shiftl shiftr keycode 50 = Meta_Control_m + shift control alt shiftl shiftr keycode 50 = Meta_Control_m + altgr control alt shiftl shiftr keycode 50 = Meta_Control_m + shift altgr control alt shiftl shiftr keycode 50 = Meta_Control_m + ctrll keycode 50 = +M + altgr ctrll keycode 50 = Mu + shift altgr ctrll keycode 50 = Mu + control ctrll keycode 50 = Control_m + shift control ctrll keycode 50 = Control_m + altgr control ctrll keycode 50 = Control_m + shift altgr control ctrll keycode 50 = Control_m + alt ctrll keycode 50 = Meta_m + shift alt ctrll keycode 50 = Meta_M + altgr alt ctrll keycode 50 = Meta_m + shift altgr alt ctrll keycode 50 = Meta_M + control alt ctrll keycode 50 = Meta_Control_m + shift control alt ctrll keycode 50 = Meta_Control_m + altgr control alt ctrll keycode 50 = Meta_Control_m + shift altgr control alt ctrll keycode 50 = Meta_Control_m + shiftl ctrll keycode 50 = +M + altgr shiftl ctrll keycode 50 = Mu + shift altgr shiftl ctrll keycode 50 = Mu + control shiftl ctrll keycode 50 = Control_m + shift control shiftl ctrll keycode 50 = Control_m + altgr control shiftl ctrll keycode 50 = Control_m + shift altgr control shiftl ctrll keycode 50 = Control_m + alt shiftl ctrll keycode 50 = Meta_m + shift alt shiftl ctrll keycode 50 = Meta_M + altgr alt shiftl ctrll keycode 50 = Meta_m + shift altgr alt shiftl ctrll keycode 50 = Meta_M + control alt shiftl ctrll keycode 50 = Meta_Control_m + shift control alt shiftl ctrll keycode 50 = Meta_Control_m + altgr control alt shiftl ctrll keycode 50 = Meta_Control_m + shift altgr control alt shiftl ctrll keycode 50 = Meta_Control_m + shiftr ctrll keycode 50 = +M + altgr shiftr ctrll keycode 50 = Mu + shift altgr shiftr ctrll keycode 50 = Mu + control shiftr ctrll keycode 50 = Control_m + shift control shiftr ctrll keycode 50 = Control_m + altgr control shiftr ctrll keycode 50 = Control_m + shift altgr control shiftr ctrll keycode 50 = Control_m + alt shiftr ctrll keycode 50 = Meta_m + shift alt shiftr ctrll keycode 50 = Meta_M + altgr alt shiftr ctrll keycode 50 = Meta_m + shift altgr alt shiftr ctrll keycode 50 = Meta_M + control alt shiftr ctrll keycode 50 = Meta_Control_m + shift control alt shiftr ctrll keycode 50 = Meta_Control_m + altgr control alt shiftr ctrll keycode 50 = Meta_Control_m + shift altgr control alt shiftr ctrll keycode 50 = Meta_Control_m + shiftl shiftr ctrll keycode 50 = +M + altgr shiftl shiftr ctrll keycode 50 = Mu + shift altgr shiftl shiftr ctrll keycode 50 = Mu + control shiftl shiftr ctrll keycode 50 = Control_m + shift control shiftl shiftr ctrll keycode 50 = Control_m + altgr control shiftl shiftr ctrll keycode 50 = Control_m + shift altgr control shiftl shiftr ctrll keycode 50 = Control_m + alt shiftl shiftr ctrll keycode 50 = Meta_m + shift alt shiftl shiftr ctrll keycode 50 = Meta_M + altgr alt shiftl shiftr ctrll keycode 50 = Meta_m + shift altgr alt shiftl shiftr ctrll keycode 50 = Meta_M + control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m + shift control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m + altgr control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m + shift altgr control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m +keycode 51 = comma less U+2500 multiply + alt keycode 51 = Meta_comma + shift alt keycode 51 = Meta_less + altgr alt keycode 51 = Meta_comma + shift altgr alt keycode 51 = Meta_less + shiftl keycode 51 = comma + shift shiftl keycode 51 = less + altgr shiftl keycode 51 = U+2500 + shift altgr shiftl keycode 51 = multiply + alt shiftl keycode 51 = Meta_comma + shift alt shiftl keycode 51 = Meta_less + altgr alt shiftl keycode 51 = Meta_comma + shift altgr alt shiftl keycode 51 = Meta_less + shiftr keycode 51 = comma + shift shiftr keycode 51 = less + altgr shiftr keycode 51 = U+2500 + shift altgr shiftr keycode 51 = multiply + alt shiftr keycode 51 = Meta_comma + shift alt shiftr keycode 51 = Meta_less + altgr alt shiftr keycode 51 = Meta_comma + shift altgr alt shiftr keycode 51 = Meta_less + shiftl shiftr keycode 51 = comma + shift shiftl shiftr keycode 51 = less + altgr shiftl shiftr keycode 51 = U+2500 + shift altgr shiftl shiftr keycode 51 = multiply + alt shiftl shiftr keycode 51 = Meta_comma + shift alt shiftl shiftr keycode 51 = Meta_less + altgr alt shiftl shiftr keycode 51 = Meta_comma + shift altgr alt shiftl shiftr keycode 51 = Meta_less + ctrll keycode 51 = comma + shift ctrll keycode 51 = less + altgr ctrll keycode 51 = U+2500 + shift altgr ctrll keycode 51 = multiply + alt ctrll keycode 51 = Meta_comma + shift alt ctrll keycode 51 = Meta_less + altgr alt ctrll keycode 51 = Meta_comma + shift altgr alt ctrll keycode 51 = Meta_less + shiftl ctrll keycode 51 = comma + shift shiftl ctrll keycode 51 = less + altgr shiftl ctrll keycode 51 = U+2500 + shift altgr shiftl ctrll keycode 51 = multiply + alt shiftl ctrll keycode 51 = Meta_comma + shift alt shiftl ctrll keycode 51 = Meta_less + altgr alt shiftl ctrll keycode 51 = Meta_comma + shift altgr alt shiftl ctrll keycode 51 = Meta_less + shiftr ctrll keycode 51 = comma + shift shiftr ctrll keycode 51 = less + altgr shiftr ctrll keycode 51 = U+2500 + shift altgr shiftr ctrll keycode 51 = multiply + alt shiftr ctrll keycode 51 = Meta_comma + shift alt shiftr ctrll keycode 51 = Meta_less + altgr alt shiftr ctrll keycode 51 = Meta_comma + shift altgr alt shiftr ctrll keycode 51 = Meta_less + shiftl shiftr ctrll keycode 51 = comma + shift shiftl shiftr ctrll keycode 51 = less + altgr shiftl shiftr ctrll keycode 51 = U+2500 + shift altgr shiftl shiftr ctrll keycode 51 = multiply + alt shiftl shiftr ctrll keycode 51 = Meta_comma + shift alt shiftl shiftr ctrll keycode 51 = Meta_less + altgr alt shiftl shiftr ctrll keycode 51 = Meta_comma + shift altgr alt shiftl shiftr ctrll keycode 51 = Meta_less +keycode 52 = period + shift keycode 52 = greater + altgr keycode 52 = periodcentered + shift altgr keycode 52 = division + control keycode 52 = Compose + shift control keycode 52 = Compose + altgr control keycode 52 = Compose + shift altgr control keycode 52 = Compose + alt keycode 52 = Meta_period + shift alt keycode 52 = Meta_greater + altgr alt keycode 52 = Meta_period + shift altgr alt keycode 52 = Meta_greater + control alt keycode 52 = Compose + shift control alt keycode 52 = Compose + altgr control alt keycode 52 = Compose + shift altgr control alt keycode 52 = Compose + shift shiftl keycode 52 = greater + altgr shiftl keycode 52 = periodcentered + shift altgr shiftl keycode 52 = division + control shiftl keycode 52 = Compose + shift control shiftl keycode 52 = Compose + altgr control shiftl keycode 52 = Compose + shift altgr control shiftl keycode 52 = Compose + alt shiftl keycode 52 = Meta_period + shift alt shiftl keycode 52 = Meta_greater + altgr alt shiftl keycode 52 = Meta_period + shift altgr alt shiftl keycode 52 = Meta_greater + control alt shiftl keycode 52 = Compose + shift control alt shiftl keycode 52 = Compose + altgr control alt shiftl keycode 52 = Compose + shift altgr control alt shiftl keycode 52 = Compose + shift shiftr keycode 52 = greater + altgr shiftr keycode 52 = periodcentered + shift altgr shiftr keycode 52 = division + control shiftr keycode 52 = Compose + shift control shiftr keycode 52 = Compose + altgr control shiftr keycode 52 = Compose + shift altgr control shiftr keycode 52 = Compose + alt shiftr keycode 52 = Meta_period + shift alt shiftr keycode 52 = Meta_greater + altgr alt shiftr keycode 52 = Meta_period + shift altgr alt shiftr keycode 52 = Meta_greater + control alt shiftr keycode 52 = Compose + shift control alt shiftr keycode 52 = Compose + altgr control alt shiftr keycode 52 = Compose + shift altgr control alt shiftr keycode 52 = Compose + shift shiftl shiftr keycode 52 = greater + altgr shiftl shiftr keycode 52 = periodcentered + shift altgr shiftl shiftr keycode 52 = division + control shiftl shiftr keycode 52 = Compose + shift control shiftl shiftr keycode 52 = Compose + altgr control shiftl shiftr keycode 52 = Compose + shift altgr control shiftl shiftr keycode 52 = Compose + alt shiftl shiftr keycode 52 = Meta_period + shift alt shiftl shiftr keycode 52 = Meta_greater + altgr alt shiftl shiftr keycode 52 = Meta_period + shift altgr alt shiftl shiftr keycode 52 = Meta_greater + control alt shiftl shiftr keycode 52 = Compose + shift control alt shiftl shiftr keycode 52 = Compose + altgr control alt shiftl shiftr keycode 52 = Compose + shift altgr control alt shiftl shiftr keycode 52 = Compose + shift ctrll keycode 52 = greater + altgr ctrll keycode 52 = periodcentered + shift altgr ctrll keycode 52 = division + control ctrll keycode 52 = Compose + shift control ctrll keycode 52 = Compose + altgr control ctrll keycode 52 = Compose + shift altgr control ctrll keycode 52 = Compose + alt ctrll keycode 52 = Meta_period + shift alt ctrll keycode 52 = Meta_greater + altgr alt ctrll keycode 52 = Meta_period + shift altgr alt ctrll keycode 52 = Meta_greater + control alt ctrll keycode 52 = Compose + shift control alt ctrll keycode 52 = Compose + altgr control alt ctrll keycode 52 = Compose + shift altgr control alt ctrll keycode 52 = Compose + shift shiftl ctrll keycode 52 = greater + altgr shiftl ctrll keycode 52 = periodcentered + shift altgr shiftl ctrll keycode 52 = division + control shiftl ctrll keycode 52 = Compose + shift control shiftl ctrll keycode 52 = Compose + altgr control shiftl ctrll keycode 52 = Compose + shift altgr control shiftl ctrll keycode 52 = Compose + alt shiftl ctrll keycode 52 = Meta_period + shift alt shiftl ctrll keycode 52 = Meta_greater + altgr alt shiftl ctrll keycode 52 = Meta_period + shift altgr alt shiftl ctrll keycode 52 = Meta_greater + control alt shiftl ctrll keycode 52 = Compose + shift control alt shiftl ctrll keycode 52 = Compose + altgr control alt shiftl ctrll keycode 52 = Compose + shift altgr control alt shiftl ctrll keycode 52 = Compose + shift shiftr ctrll keycode 52 = greater + altgr shiftr ctrll keycode 52 = periodcentered + shift altgr shiftr ctrll keycode 52 = division + control shiftr ctrll keycode 52 = Compose + shift control shiftr ctrll keycode 52 = Compose + altgr control shiftr ctrll keycode 52 = Compose + shift altgr control shiftr ctrll keycode 52 = Compose + alt shiftr ctrll keycode 52 = Meta_period + shift alt shiftr ctrll keycode 52 = Meta_greater + altgr alt shiftr ctrll keycode 52 = Meta_period + shift altgr alt shiftr ctrll keycode 52 = Meta_greater + control alt shiftr ctrll keycode 52 = Compose + shift control alt shiftr ctrll keycode 52 = Compose + altgr control alt shiftr ctrll keycode 52 = Compose + shift altgr control alt shiftr ctrll keycode 52 = Compose + shift shiftl shiftr ctrll keycode 52 = greater + altgr shiftl shiftr ctrll keycode 52 = periodcentered + shift altgr shiftl shiftr ctrll keycode 52 = division + control shiftl shiftr ctrll keycode 52 = Compose + shift control shiftl shiftr ctrll keycode 52 = Compose + altgr control shiftl shiftr ctrll keycode 52 = Compose + shift altgr control shiftl shiftr ctrll keycode 52 = Compose + alt shiftl shiftr ctrll keycode 52 = Meta_period + shift alt shiftl shiftr ctrll keycode 52 = Meta_greater + altgr alt shiftl shiftr ctrll keycode 52 = Meta_period + shift altgr alt shiftl shiftr ctrll keycode 52 = Meta_greater + control alt shiftl shiftr ctrll keycode 52 = Compose + shift control alt shiftl shiftr ctrll keycode 52 = Compose + altgr control alt shiftl shiftr ctrll keycode 52 = Compose + shift altgr control alt shiftl shiftr ctrll keycode 52 = Compose +keycode 53 = semicolon + shift keycode 53 = colon + altgr keycode 53 = U+0323 + shift altgr keycode 53 = period + control keycode 53 = Compose + shift control keycode 53 = Compose + altgr control keycode 53 = Compose + shift altgr control keycode 53 = Compose + alt keycode 53 = Meta_semicolon + shift alt keycode 53 = Meta_colon + altgr alt keycode 53 = Meta_semicolon + shift altgr alt keycode 53 = Meta_period + control alt keycode 53 = Compose + shift control alt keycode 53 = Compose + altgr control alt keycode 53 = Compose + shift altgr control alt keycode 53 = Compose + shift shiftl keycode 53 = colon + altgr shiftl keycode 53 = U+0323 + shift altgr shiftl keycode 53 = period + control shiftl keycode 53 = Compose + shift control shiftl keycode 53 = Compose + altgr control shiftl keycode 53 = Compose + shift altgr control shiftl keycode 53 = Compose + alt shiftl keycode 53 = Meta_semicolon + shift alt shiftl keycode 53 = Meta_colon + altgr alt shiftl keycode 53 = Meta_semicolon + shift altgr alt shiftl keycode 53 = Meta_period + control alt shiftl keycode 53 = Compose + shift control alt shiftl keycode 53 = Compose + altgr control alt shiftl keycode 53 = Compose + shift altgr control alt shiftl keycode 53 = Compose + shift shiftr keycode 53 = colon + altgr shiftr keycode 53 = U+0323 + shift altgr shiftr keycode 53 = period + control shiftr keycode 53 = Compose + shift control shiftr keycode 53 = Compose + altgr control shiftr keycode 53 = Compose + shift altgr control shiftr keycode 53 = Compose + alt shiftr keycode 53 = Meta_semicolon + shift alt shiftr keycode 53 = Meta_colon + altgr alt shiftr keycode 53 = Meta_semicolon + shift altgr alt shiftr keycode 53 = Meta_period + control alt shiftr keycode 53 = Compose + shift control alt shiftr keycode 53 = Compose + altgr control alt shiftr keycode 53 = Compose + shift altgr control alt shiftr keycode 53 = Compose + shift shiftl shiftr keycode 53 = colon + altgr shiftl shiftr keycode 53 = U+0323 + shift altgr shiftl shiftr keycode 53 = period + control shiftl shiftr keycode 53 = Compose + shift control shiftl shiftr keycode 53 = Compose + altgr control shiftl shiftr keycode 53 = Compose + shift altgr control shiftl shiftr keycode 53 = Compose + alt shiftl shiftr keycode 53 = Meta_semicolon + shift alt shiftl shiftr keycode 53 = Meta_colon + altgr alt shiftl shiftr keycode 53 = Meta_semicolon + shift altgr alt shiftl shiftr keycode 53 = Meta_period + control alt shiftl shiftr keycode 53 = Compose + shift control alt shiftl shiftr keycode 53 = Compose + altgr control alt shiftl shiftr keycode 53 = Compose + shift altgr control alt shiftl shiftr keycode 53 = Compose + shift ctrll keycode 53 = colon + altgr ctrll keycode 53 = U+0323 + shift altgr ctrll keycode 53 = period + control ctrll keycode 53 = Compose + shift control ctrll keycode 53 = Compose + altgr control ctrll keycode 53 = Compose + shift altgr control ctrll keycode 53 = Compose + alt ctrll keycode 53 = Meta_semicolon + shift alt ctrll keycode 53 = Meta_colon + altgr alt ctrll keycode 53 = Meta_semicolon + shift altgr alt ctrll keycode 53 = Meta_period + control alt ctrll keycode 53 = Compose + shift control alt ctrll keycode 53 = Compose + altgr control alt ctrll keycode 53 = Compose + shift altgr control alt ctrll keycode 53 = Compose + shift shiftl ctrll keycode 53 = colon + altgr shiftl ctrll keycode 53 = U+0323 + shift altgr shiftl ctrll keycode 53 = period + control shiftl ctrll keycode 53 = Compose + shift control shiftl ctrll keycode 53 = Compose + altgr control shiftl ctrll keycode 53 = Compose + shift altgr control shiftl ctrll keycode 53 = Compose + alt shiftl ctrll keycode 53 = Meta_semicolon + shift alt shiftl ctrll keycode 53 = Meta_colon + altgr alt shiftl ctrll keycode 53 = Meta_semicolon + shift altgr alt shiftl ctrll keycode 53 = Meta_period + control alt shiftl ctrll keycode 53 = Compose + shift control alt shiftl ctrll keycode 53 = Compose + altgr control alt shiftl ctrll keycode 53 = Compose + shift altgr control alt shiftl ctrll keycode 53 = Compose + shift shiftr ctrll keycode 53 = colon + altgr shiftr ctrll keycode 53 = U+0323 + shift altgr shiftr ctrll keycode 53 = period + control shiftr ctrll keycode 53 = Compose + shift control shiftr ctrll keycode 53 = Compose + altgr control shiftr ctrll keycode 53 = Compose + shift altgr control shiftr ctrll keycode 53 = Compose + alt shiftr ctrll keycode 53 = Meta_semicolon + shift alt shiftr ctrll keycode 53 = Meta_colon + altgr alt shiftr ctrll keycode 53 = Meta_semicolon + shift altgr alt shiftr ctrll keycode 53 = Meta_period + control alt shiftr ctrll keycode 53 = Compose + shift control alt shiftr ctrll keycode 53 = Compose + altgr control alt shiftr ctrll keycode 53 = Compose + shift altgr control alt shiftr ctrll keycode 53 = Compose + shift shiftl shiftr ctrll keycode 53 = colon + altgr shiftl shiftr ctrll keycode 53 = U+0323 + shift altgr shiftl shiftr ctrll keycode 53 = period + control shiftl shiftr ctrll keycode 53 = Compose + shift control shiftl shiftr ctrll keycode 53 = Compose + altgr control shiftl shiftr ctrll keycode 53 = Compose + shift altgr control shiftl shiftr ctrll keycode 53 = Compose + alt shiftl shiftr ctrll keycode 53 = Meta_semicolon + shift alt shiftl shiftr ctrll keycode 53 = Meta_colon + altgr alt shiftl shiftr ctrll keycode 53 = Meta_semicolon + shift altgr alt shiftl shiftr ctrll keycode 53 = Meta_period + control alt shiftl shiftr ctrll keycode 53 = Compose + shift control alt shiftl shiftr ctrll keycode 53 = Compose + altgr control alt shiftl shiftr ctrll keycode 53 = Compose + shift altgr control alt shiftl shiftr ctrll keycode 53 = Compose +keycode 54 = Shift +keycode 55 = KP_Multiply + altgr keycode 55 = Hex_C + shift alt keycode 55 = Hex_C + altgr shiftl keycode 55 = Hex_C + shift alt shiftl keycode 55 = Hex_C + altgr shiftr keycode 55 = Hex_C + shift alt shiftr keycode 55 = Hex_C + altgr shiftl shiftr keycode 55 = Hex_C + shift alt shiftl shiftr keycode 55 = Hex_C + altgr ctrll keycode 55 = Hex_C + shift alt ctrll keycode 55 = Hex_C + altgr shiftl ctrll keycode 55 = Hex_C + shift alt shiftl ctrll keycode 55 = Hex_C + altgr shiftr ctrll keycode 55 = Hex_C + shift alt shiftr ctrll keycode 55 = Hex_C + altgr shiftl shiftr ctrll keycode 55 = Hex_C + shift alt shiftl shiftr ctrll keycode 55 = Hex_C +keycode 56 = Alt +keycode 57 = space + control keycode 57 = nul + shift control keycode 57 = nul + altgr control keycode 57 = nul + shift altgr control keycode 57 = nul + alt keycode 57 = Meta_space + shift alt keycode 57 = Meta_space + altgr alt keycode 57 = Meta_space + shift altgr alt keycode 57 = Meta_space + control alt keycode 57 = Meta_nul + shift control alt keycode 57 = Meta_nul + altgr control alt keycode 57 = Meta_nul + shift altgr control alt keycode 57 = Meta_nul + control shiftl keycode 57 = nul + shift control shiftl keycode 57 = nul + altgr control shiftl keycode 57 = nul + shift altgr control shiftl keycode 57 = nul + alt shiftl keycode 57 = Meta_space + shift alt shiftl keycode 57 = Meta_space + altgr alt shiftl keycode 57 = Meta_space + shift altgr alt shiftl keycode 57 = Meta_space + control alt shiftl keycode 57 = Meta_nul + shift control alt shiftl keycode 57 = Meta_nul + altgr control alt shiftl keycode 57 = Meta_nul + shift altgr control alt shiftl keycode 57 = Meta_nul + control shiftr keycode 57 = nul + shift control shiftr keycode 57 = nul + altgr control shiftr keycode 57 = nul + shift altgr control shiftr keycode 57 = nul + alt shiftr keycode 57 = Meta_space + shift alt shiftr keycode 57 = Meta_space + altgr alt shiftr keycode 57 = Meta_space + shift altgr alt shiftr keycode 57 = Meta_space + control alt shiftr keycode 57 = Meta_nul + shift control alt shiftr keycode 57 = Meta_nul + altgr control alt shiftr keycode 57 = Meta_nul + shift altgr control alt shiftr keycode 57 = Meta_nul + control shiftl shiftr keycode 57 = nul + shift control shiftl shiftr keycode 57 = nul + altgr control shiftl shiftr keycode 57 = nul + shift altgr control shiftl shiftr keycode 57 = nul + alt shiftl shiftr keycode 57 = Meta_space + shift alt shiftl shiftr keycode 57 = Meta_space + altgr alt shiftl shiftr keycode 57 = Meta_space + shift altgr alt shiftl shiftr keycode 57 = Meta_space + control alt shiftl shiftr keycode 57 = Meta_nul + shift control alt shiftl shiftr keycode 57 = Meta_nul + altgr control alt shiftl shiftr keycode 57 = Meta_nul + shift altgr control alt shiftl shiftr keycode 57 = Meta_nul + control ctrll keycode 57 = nul + shift control ctrll keycode 57 = nul + altgr control ctrll keycode 57 = nul + shift altgr control ctrll keycode 57 = nul + alt ctrll keycode 57 = Meta_space + shift alt ctrll keycode 57 = Meta_space + altgr alt ctrll keycode 57 = Meta_space + shift altgr alt ctrll keycode 57 = Meta_space + control alt ctrll keycode 57 = Meta_nul + shift control alt ctrll keycode 57 = Meta_nul + altgr control alt ctrll keycode 57 = Meta_nul + shift altgr control alt ctrll keycode 57 = Meta_nul + control shiftl ctrll keycode 57 = nul + shift control shiftl ctrll keycode 57 = nul + altgr control shiftl ctrll keycode 57 = nul + shift altgr control shiftl ctrll keycode 57 = nul + alt shiftl ctrll keycode 57 = Meta_space + shift alt shiftl ctrll keycode 57 = Meta_space + altgr alt shiftl ctrll keycode 57 = Meta_space + shift altgr alt shiftl ctrll keycode 57 = Meta_space + control alt shiftl ctrll keycode 57 = Meta_nul + shift control alt shiftl ctrll keycode 57 = Meta_nul + altgr control alt shiftl ctrll keycode 57 = Meta_nul + shift altgr control alt shiftl ctrll keycode 57 = Meta_nul + control shiftr ctrll keycode 57 = nul + shift control shiftr ctrll keycode 57 = nul + altgr control shiftr ctrll keycode 57 = nul + shift altgr control shiftr ctrll keycode 57 = nul + alt shiftr ctrll keycode 57 = Meta_space + shift alt shiftr ctrll keycode 57 = Meta_space + altgr alt shiftr ctrll keycode 57 = Meta_space + shift altgr alt shiftr ctrll keycode 57 = Meta_space + control alt shiftr ctrll keycode 57 = Meta_nul + shift control alt shiftr ctrll keycode 57 = Meta_nul + altgr control alt shiftr ctrll keycode 57 = Meta_nul + shift altgr control alt shiftr ctrll keycode 57 = Meta_nul + control shiftl shiftr ctrll keycode 57 = nul + shift control shiftl shiftr ctrll keycode 57 = nul + altgr control shiftl shiftr ctrll keycode 57 = nul + shift altgr control shiftl shiftr ctrll keycode 57 = nul + alt shiftl shiftr ctrll keycode 57 = Meta_space + shift alt shiftl shiftr ctrll keycode 57 = Meta_space + altgr alt shiftl shiftr ctrll keycode 57 = Meta_space + shift altgr alt shiftl shiftr ctrll keycode 57 = Meta_space + control alt shiftl shiftr ctrll keycode 57 = Meta_nul + shift control alt shiftl shiftr ctrll keycode 57 = Meta_nul + altgr control alt shiftl shiftr ctrll keycode 57 = Meta_nul + shift altgr control alt shiftl shiftr ctrll keycode 57 = Meta_nul +keycode 58 = CtrlL_Lock +keycode 59 = F1 + shift keycode 59 = F13 + altgr keycode 59 = Console_13 + shift altgr keycode 59 = Console_25 + control keycode 59 = F25 + shift control keycode 59 = F37 + altgr control keycode 59 = Console_13 + shift altgr control keycode 59 = Console_25 + alt keycode 59 = Console_1 + shift alt keycode 59 = Console_13 + control alt keycode 59 = Console_1 + shift control alt keycode 59 = Console_13 + shift shiftl keycode 59 = F13 + altgr shiftl keycode 59 = Console_13 + shift altgr shiftl keycode 59 = Console_25 + control shiftl keycode 59 = F25 + shift control shiftl keycode 59 = F37 + altgr control shiftl keycode 59 = Console_13 + shift altgr control shiftl keycode 59 = Console_25 + alt shiftl keycode 59 = Console_1 + shift alt shiftl keycode 59 = Console_13 + control alt shiftl keycode 59 = Console_1 + shift control alt shiftl keycode 59 = Console_13 + shift shiftr keycode 59 = F13 + altgr shiftr keycode 59 = Console_13 + shift altgr shiftr keycode 59 = Console_25 + control shiftr keycode 59 = F25 + shift control shiftr keycode 59 = F37 + altgr control shiftr keycode 59 = Console_13 + shift altgr control shiftr keycode 59 = Console_25 + alt shiftr keycode 59 = Console_1 + shift alt shiftr keycode 59 = Console_13 + control alt shiftr keycode 59 = Console_1 + shift control alt shiftr keycode 59 = Console_13 + shift shiftl shiftr keycode 59 = F13 + altgr shiftl shiftr keycode 59 = Console_13 + shift altgr shiftl shiftr keycode 59 = Console_25 + control shiftl shiftr keycode 59 = F25 + shift control shiftl shiftr keycode 59 = F37 + altgr control shiftl shiftr keycode 59 = Console_13 + shift altgr control shiftl shiftr keycode 59 = Console_25 + alt shiftl shiftr keycode 59 = Console_1 + shift alt shiftl shiftr keycode 59 = Console_13 + control alt shiftl shiftr keycode 59 = Console_1 + shift control alt shiftl shiftr keycode 59 = Console_13 + shift ctrll keycode 59 = F13 + altgr ctrll keycode 59 = Console_13 + shift altgr ctrll keycode 59 = Console_25 + control ctrll keycode 59 = F25 + shift control ctrll keycode 59 = F37 + altgr control ctrll keycode 59 = Console_13 + shift altgr control ctrll keycode 59 = Console_25 + alt ctrll keycode 59 = Console_1 + shift alt ctrll keycode 59 = Console_13 + control alt ctrll keycode 59 = Console_1 + shift control alt ctrll keycode 59 = Console_13 + shift shiftl ctrll keycode 59 = F13 + altgr shiftl ctrll keycode 59 = Console_13 + shift altgr shiftl ctrll keycode 59 = Console_25 + control shiftl ctrll keycode 59 = F25 + shift control shiftl ctrll keycode 59 = F37 + altgr control shiftl ctrll keycode 59 = Console_13 + shift altgr control shiftl ctrll keycode 59 = Console_25 + alt shiftl ctrll keycode 59 = Console_1 + shift alt shiftl ctrll keycode 59 = Console_13 + control alt shiftl ctrll keycode 59 = Console_1 + shift control alt shiftl ctrll keycode 59 = Console_13 + shift shiftr ctrll keycode 59 = F13 + altgr shiftr ctrll keycode 59 = Console_13 + shift altgr shiftr ctrll keycode 59 = Console_25 + control shiftr ctrll keycode 59 = F25 + shift control shiftr ctrll keycode 59 = F37 + altgr control shiftr ctrll keycode 59 = Console_13 + shift altgr control shiftr ctrll keycode 59 = Console_25 + alt shiftr ctrll keycode 59 = Console_1 + shift alt shiftr ctrll keycode 59 = Console_13 + control alt shiftr ctrll keycode 59 = Console_1 + shift control alt shiftr ctrll keycode 59 = Console_13 + shift shiftl shiftr ctrll keycode 59 = F13 + altgr shiftl shiftr ctrll keycode 59 = Console_13 + shift altgr shiftl shiftr ctrll keycode 59 = Console_25 + control shiftl shiftr ctrll keycode 59 = F25 + shift control shiftl shiftr ctrll keycode 59 = F37 + altgr control shiftl shiftr ctrll keycode 59 = Console_13 + shift altgr control shiftl shiftr ctrll keycode 59 = Console_25 + alt shiftl shiftr ctrll keycode 59 = Console_1 + shift alt shiftl shiftr ctrll keycode 59 = Console_13 + control alt shiftl shiftr ctrll keycode 59 = Console_1 + shift control alt shiftl shiftr ctrll keycode 59 = Console_13 +keycode 60 = F2 + shift keycode 60 = F14 + altgr keycode 60 = Console_14 + shift altgr keycode 60 = Console_26 + control keycode 60 = F26 + shift control keycode 60 = F38 + altgr control keycode 60 = Console_14 + shift altgr control keycode 60 = Console_26 + alt keycode 60 = Console_2 + shift alt keycode 60 = Console_14 + control alt keycode 60 = Console_2 + shift control alt keycode 60 = Console_14 + shift shiftl keycode 60 = F14 + altgr shiftl keycode 60 = Console_14 + shift altgr shiftl keycode 60 = Console_26 + control shiftl keycode 60 = F26 + shift control shiftl keycode 60 = F38 + altgr control shiftl keycode 60 = Console_14 + shift altgr control shiftl keycode 60 = Console_26 + alt shiftl keycode 60 = Console_2 + shift alt shiftl keycode 60 = Console_14 + control alt shiftl keycode 60 = Console_2 + shift control alt shiftl keycode 60 = Console_14 + shift shiftr keycode 60 = F14 + altgr shiftr keycode 60 = Console_14 + shift altgr shiftr keycode 60 = Console_26 + control shiftr keycode 60 = F26 + shift control shiftr keycode 60 = F38 + altgr control shiftr keycode 60 = Console_14 + shift altgr control shiftr keycode 60 = Console_26 + alt shiftr keycode 60 = Console_2 + shift alt shiftr keycode 60 = Console_14 + control alt shiftr keycode 60 = Console_2 + shift control alt shiftr keycode 60 = Console_14 + shift shiftl shiftr keycode 60 = F14 + altgr shiftl shiftr keycode 60 = Console_14 + shift altgr shiftl shiftr keycode 60 = Console_26 + control shiftl shiftr keycode 60 = F26 + shift control shiftl shiftr keycode 60 = F38 + altgr control shiftl shiftr keycode 60 = Console_14 + shift altgr control shiftl shiftr keycode 60 = Console_26 + alt shiftl shiftr keycode 60 = Console_2 + shift alt shiftl shiftr keycode 60 = Console_14 + control alt shiftl shiftr keycode 60 = Console_2 + shift control alt shiftl shiftr keycode 60 = Console_14 + shift ctrll keycode 60 = F14 + altgr ctrll keycode 60 = Console_14 + shift altgr ctrll keycode 60 = Console_26 + control ctrll keycode 60 = F26 + shift control ctrll keycode 60 = F38 + altgr control ctrll keycode 60 = Console_14 + shift altgr control ctrll keycode 60 = Console_26 + alt ctrll keycode 60 = Console_2 + shift alt ctrll keycode 60 = Console_14 + control alt ctrll keycode 60 = Console_2 + shift control alt ctrll keycode 60 = Console_14 + shift shiftl ctrll keycode 60 = F14 + altgr shiftl ctrll keycode 60 = Console_14 + shift altgr shiftl ctrll keycode 60 = Console_26 + control shiftl ctrll keycode 60 = F26 + shift control shiftl ctrll keycode 60 = F38 + altgr control shiftl ctrll keycode 60 = Console_14 + shift altgr control shiftl ctrll keycode 60 = Console_26 + alt shiftl ctrll keycode 60 = Console_2 + shift alt shiftl ctrll keycode 60 = Console_14 + control alt shiftl ctrll keycode 60 = Console_2 + shift control alt shiftl ctrll keycode 60 = Console_14 + shift shiftr ctrll keycode 60 = F14 + altgr shiftr ctrll keycode 60 = Console_14 + shift altgr shiftr ctrll keycode 60 = Console_26 + control shiftr ctrll keycode 60 = F26 + shift control shiftr ctrll keycode 60 = F38 + altgr control shiftr ctrll keycode 60 = Console_14 + shift altgr control shiftr ctrll keycode 60 = Console_26 + alt shiftr ctrll keycode 60 = Console_2 + shift alt shiftr ctrll keycode 60 = Console_14 + control alt shiftr ctrll keycode 60 = Console_2 + shift control alt shiftr ctrll keycode 60 = Console_14 + shift shiftl shiftr ctrll keycode 60 = F14 + altgr shiftl shiftr ctrll keycode 60 = Console_14 + shift altgr shiftl shiftr ctrll keycode 60 = Console_26 + control shiftl shiftr ctrll keycode 60 = F26 + shift control shiftl shiftr ctrll keycode 60 = F38 + altgr control shiftl shiftr ctrll keycode 60 = Console_14 + shift altgr control shiftl shiftr ctrll keycode 60 = Console_26 + alt shiftl shiftr ctrll keycode 60 = Console_2 + shift alt shiftl shiftr ctrll keycode 60 = Console_14 + control alt shiftl shiftr ctrll keycode 60 = Console_2 + shift control alt shiftl shiftr ctrll keycode 60 = Console_14 +keycode 61 = F3 + shift keycode 61 = F15 + altgr keycode 61 = Console_15 + shift altgr keycode 61 = Console_27 + control keycode 61 = F27 + shift control keycode 61 = F39 + altgr control keycode 61 = Console_15 + shift altgr control keycode 61 = Console_27 + alt keycode 61 = Console_3 + shift alt keycode 61 = Console_15 + control alt keycode 61 = Console_3 + shift control alt keycode 61 = Console_15 + shift shiftl keycode 61 = F15 + altgr shiftl keycode 61 = Console_15 + shift altgr shiftl keycode 61 = Console_27 + control shiftl keycode 61 = F27 + shift control shiftl keycode 61 = F39 + altgr control shiftl keycode 61 = Console_15 + shift altgr control shiftl keycode 61 = Console_27 + alt shiftl keycode 61 = Console_3 + shift alt shiftl keycode 61 = Console_15 + control alt shiftl keycode 61 = Console_3 + shift control alt shiftl keycode 61 = Console_15 + shift shiftr keycode 61 = F15 + altgr shiftr keycode 61 = Console_15 + shift altgr shiftr keycode 61 = Console_27 + control shiftr keycode 61 = F27 + shift control shiftr keycode 61 = F39 + altgr control shiftr keycode 61 = Console_15 + shift altgr control shiftr keycode 61 = Console_27 + alt shiftr keycode 61 = Console_3 + shift alt shiftr keycode 61 = Console_15 + control alt shiftr keycode 61 = Console_3 + shift control alt shiftr keycode 61 = Console_15 + shift shiftl shiftr keycode 61 = F15 + altgr shiftl shiftr keycode 61 = Console_15 + shift altgr shiftl shiftr keycode 61 = Console_27 + control shiftl shiftr keycode 61 = F27 + shift control shiftl shiftr keycode 61 = F39 + altgr control shiftl shiftr keycode 61 = Console_15 + shift altgr control shiftl shiftr keycode 61 = Console_27 + alt shiftl shiftr keycode 61 = Console_3 + shift alt shiftl shiftr keycode 61 = Console_15 + control alt shiftl shiftr keycode 61 = Console_3 + shift control alt shiftl shiftr keycode 61 = Console_15 + shift ctrll keycode 61 = F15 + altgr ctrll keycode 61 = Console_15 + shift altgr ctrll keycode 61 = Console_27 + control ctrll keycode 61 = F27 + shift control ctrll keycode 61 = F39 + altgr control ctrll keycode 61 = Console_15 + shift altgr control ctrll keycode 61 = Console_27 + alt ctrll keycode 61 = Console_3 + shift alt ctrll keycode 61 = Console_15 + control alt ctrll keycode 61 = Console_3 + shift control alt ctrll keycode 61 = Console_15 + shift shiftl ctrll keycode 61 = F15 + altgr shiftl ctrll keycode 61 = Console_15 + shift altgr shiftl ctrll keycode 61 = Console_27 + control shiftl ctrll keycode 61 = F27 + shift control shiftl ctrll keycode 61 = F39 + altgr control shiftl ctrll keycode 61 = Console_15 + shift altgr control shiftl ctrll keycode 61 = Console_27 + alt shiftl ctrll keycode 61 = Console_3 + shift alt shiftl ctrll keycode 61 = Console_15 + control alt shiftl ctrll keycode 61 = Console_3 + shift control alt shiftl ctrll keycode 61 = Console_15 + shift shiftr ctrll keycode 61 = F15 + altgr shiftr ctrll keycode 61 = Console_15 + shift altgr shiftr ctrll keycode 61 = Console_27 + control shiftr ctrll keycode 61 = F27 + shift control shiftr ctrll keycode 61 = F39 + altgr control shiftr ctrll keycode 61 = Console_15 + shift altgr control shiftr ctrll keycode 61 = Console_27 + alt shiftr ctrll keycode 61 = Console_3 + shift alt shiftr ctrll keycode 61 = Console_15 + control alt shiftr ctrll keycode 61 = Console_3 + shift control alt shiftr ctrll keycode 61 = Console_15 + shift shiftl shiftr ctrll keycode 61 = F15 + altgr shiftl shiftr ctrll keycode 61 = Console_15 + shift altgr shiftl shiftr ctrll keycode 61 = Console_27 + control shiftl shiftr ctrll keycode 61 = F27 + shift control shiftl shiftr ctrll keycode 61 = F39 + altgr control shiftl shiftr ctrll keycode 61 = Console_15 + shift altgr control shiftl shiftr ctrll keycode 61 = Console_27 + alt shiftl shiftr ctrll keycode 61 = Console_3 + shift alt shiftl shiftr ctrll keycode 61 = Console_15 + control alt shiftl shiftr ctrll keycode 61 = Console_3 + shift control alt shiftl shiftr ctrll keycode 61 = Console_15 +keycode 62 = F4 + shift keycode 62 = F16 + altgr keycode 62 = Console_16 + shift altgr keycode 62 = Console_28 + control keycode 62 = F28 + shift control keycode 62 = F40 + altgr control keycode 62 = Console_16 + shift altgr control keycode 62 = Console_28 + alt keycode 62 = Console_4 + shift alt keycode 62 = Console_16 + control alt keycode 62 = Console_4 + shift control alt keycode 62 = Console_16 + shift shiftl keycode 62 = F16 + altgr shiftl keycode 62 = Console_16 + shift altgr shiftl keycode 62 = Console_28 + control shiftl keycode 62 = F28 + shift control shiftl keycode 62 = F40 + altgr control shiftl keycode 62 = Console_16 + shift altgr control shiftl keycode 62 = Console_28 + alt shiftl keycode 62 = Console_4 + shift alt shiftl keycode 62 = Console_16 + control alt shiftl keycode 62 = Console_4 + shift control alt shiftl keycode 62 = Console_16 + shift shiftr keycode 62 = F16 + altgr shiftr keycode 62 = Console_16 + shift altgr shiftr keycode 62 = Console_28 + control shiftr keycode 62 = F28 + shift control shiftr keycode 62 = F40 + altgr control shiftr keycode 62 = Console_16 + shift altgr control shiftr keycode 62 = Console_28 + alt shiftr keycode 62 = Console_4 + shift alt shiftr keycode 62 = Console_16 + control alt shiftr keycode 62 = Console_4 + shift control alt shiftr keycode 62 = Console_16 + shift shiftl shiftr keycode 62 = F16 + altgr shiftl shiftr keycode 62 = Console_16 + shift altgr shiftl shiftr keycode 62 = Console_28 + control shiftl shiftr keycode 62 = F28 + shift control shiftl shiftr keycode 62 = F40 + altgr control shiftl shiftr keycode 62 = Console_16 + shift altgr control shiftl shiftr keycode 62 = Console_28 + alt shiftl shiftr keycode 62 = Console_4 + shift alt shiftl shiftr keycode 62 = Console_16 + control alt shiftl shiftr keycode 62 = Console_4 + shift control alt shiftl shiftr keycode 62 = Console_16 + shift ctrll keycode 62 = F16 + altgr ctrll keycode 62 = Console_16 + shift altgr ctrll keycode 62 = Console_28 + control ctrll keycode 62 = F28 + shift control ctrll keycode 62 = F40 + altgr control ctrll keycode 62 = Console_16 + shift altgr control ctrll keycode 62 = Console_28 + alt ctrll keycode 62 = Console_4 + shift alt ctrll keycode 62 = Console_16 + control alt ctrll keycode 62 = Console_4 + shift control alt ctrll keycode 62 = Console_16 + shift shiftl ctrll keycode 62 = F16 + altgr shiftl ctrll keycode 62 = Console_16 + shift altgr shiftl ctrll keycode 62 = Console_28 + control shiftl ctrll keycode 62 = F28 + shift control shiftl ctrll keycode 62 = F40 + altgr control shiftl ctrll keycode 62 = Console_16 + shift altgr control shiftl ctrll keycode 62 = Console_28 + alt shiftl ctrll keycode 62 = Console_4 + shift alt shiftl ctrll keycode 62 = Console_16 + control alt shiftl ctrll keycode 62 = Console_4 + shift control alt shiftl ctrll keycode 62 = Console_16 + shift shiftr ctrll keycode 62 = F16 + altgr shiftr ctrll keycode 62 = Console_16 + shift altgr shiftr ctrll keycode 62 = Console_28 + control shiftr ctrll keycode 62 = F28 + shift control shiftr ctrll keycode 62 = F40 + altgr control shiftr ctrll keycode 62 = Console_16 + shift altgr control shiftr ctrll keycode 62 = Console_28 + alt shiftr ctrll keycode 62 = Console_4 + shift alt shiftr ctrll keycode 62 = Console_16 + control alt shiftr ctrll keycode 62 = Console_4 + shift control alt shiftr ctrll keycode 62 = Console_16 + shift shiftl shiftr ctrll keycode 62 = F16 + altgr shiftl shiftr ctrll keycode 62 = Console_16 + shift altgr shiftl shiftr ctrll keycode 62 = Console_28 + control shiftl shiftr ctrll keycode 62 = F28 + shift control shiftl shiftr ctrll keycode 62 = F40 + altgr control shiftl shiftr ctrll keycode 62 = Console_16 + shift altgr control shiftl shiftr ctrll keycode 62 = Console_28 + alt shiftl shiftr ctrll keycode 62 = Console_4 + shift alt shiftl shiftr ctrll keycode 62 = Console_16 + control alt shiftl shiftr ctrll keycode 62 = Console_4 + shift control alt shiftl shiftr ctrll keycode 62 = Console_16 +keycode 63 = F5 + shift keycode 63 = F17 + altgr keycode 63 = Console_17 + shift altgr keycode 63 = Console_29 + control keycode 63 = F29 + shift control keycode 63 = F41 + altgr control keycode 63 = Console_17 + shift altgr control keycode 63 = Console_29 + alt keycode 63 = Console_5 + shift alt keycode 63 = Console_17 + control alt keycode 63 = Console_5 + shift control alt keycode 63 = Console_17 + shift shiftl keycode 63 = F17 + altgr shiftl keycode 63 = Console_17 + shift altgr shiftl keycode 63 = Console_29 + control shiftl keycode 63 = F29 + shift control shiftl keycode 63 = F41 + altgr control shiftl keycode 63 = Console_17 + shift altgr control shiftl keycode 63 = Console_29 + alt shiftl keycode 63 = Console_5 + shift alt shiftl keycode 63 = Console_17 + control alt shiftl keycode 63 = Console_5 + shift control alt shiftl keycode 63 = Console_17 + shift shiftr keycode 63 = F17 + altgr shiftr keycode 63 = Console_17 + shift altgr shiftr keycode 63 = Console_29 + control shiftr keycode 63 = F29 + shift control shiftr keycode 63 = F41 + altgr control shiftr keycode 63 = Console_17 + shift altgr control shiftr keycode 63 = Console_29 + alt shiftr keycode 63 = Console_5 + shift alt shiftr keycode 63 = Console_17 + control alt shiftr keycode 63 = Console_5 + shift control alt shiftr keycode 63 = Console_17 + shift shiftl shiftr keycode 63 = F17 + altgr shiftl shiftr keycode 63 = Console_17 + shift altgr shiftl shiftr keycode 63 = Console_29 + control shiftl shiftr keycode 63 = F29 + shift control shiftl shiftr keycode 63 = F41 + altgr control shiftl shiftr keycode 63 = Console_17 + shift altgr control shiftl shiftr keycode 63 = Console_29 + alt shiftl shiftr keycode 63 = Console_5 + shift alt shiftl shiftr keycode 63 = Console_17 + control alt shiftl shiftr keycode 63 = Console_5 + shift control alt shiftl shiftr keycode 63 = Console_17 + shift ctrll keycode 63 = F17 + altgr ctrll keycode 63 = Console_17 + shift altgr ctrll keycode 63 = Console_29 + control ctrll keycode 63 = F29 + shift control ctrll keycode 63 = F41 + altgr control ctrll keycode 63 = Console_17 + shift altgr control ctrll keycode 63 = Console_29 + alt ctrll keycode 63 = Console_5 + shift alt ctrll keycode 63 = Console_17 + control alt ctrll keycode 63 = Console_5 + shift control alt ctrll keycode 63 = Console_17 + shift shiftl ctrll keycode 63 = F17 + altgr shiftl ctrll keycode 63 = Console_17 + shift altgr shiftl ctrll keycode 63 = Console_29 + control shiftl ctrll keycode 63 = F29 + shift control shiftl ctrll keycode 63 = F41 + altgr control shiftl ctrll keycode 63 = Console_17 + shift altgr control shiftl ctrll keycode 63 = Console_29 + alt shiftl ctrll keycode 63 = Console_5 + shift alt shiftl ctrll keycode 63 = Console_17 + control alt shiftl ctrll keycode 63 = Console_5 + shift control alt shiftl ctrll keycode 63 = Console_17 + shift shiftr ctrll keycode 63 = F17 + altgr shiftr ctrll keycode 63 = Console_17 + shift altgr shiftr ctrll keycode 63 = Console_29 + control shiftr ctrll keycode 63 = F29 + shift control shiftr ctrll keycode 63 = F41 + altgr control shiftr ctrll keycode 63 = Console_17 + shift altgr control shiftr ctrll keycode 63 = Console_29 + alt shiftr ctrll keycode 63 = Console_5 + shift alt shiftr ctrll keycode 63 = Console_17 + control alt shiftr ctrll keycode 63 = Console_5 + shift control alt shiftr ctrll keycode 63 = Console_17 + shift shiftl shiftr ctrll keycode 63 = F17 + altgr shiftl shiftr ctrll keycode 63 = Console_17 + shift altgr shiftl shiftr ctrll keycode 63 = Console_29 + control shiftl shiftr ctrll keycode 63 = F29 + shift control shiftl shiftr ctrll keycode 63 = F41 + altgr control shiftl shiftr ctrll keycode 63 = Console_17 + shift altgr control shiftl shiftr ctrll keycode 63 = Console_29 + alt shiftl shiftr ctrll keycode 63 = Console_5 + shift alt shiftl shiftr ctrll keycode 63 = Console_17 + control alt shiftl shiftr ctrll keycode 63 = Console_5 + shift control alt shiftl shiftr ctrll keycode 63 = Console_17 +keycode 64 = F6 + shift keycode 64 = F18 + altgr keycode 64 = Console_18 + shift altgr keycode 64 = Console_30 + control keycode 64 = F30 + shift control keycode 64 = F42 + altgr control keycode 64 = Console_18 + shift altgr control keycode 64 = Console_30 + alt keycode 64 = Console_6 + shift alt keycode 64 = Console_18 + control alt keycode 64 = Console_6 + shift control alt keycode 64 = Console_18 + shift shiftl keycode 64 = F18 + altgr shiftl keycode 64 = Console_18 + shift altgr shiftl keycode 64 = Console_30 + control shiftl keycode 64 = F30 + shift control shiftl keycode 64 = F42 + altgr control shiftl keycode 64 = Console_18 + shift altgr control shiftl keycode 64 = Console_30 + alt shiftl keycode 64 = Console_6 + shift alt shiftl keycode 64 = Console_18 + control alt shiftl keycode 64 = Console_6 + shift control alt shiftl keycode 64 = Console_18 + shift shiftr keycode 64 = F18 + altgr shiftr keycode 64 = Console_18 + shift altgr shiftr keycode 64 = Console_30 + control shiftr keycode 64 = F30 + shift control shiftr keycode 64 = F42 + altgr control shiftr keycode 64 = Console_18 + shift altgr control shiftr keycode 64 = Console_30 + alt shiftr keycode 64 = Console_6 + shift alt shiftr keycode 64 = Console_18 + control alt shiftr keycode 64 = Console_6 + shift control alt shiftr keycode 64 = Console_18 + shift shiftl shiftr keycode 64 = F18 + altgr shiftl shiftr keycode 64 = Console_18 + shift altgr shiftl shiftr keycode 64 = Console_30 + control shiftl shiftr keycode 64 = F30 + shift control shiftl shiftr keycode 64 = F42 + altgr control shiftl shiftr keycode 64 = Console_18 + shift altgr control shiftl shiftr keycode 64 = Console_30 + alt shiftl shiftr keycode 64 = Console_6 + shift alt shiftl shiftr keycode 64 = Console_18 + control alt shiftl shiftr keycode 64 = Console_6 + shift control alt shiftl shiftr keycode 64 = Console_18 + shift ctrll keycode 64 = F18 + altgr ctrll keycode 64 = Console_18 + shift altgr ctrll keycode 64 = Console_30 + control ctrll keycode 64 = F30 + shift control ctrll keycode 64 = F42 + altgr control ctrll keycode 64 = Console_18 + shift altgr control ctrll keycode 64 = Console_30 + alt ctrll keycode 64 = Console_6 + shift alt ctrll keycode 64 = Console_18 + control alt ctrll keycode 64 = Console_6 + shift control alt ctrll keycode 64 = Console_18 + shift shiftl ctrll keycode 64 = F18 + altgr shiftl ctrll keycode 64 = Console_18 + shift altgr shiftl ctrll keycode 64 = Console_30 + control shiftl ctrll keycode 64 = F30 + shift control shiftl ctrll keycode 64 = F42 + altgr control shiftl ctrll keycode 64 = Console_18 + shift altgr control shiftl ctrll keycode 64 = Console_30 + alt shiftl ctrll keycode 64 = Console_6 + shift alt shiftl ctrll keycode 64 = Console_18 + control alt shiftl ctrll keycode 64 = Console_6 + shift control alt shiftl ctrll keycode 64 = Console_18 + shift shiftr ctrll keycode 64 = F18 + altgr shiftr ctrll keycode 64 = Console_18 + shift altgr shiftr ctrll keycode 64 = Console_30 + control shiftr ctrll keycode 64 = F30 + shift control shiftr ctrll keycode 64 = F42 + altgr control shiftr ctrll keycode 64 = Console_18 + shift altgr control shiftr ctrll keycode 64 = Console_30 + alt shiftr ctrll keycode 64 = Console_6 + shift alt shiftr ctrll keycode 64 = Console_18 + control alt shiftr ctrll keycode 64 = Console_6 + shift control alt shiftr ctrll keycode 64 = Console_18 + shift shiftl shiftr ctrll keycode 64 = F18 + altgr shiftl shiftr ctrll keycode 64 = Console_18 + shift altgr shiftl shiftr ctrll keycode 64 = Console_30 + control shiftl shiftr ctrll keycode 64 = F30 + shift control shiftl shiftr ctrll keycode 64 = F42 + altgr control shiftl shiftr ctrll keycode 64 = Console_18 + shift altgr control shiftl shiftr ctrll keycode 64 = Console_30 + alt shiftl shiftr ctrll keycode 64 = Console_6 + shift alt shiftl shiftr ctrll keycode 64 = Console_18 + control alt shiftl shiftr ctrll keycode 64 = Console_6 + shift control alt shiftl shiftr ctrll keycode 64 = Console_18 +keycode 65 = F7 + shift keycode 65 = F19 + altgr keycode 65 = Console_19 + shift altgr keycode 65 = Console_31 + control keycode 65 = F31 + shift control keycode 65 = F43 + altgr control keycode 65 = Console_19 + shift altgr control keycode 65 = Console_31 + alt keycode 65 = Console_7 + shift alt keycode 65 = Console_19 + control alt keycode 65 = Console_7 + shift control alt keycode 65 = Console_19 + shift shiftl keycode 65 = F19 + altgr shiftl keycode 65 = Console_19 + shift altgr shiftl keycode 65 = Console_31 + control shiftl keycode 65 = F31 + shift control shiftl keycode 65 = F43 + altgr control shiftl keycode 65 = Console_19 + shift altgr control shiftl keycode 65 = Console_31 + alt shiftl keycode 65 = Console_7 + shift alt shiftl keycode 65 = Console_19 + control alt shiftl keycode 65 = Console_7 + shift control alt shiftl keycode 65 = Console_19 + shift shiftr keycode 65 = F19 + altgr shiftr keycode 65 = Console_19 + shift altgr shiftr keycode 65 = Console_31 + control shiftr keycode 65 = F31 + shift control shiftr keycode 65 = F43 + altgr control shiftr keycode 65 = Console_19 + shift altgr control shiftr keycode 65 = Console_31 + alt shiftr keycode 65 = Console_7 + shift alt shiftr keycode 65 = Console_19 + control alt shiftr keycode 65 = Console_7 + shift control alt shiftr keycode 65 = Console_19 + shift shiftl shiftr keycode 65 = F19 + altgr shiftl shiftr keycode 65 = Console_19 + shift altgr shiftl shiftr keycode 65 = Console_31 + control shiftl shiftr keycode 65 = F31 + shift control shiftl shiftr keycode 65 = F43 + altgr control shiftl shiftr keycode 65 = Console_19 + shift altgr control shiftl shiftr keycode 65 = Console_31 + alt shiftl shiftr keycode 65 = Console_7 + shift alt shiftl shiftr keycode 65 = Console_19 + control alt shiftl shiftr keycode 65 = Console_7 + shift control alt shiftl shiftr keycode 65 = Console_19 + shift ctrll keycode 65 = F19 + altgr ctrll keycode 65 = Console_19 + shift altgr ctrll keycode 65 = Console_31 + control ctrll keycode 65 = F31 + shift control ctrll keycode 65 = F43 + altgr control ctrll keycode 65 = Console_19 + shift altgr control ctrll keycode 65 = Console_31 + alt ctrll keycode 65 = Console_7 + shift alt ctrll keycode 65 = Console_19 + control alt ctrll keycode 65 = Console_7 + shift control alt ctrll keycode 65 = Console_19 + shift shiftl ctrll keycode 65 = F19 + altgr shiftl ctrll keycode 65 = Console_19 + shift altgr shiftl ctrll keycode 65 = Console_31 + control shiftl ctrll keycode 65 = F31 + shift control shiftl ctrll keycode 65 = F43 + altgr control shiftl ctrll keycode 65 = Console_19 + shift altgr control shiftl ctrll keycode 65 = Console_31 + alt shiftl ctrll keycode 65 = Console_7 + shift alt shiftl ctrll keycode 65 = Console_19 + control alt shiftl ctrll keycode 65 = Console_7 + shift control alt shiftl ctrll keycode 65 = Console_19 + shift shiftr ctrll keycode 65 = F19 + altgr shiftr ctrll keycode 65 = Console_19 + shift altgr shiftr ctrll keycode 65 = Console_31 + control shiftr ctrll keycode 65 = F31 + shift control shiftr ctrll keycode 65 = F43 + altgr control shiftr ctrll keycode 65 = Console_19 + shift altgr control shiftr ctrll keycode 65 = Console_31 + alt shiftr ctrll keycode 65 = Console_7 + shift alt shiftr ctrll keycode 65 = Console_19 + control alt shiftr ctrll keycode 65 = Console_7 + shift control alt shiftr ctrll keycode 65 = Console_19 + shift shiftl shiftr ctrll keycode 65 = F19 + altgr shiftl shiftr ctrll keycode 65 = Console_19 + shift altgr shiftl shiftr ctrll keycode 65 = Console_31 + control shiftl shiftr ctrll keycode 65 = F31 + shift control shiftl shiftr ctrll keycode 65 = F43 + altgr control shiftl shiftr ctrll keycode 65 = Console_19 + shift altgr control shiftl shiftr ctrll keycode 65 = Console_31 + alt shiftl shiftr ctrll keycode 65 = Console_7 + shift alt shiftl shiftr ctrll keycode 65 = Console_19 + control alt shiftl shiftr ctrll keycode 65 = Console_7 + shift control alt shiftl shiftr ctrll keycode 65 = Console_19 +keycode 66 = F8 + shift keycode 66 = F20 + altgr keycode 66 = Console_20 + shift altgr keycode 66 = Console_32 + control keycode 66 = F32 + shift control keycode 66 = F44 + altgr control keycode 66 = Console_20 + shift altgr control keycode 66 = Console_32 + alt keycode 66 = Console_8 + shift alt keycode 66 = Console_20 + control alt keycode 66 = Console_8 + shift control alt keycode 66 = Console_20 + shift shiftl keycode 66 = F20 + altgr shiftl keycode 66 = Console_20 + shift altgr shiftl keycode 66 = Console_32 + control shiftl keycode 66 = F32 + shift control shiftl keycode 66 = F44 + altgr control shiftl keycode 66 = Console_20 + shift altgr control shiftl keycode 66 = Console_32 + alt shiftl keycode 66 = Console_8 + shift alt shiftl keycode 66 = Console_20 + control alt shiftl keycode 66 = Console_8 + shift control alt shiftl keycode 66 = Console_20 + shift shiftr keycode 66 = F20 + altgr shiftr keycode 66 = Console_20 + shift altgr shiftr keycode 66 = Console_32 + control shiftr keycode 66 = F32 + shift control shiftr keycode 66 = F44 + altgr control shiftr keycode 66 = Console_20 + shift altgr control shiftr keycode 66 = Console_32 + alt shiftr keycode 66 = Console_8 + shift alt shiftr keycode 66 = Console_20 + control alt shiftr keycode 66 = Console_8 + shift control alt shiftr keycode 66 = Console_20 + shift shiftl shiftr keycode 66 = F20 + altgr shiftl shiftr keycode 66 = Console_20 + shift altgr shiftl shiftr keycode 66 = Console_32 + control shiftl shiftr keycode 66 = F32 + shift control shiftl shiftr keycode 66 = F44 + altgr control shiftl shiftr keycode 66 = Console_20 + shift altgr control shiftl shiftr keycode 66 = Console_32 + alt shiftl shiftr keycode 66 = Console_8 + shift alt shiftl shiftr keycode 66 = Console_20 + control alt shiftl shiftr keycode 66 = Console_8 + shift control alt shiftl shiftr keycode 66 = Console_20 + shift ctrll keycode 66 = F20 + altgr ctrll keycode 66 = Console_20 + shift altgr ctrll keycode 66 = Console_32 + control ctrll keycode 66 = F32 + shift control ctrll keycode 66 = F44 + altgr control ctrll keycode 66 = Console_20 + shift altgr control ctrll keycode 66 = Console_32 + alt ctrll keycode 66 = Console_8 + shift alt ctrll keycode 66 = Console_20 + control alt ctrll keycode 66 = Console_8 + shift control alt ctrll keycode 66 = Console_20 + shift shiftl ctrll keycode 66 = F20 + altgr shiftl ctrll keycode 66 = Console_20 + shift altgr shiftl ctrll keycode 66 = Console_32 + control shiftl ctrll keycode 66 = F32 + shift control shiftl ctrll keycode 66 = F44 + altgr control shiftl ctrll keycode 66 = Console_20 + shift altgr control shiftl ctrll keycode 66 = Console_32 + alt shiftl ctrll keycode 66 = Console_8 + shift alt shiftl ctrll keycode 66 = Console_20 + control alt shiftl ctrll keycode 66 = Console_8 + shift control alt shiftl ctrll keycode 66 = Console_20 + shift shiftr ctrll keycode 66 = F20 + altgr shiftr ctrll keycode 66 = Console_20 + shift altgr shiftr ctrll keycode 66 = Console_32 + control shiftr ctrll keycode 66 = F32 + shift control shiftr ctrll keycode 66 = F44 + altgr control shiftr ctrll keycode 66 = Console_20 + shift altgr control shiftr ctrll keycode 66 = Console_32 + alt shiftr ctrll keycode 66 = Console_8 + shift alt shiftr ctrll keycode 66 = Console_20 + control alt shiftr ctrll keycode 66 = Console_8 + shift control alt shiftr ctrll keycode 66 = Console_20 + shift shiftl shiftr ctrll keycode 66 = F20 + altgr shiftl shiftr ctrll keycode 66 = Console_20 + shift altgr shiftl shiftr ctrll keycode 66 = Console_32 + control shiftl shiftr ctrll keycode 66 = F32 + shift control shiftl shiftr ctrll keycode 66 = F44 + altgr control shiftl shiftr ctrll keycode 66 = Console_20 + shift altgr control shiftl shiftr ctrll keycode 66 = Console_32 + alt shiftl shiftr ctrll keycode 66 = Console_8 + shift alt shiftl shiftr ctrll keycode 66 = Console_20 + control alt shiftl shiftr ctrll keycode 66 = Console_8 + shift control alt shiftl shiftr ctrll keycode 66 = Console_20 +keycode 67 = F9 + shift keycode 67 = F21 + altgr keycode 67 = Console_21 + shift altgr keycode 67 = Console_33 + control keycode 67 = F33 + shift control keycode 67 = F45 + altgr control keycode 67 = Console_21 + shift altgr control keycode 67 = Console_33 + alt keycode 67 = Console_9 + shift alt keycode 67 = Console_21 + control alt keycode 67 = Console_9 + shift control alt keycode 67 = Console_21 + shift shiftl keycode 67 = F21 + altgr shiftl keycode 67 = Console_21 + shift altgr shiftl keycode 67 = Console_33 + control shiftl keycode 67 = F33 + shift control shiftl keycode 67 = F45 + altgr control shiftl keycode 67 = Console_21 + shift altgr control shiftl keycode 67 = Console_33 + alt shiftl keycode 67 = Console_9 + shift alt shiftl keycode 67 = Console_21 + control alt shiftl keycode 67 = Console_9 + shift control alt shiftl keycode 67 = Console_21 + shift shiftr keycode 67 = F21 + altgr shiftr keycode 67 = Console_21 + shift altgr shiftr keycode 67 = Console_33 + control shiftr keycode 67 = F33 + shift control shiftr keycode 67 = F45 + altgr control shiftr keycode 67 = Console_21 + shift altgr control shiftr keycode 67 = Console_33 + alt shiftr keycode 67 = Console_9 + shift alt shiftr keycode 67 = Console_21 + control alt shiftr keycode 67 = Console_9 + shift control alt shiftr keycode 67 = Console_21 + shift shiftl shiftr keycode 67 = F21 + altgr shiftl shiftr keycode 67 = Console_21 + shift altgr shiftl shiftr keycode 67 = Console_33 + control shiftl shiftr keycode 67 = F33 + shift control shiftl shiftr keycode 67 = F45 + altgr control shiftl shiftr keycode 67 = Console_21 + shift altgr control shiftl shiftr keycode 67 = Console_33 + alt shiftl shiftr keycode 67 = Console_9 + shift alt shiftl shiftr keycode 67 = Console_21 + control alt shiftl shiftr keycode 67 = Console_9 + shift control alt shiftl shiftr keycode 67 = Console_21 + shift ctrll keycode 67 = F21 + altgr ctrll keycode 67 = Console_21 + shift altgr ctrll keycode 67 = Console_33 + control ctrll keycode 67 = F33 + shift control ctrll keycode 67 = F45 + altgr control ctrll keycode 67 = Console_21 + shift altgr control ctrll keycode 67 = Console_33 + alt ctrll keycode 67 = Console_9 + shift alt ctrll keycode 67 = Console_21 + control alt ctrll keycode 67 = Console_9 + shift control alt ctrll keycode 67 = Console_21 + shift shiftl ctrll keycode 67 = F21 + altgr shiftl ctrll keycode 67 = Console_21 + shift altgr shiftl ctrll keycode 67 = Console_33 + control shiftl ctrll keycode 67 = F33 + shift control shiftl ctrll keycode 67 = F45 + altgr control shiftl ctrll keycode 67 = Console_21 + shift altgr control shiftl ctrll keycode 67 = Console_33 + alt shiftl ctrll keycode 67 = Console_9 + shift alt shiftl ctrll keycode 67 = Console_21 + control alt shiftl ctrll keycode 67 = Console_9 + shift control alt shiftl ctrll keycode 67 = Console_21 + shift shiftr ctrll keycode 67 = F21 + altgr shiftr ctrll keycode 67 = Console_21 + shift altgr shiftr ctrll keycode 67 = Console_33 + control shiftr ctrll keycode 67 = F33 + shift control shiftr ctrll keycode 67 = F45 + altgr control shiftr ctrll keycode 67 = Console_21 + shift altgr control shiftr ctrll keycode 67 = Console_33 + alt shiftr ctrll keycode 67 = Console_9 + shift alt shiftr ctrll keycode 67 = Console_21 + control alt shiftr ctrll keycode 67 = Console_9 + shift control alt shiftr ctrll keycode 67 = Console_21 + shift shiftl shiftr ctrll keycode 67 = F21 + altgr shiftl shiftr ctrll keycode 67 = Console_21 + shift altgr shiftl shiftr ctrll keycode 67 = Console_33 + control shiftl shiftr ctrll keycode 67 = F33 + shift control shiftl shiftr ctrll keycode 67 = F45 + altgr control shiftl shiftr ctrll keycode 67 = Console_21 + shift altgr control shiftl shiftr ctrll keycode 67 = Console_33 + alt shiftl shiftr ctrll keycode 67 = Console_9 + shift alt shiftl shiftr ctrll keycode 67 = Console_21 + control alt shiftl shiftr ctrll keycode 67 = Console_9 + shift control alt shiftl shiftr ctrll keycode 67 = Console_21 +keycode 68 = F10 + shift keycode 68 = F22 + altgr keycode 68 = Console_22 + shift altgr keycode 68 = Console_34 + control keycode 68 = F34 + shift control keycode 68 = F46 + altgr control keycode 68 = Console_22 + shift altgr control keycode 68 = Console_34 + alt keycode 68 = Console_10 + shift alt keycode 68 = Console_22 + control alt keycode 68 = Console_10 + shift control alt keycode 68 = Console_22 + shift shiftl keycode 68 = F22 + altgr shiftl keycode 68 = Console_22 + shift altgr shiftl keycode 68 = Console_34 + control shiftl keycode 68 = F34 + shift control shiftl keycode 68 = F46 + altgr control shiftl keycode 68 = Console_22 + shift altgr control shiftl keycode 68 = Console_34 + alt shiftl keycode 68 = Console_10 + shift alt shiftl keycode 68 = Console_22 + control alt shiftl keycode 68 = Console_10 + shift control alt shiftl keycode 68 = Console_22 + shift shiftr keycode 68 = F22 + altgr shiftr keycode 68 = Console_22 + shift altgr shiftr keycode 68 = Console_34 + control shiftr keycode 68 = F34 + shift control shiftr keycode 68 = F46 + altgr control shiftr keycode 68 = Console_22 + shift altgr control shiftr keycode 68 = Console_34 + alt shiftr keycode 68 = Console_10 + shift alt shiftr keycode 68 = Console_22 + control alt shiftr keycode 68 = Console_10 + shift control alt shiftr keycode 68 = Console_22 + shift shiftl shiftr keycode 68 = F22 + altgr shiftl shiftr keycode 68 = Console_22 + shift altgr shiftl shiftr keycode 68 = Console_34 + control shiftl shiftr keycode 68 = F34 + shift control shiftl shiftr keycode 68 = F46 + altgr control shiftl shiftr keycode 68 = Console_22 + shift altgr control shiftl shiftr keycode 68 = Console_34 + alt shiftl shiftr keycode 68 = Console_10 + shift alt shiftl shiftr keycode 68 = Console_22 + control alt shiftl shiftr keycode 68 = Console_10 + shift control alt shiftl shiftr keycode 68 = Console_22 + shift ctrll keycode 68 = F22 + altgr ctrll keycode 68 = Console_22 + shift altgr ctrll keycode 68 = Console_34 + control ctrll keycode 68 = F34 + shift control ctrll keycode 68 = F46 + altgr control ctrll keycode 68 = Console_22 + shift altgr control ctrll keycode 68 = Console_34 + alt ctrll keycode 68 = Console_10 + shift alt ctrll keycode 68 = Console_22 + control alt ctrll keycode 68 = Console_10 + shift control alt ctrll keycode 68 = Console_22 + shift shiftl ctrll keycode 68 = F22 + altgr shiftl ctrll keycode 68 = Console_22 + shift altgr shiftl ctrll keycode 68 = Console_34 + control shiftl ctrll keycode 68 = F34 + shift control shiftl ctrll keycode 68 = F46 + altgr control shiftl ctrll keycode 68 = Console_22 + shift altgr control shiftl ctrll keycode 68 = Console_34 + alt shiftl ctrll keycode 68 = Console_10 + shift alt shiftl ctrll keycode 68 = Console_22 + control alt shiftl ctrll keycode 68 = Console_10 + shift control alt shiftl ctrll keycode 68 = Console_22 + shift shiftr ctrll keycode 68 = F22 + altgr shiftr ctrll keycode 68 = Console_22 + shift altgr shiftr ctrll keycode 68 = Console_34 + control shiftr ctrll keycode 68 = F34 + shift control shiftr ctrll keycode 68 = F46 + altgr control shiftr ctrll keycode 68 = Console_22 + shift altgr control shiftr ctrll keycode 68 = Console_34 + alt shiftr ctrll keycode 68 = Console_10 + shift alt shiftr ctrll keycode 68 = Console_22 + control alt shiftr ctrll keycode 68 = Console_10 + shift control alt shiftr ctrll keycode 68 = Console_22 + shift shiftl shiftr ctrll keycode 68 = F22 + altgr shiftl shiftr ctrll keycode 68 = Console_22 + shift altgr shiftl shiftr ctrll keycode 68 = Console_34 + control shiftl shiftr ctrll keycode 68 = F34 + shift control shiftl shiftr ctrll keycode 68 = F46 + altgr control shiftl shiftr ctrll keycode 68 = Console_22 + shift altgr control shiftl shiftr ctrll keycode 68 = Console_34 + alt shiftl shiftr ctrll keycode 68 = Console_10 + shift alt shiftl shiftr ctrll keycode 68 = Console_22 + control alt shiftl shiftr ctrll keycode 68 = Console_10 + shift control alt shiftl shiftr ctrll keycode 68 = Console_22 +keycode 69 = Num_Lock + altgr keycode 69 = Hex_A + shift alt keycode 69 = Hex_A + altgr shiftl keycode 69 = Hex_A + shift alt shiftl keycode 69 = Hex_A + altgr shiftr keycode 69 = Hex_A + shift alt shiftr keycode 69 = Hex_A + altgr shiftl shiftr keycode 69 = Hex_A + shift alt shiftl shiftr keycode 69 = Hex_A + altgr ctrll keycode 69 = Hex_A + shift alt ctrll keycode 69 = Hex_A + altgr shiftl ctrll keycode 69 = Hex_A + shift alt shiftl ctrll keycode 69 = Hex_A + altgr shiftr ctrll keycode 69 = Hex_A + shift alt shiftr ctrll keycode 69 = Hex_A + altgr shiftl shiftr ctrll keycode 69 = Hex_A + shift alt shiftl shiftr ctrll keycode 69 = Hex_A +keycode 70 = Scroll_Lock + shift keycode 70 = Show_Memory + altgr keycode 70 = Show_Registers + control keycode 70 = Show_State + alt keycode 70 = Show_Registers + shift shiftl keycode 70 = Show_Memory + altgr shiftl keycode 70 = Show_Registers + control shiftl keycode 70 = Show_State + alt shiftl keycode 70 = Show_Registers + shift shiftr keycode 70 = Show_Memory + altgr shiftr keycode 70 = Show_Registers + control shiftr keycode 70 = Show_State + alt shiftr keycode 70 = Show_Registers + shift shiftl shiftr keycode 70 = Show_Memory + altgr shiftl shiftr keycode 70 = Show_Registers + control shiftl shiftr keycode 70 = Show_State + alt shiftl shiftr keycode 70 = Show_Registers + shift ctrll keycode 70 = Show_Memory + altgr ctrll keycode 70 = Show_Registers + control ctrll keycode 70 = Show_State + alt ctrll keycode 70 = Show_Registers + shift shiftl ctrll keycode 70 = Show_Memory + altgr shiftl ctrll keycode 70 = Show_Registers + control shiftl ctrll keycode 70 = Show_State + alt shiftl ctrll keycode 70 = Show_Registers + shift shiftr ctrll keycode 70 = Show_Memory + altgr shiftr ctrll keycode 70 = Show_Registers + control shiftr ctrll keycode 70 = Show_State + alt shiftr ctrll keycode 70 = Show_Registers + shift shiftl shiftr ctrll keycode 70 = Show_Memory + altgr shiftl shiftr ctrll keycode 70 = Show_Registers + control shiftl shiftr ctrll keycode 70 = Show_State + alt shiftl shiftr ctrll keycode 70 = Show_Registers +keycode 71 = KP_7 + altgr keycode 71 = Hex_7 + alt keycode 71 = Ascii_7 + shift alt keycode 71 = Hex_7 + altgr shiftl keycode 71 = Hex_7 + alt shiftl keycode 71 = Ascii_7 + shift alt shiftl keycode 71 = Hex_7 + altgr shiftr keycode 71 = Hex_7 + alt shiftr keycode 71 = Ascii_7 + shift alt shiftr keycode 71 = Hex_7 + altgr shiftl shiftr keycode 71 = Hex_7 + alt shiftl shiftr keycode 71 = Ascii_7 + shift alt shiftl shiftr keycode 71 = Hex_7 + altgr ctrll keycode 71 = Hex_7 + alt ctrll keycode 71 = Ascii_7 + shift alt ctrll keycode 71 = Hex_7 + altgr shiftl ctrll keycode 71 = Hex_7 + alt shiftl ctrll keycode 71 = Ascii_7 + shift alt shiftl ctrll keycode 71 = Hex_7 + altgr shiftr ctrll keycode 71 = Hex_7 + alt shiftr ctrll keycode 71 = Ascii_7 + shift alt shiftr ctrll keycode 71 = Hex_7 + altgr shiftl shiftr ctrll keycode 71 = Hex_7 + alt shiftl shiftr ctrll keycode 71 = Ascii_7 + shift alt shiftl shiftr ctrll keycode 71 = Hex_7 +keycode 72 = KP_8 + altgr keycode 72 = Hex_8 + alt keycode 72 = Ascii_8 + shift alt keycode 72 = Hex_8 + altgr shiftl keycode 72 = Hex_8 + alt shiftl keycode 72 = Ascii_8 + shift alt shiftl keycode 72 = Hex_8 + altgr shiftr keycode 72 = Hex_8 + alt shiftr keycode 72 = Ascii_8 + shift alt shiftr keycode 72 = Hex_8 + altgr shiftl shiftr keycode 72 = Hex_8 + alt shiftl shiftr keycode 72 = Ascii_8 + shift alt shiftl shiftr keycode 72 = Hex_8 + altgr ctrll keycode 72 = Hex_8 + alt ctrll keycode 72 = Ascii_8 + shift alt ctrll keycode 72 = Hex_8 + altgr shiftl ctrll keycode 72 = Hex_8 + alt shiftl ctrll keycode 72 = Ascii_8 + shift alt shiftl ctrll keycode 72 = Hex_8 + altgr shiftr ctrll keycode 72 = Hex_8 + alt shiftr ctrll keycode 72 = Ascii_8 + shift alt shiftr ctrll keycode 72 = Hex_8 + altgr shiftl shiftr ctrll keycode 72 = Hex_8 + alt shiftl shiftr ctrll keycode 72 = Ascii_8 + shift alt shiftl shiftr ctrll keycode 72 = Hex_8 +keycode 73 = KP_9 + altgr keycode 73 = Hex_9 + alt keycode 73 = Ascii_9 + shift alt keycode 73 = Hex_9 + altgr shiftl keycode 73 = Hex_9 + alt shiftl keycode 73 = Ascii_9 + shift alt shiftl keycode 73 = Hex_9 + altgr shiftr keycode 73 = Hex_9 + alt shiftr keycode 73 = Ascii_9 + shift alt shiftr keycode 73 = Hex_9 + altgr shiftl shiftr keycode 73 = Hex_9 + alt shiftl shiftr keycode 73 = Ascii_9 + shift alt shiftl shiftr keycode 73 = Hex_9 + altgr ctrll keycode 73 = Hex_9 + alt ctrll keycode 73 = Ascii_9 + shift alt ctrll keycode 73 = Hex_9 + altgr shiftl ctrll keycode 73 = Hex_9 + alt shiftl ctrll keycode 73 = Ascii_9 + shift alt shiftl ctrll keycode 73 = Hex_9 + altgr shiftr ctrll keycode 73 = Hex_9 + alt shiftr ctrll keycode 73 = Ascii_9 + shift alt shiftr ctrll keycode 73 = Hex_9 + altgr shiftl shiftr ctrll keycode 73 = Hex_9 + alt shiftl shiftr ctrll keycode 73 = Ascii_9 + shift alt shiftl shiftr ctrll keycode 73 = Hex_9 +keycode 74 = KP_Subtract + altgr keycode 74 = Hex_D + shift alt keycode 74 = Hex_D + altgr shiftl keycode 74 = Hex_D + shift alt shiftl keycode 74 = Hex_D + altgr shiftr keycode 74 = Hex_D + shift alt shiftr keycode 74 = Hex_D + altgr shiftl shiftr keycode 74 = Hex_D + shift alt shiftl shiftr keycode 74 = Hex_D + altgr ctrll keycode 74 = Hex_D + shift alt ctrll keycode 74 = Hex_D + altgr shiftl ctrll keycode 74 = Hex_D + shift alt shiftl ctrll keycode 74 = Hex_D + altgr shiftr ctrll keycode 74 = Hex_D + shift alt shiftr ctrll keycode 74 = Hex_D + altgr shiftl shiftr ctrll keycode 74 = Hex_D + shift alt shiftl shiftr ctrll keycode 74 = Hex_D +keycode 75 = KP_4 + altgr keycode 75 = Hex_4 + alt keycode 75 = Ascii_4 + shift alt keycode 75 = Hex_4 + altgr shiftl keycode 75 = Hex_4 + alt shiftl keycode 75 = Ascii_4 + shift alt shiftl keycode 75 = Hex_4 + altgr shiftr keycode 75 = Hex_4 + alt shiftr keycode 75 = Ascii_4 + shift alt shiftr keycode 75 = Hex_4 + altgr shiftl shiftr keycode 75 = Hex_4 + alt shiftl shiftr keycode 75 = Ascii_4 + shift alt shiftl shiftr keycode 75 = Hex_4 + altgr ctrll keycode 75 = Hex_4 + alt ctrll keycode 75 = Ascii_4 + shift alt ctrll keycode 75 = Hex_4 + altgr shiftl ctrll keycode 75 = Hex_4 + alt shiftl ctrll keycode 75 = Ascii_4 + shift alt shiftl ctrll keycode 75 = Hex_4 + altgr shiftr ctrll keycode 75 = Hex_4 + alt shiftr ctrll keycode 75 = Ascii_4 + shift alt shiftr ctrll keycode 75 = Hex_4 + altgr shiftl shiftr ctrll keycode 75 = Hex_4 + alt shiftl shiftr ctrll keycode 75 = Ascii_4 + shift alt shiftl shiftr ctrll keycode 75 = Hex_4 +keycode 76 = KP_5 + altgr keycode 76 = Hex_5 + alt keycode 76 = Ascii_5 + shift alt keycode 76 = Hex_5 + altgr shiftl keycode 76 = Hex_5 + alt shiftl keycode 76 = Ascii_5 + shift alt shiftl keycode 76 = Hex_5 + altgr shiftr keycode 76 = Hex_5 + alt shiftr keycode 76 = Ascii_5 + shift alt shiftr keycode 76 = Hex_5 + altgr shiftl shiftr keycode 76 = Hex_5 + alt shiftl shiftr keycode 76 = Ascii_5 + shift alt shiftl shiftr keycode 76 = Hex_5 + altgr ctrll keycode 76 = Hex_5 + alt ctrll keycode 76 = Ascii_5 + shift alt ctrll keycode 76 = Hex_5 + altgr shiftl ctrll keycode 76 = Hex_5 + alt shiftl ctrll keycode 76 = Ascii_5 + shift alt shiftl ctrll keycode 76 = Hex_5 + altgr shiftr ctrll keycode 76 = Hex_5 + alt shiftr ctrll keycode 76 = Ascii_5 + shift alt shiftr ctrll keycode 76 = Hex_5 + altgr shiftl shiftr ctrll keycode 76 = Hex_5 + alt shiftl shiftr ctrll keycode 76 = Ascii_5 + shift alt shiftl shiftr ctrll keycode 76 = Hex_5 +keycode 77 = KP_6 + altgr keycode 77 = Hex_6 + alt keycode 77 = Ascii_6 + shift alt keycode 77 = Hex_6 + altgr shiftl keycode 77 = Hex_6 + alt shiftl keycode 77 = Ascii_6 + shift alt shiftl keycode 77 = Hex_6 + altgr shiftr keycode 77 = Hex_6 + alt shiftr keycode 77 = Ascii_6 + shift alt shiftr keycode 77 = Hex_6 + altgr shiftl shiftr keycode 77 = Hex_6 + alt shiftl shiftr keycode 77 = Ascii_6 + shift alt shiftl shiftr keycode 77 = Hex_6 + altgr ctrll keycode 77 = Hex_6 + alt ctrll keycode 77 = Ascii_6 + shift alt ctrll keycode 77 = Hex_6 + altgr shiftl ctrll keycode 77 = Hex_6 + alt shiftl ctrll keycode 77 = Ascii_6 + shift alt shiftl ctrll keycode 77 = Hex_6 + altgr shiftr ctrll keycode 77 = Hex_6 + alt shiftr ctrll keycode 77 = Ascii_6 + shift alt shiftr ctrll keycode 77 = Hex_6 + altgr shiftl shiftr ctrll keycode 77 = Hex_6 + alt shiftl shiftr ctrll keycode 77 = Ascii_6 + shift alt shiftl shiftr ctrll keycode 77 = Hex_6 +keycode 78 = KP_Add + altgr keycode 78 = Hex_E + shift alt keycode 78 = Hex_E + altgr shiftl keycode 78 = Hex_E + shift alt shiftl keycode 78 = Hex_E + altgr shiftr keycode 78 = Hex_E + shift alt shiftr keycode 78 = Hex_E + altgr shiftl shiftr keycode 78 = Hex_E + shift alt shiftl shiftr keycode 78 = Hex_E + altgr ctrll keycode 78 = Hex_E + shift alt ctrll keycode 78 = Hex_E + altgr shiftl ctrll keycode 78 = Hex_E + shift alt shiftl ctrll keycode 78 = Hex_E + altgr shiftr ctrll keycode 78 = Hex_E + shift alt shiftr ctrll keycode 78 = Hex_E + altgr shiftl shiftr ctrll keycode 78 = Hex_E + shift alt shiftl shiftr ctrll keycode 78 = Hex_E +keycode 79 = KP_1 + altgr keycode 79 = Hex_1 + alt keycode 79 = Ascii_1 + shift alt keycode 79 = Hex_1 + altgr shiftl keycode 79 = Hex_1 + alt shiftl keycode 79 = Ascii_1 + shift alt shiftl keycode 79 = Hex_1 + altgr shiftr keycode 79 = Hex_1 + alt shiftr keycode 79 = Ascii_1 + shift alt shiftr keycode 79 = Hex_1 + altgr shiftl shiftr keycode 79 = Hex_1 + alt shiftl shiftr keycode 79 = Ascii_1 + shift alt shiftl shiftr keycode 79 = Hex_1 + altgr ctrll keycode 79 = Hex_1 + alt ctrll keycode 79 = Ascii_1 + shift alt ctrll keycode 79 = Hex_1 + altgr shiftl ctrll keycode 79 = Hex_1 + alt shiftl ctrll keycode 79 = Ascii_1 + shift alt shiftl ctrll keycode 79 = Hex_1 + altgr shiftr ctrll keycode 79 = Hex_1 + alt shiftr ctrll keycode 79 = Ascii_1 + shift alt shiftr ctrll keycode 79 = Hex_1 + altgr shiftl shiftr ctrll keycode 79 = Hex_1 + alt shiftl shiftr ctrll keycode 79 = Ascii_1 + shift alt shiftl shiftr ctrll keycode 79 = Hex_1 +keycode 80 = KP_2 + altgr keycode 80 = Hex_2 + alt keycode 80 = Ascii_2 + shift alt keycode 80 = Hex_2 + altgr shiftl keycode 80 = Hex_2 + alt shiftl keycode 80 = Ascii_2 + shift alt shiftl keycode 80 = Hex_2 + altgr shiftr keycode 80 = Hex_2 + alt shiftr keycode 80 = Ascii_2 + shift alt shiftr keycode 80 = Hex_2 + altgr shiftl shiftr keycode 80 = Hex_2 + alt shiftl shiftr keycode 80 = Ascii_2 + shift alt shiftl shiftr keycode 80 = Hex_2 + altgr ctrll keycode 80 = Hex_2 + alt ctrll keycode 80 = Ascii_2 + shift alt ctrll keycode 80 = Hex_2 + altgr shiftl ctrll keycode 80 = Hex_2 + alt shiftl ctrll keycode 80 = Ascii_2 + shift alt shiftl ctrll keycode 80 = Hex_2 + altgr shiftr ctrll keycode 80 = Hex_2 + alt shiftr ctrll keycode 80 = Ascii_2 + shift alt shiftr ctrll keycode 80 = Hex_2 + altgr shiftl shiftr ctrll keycode 80 = Hex_2 + alt shiftl shiftr ctrll keycode 80 = Ascii_2 + shift alt shiftl shiftr ctrll keycode 80 = Hex_2 +keycode 81 = KP_3 + altgr keycode 81 = Hex_3 + alt keycode 81 = Ascii_3 + shift alt keycode 81 = Hex_3 + altgr shiftl keycode 81 = Hex_3 + alt shiftl keycode 81 = Ascii_3 + shift alt shiftl keycode 81 = Hex_3 + altgr shiftr keycode 81 = Hex_3 + alt shiftr keycode 81 = Ascii_3 + shift alt shiftr keycode 81 = Hex_3 + altgr shiftl shiftr keycode 81 = Hex_3 + alt shiftl shiftr keycode 81 = Ascii_3 + shift alt shiftl shiftr keycode 81 = Hex_3 + altgr ctrll keycode 81 = Hex_3 + alt ctrll keycode 81 = Ascii_3 + shift alt ctrll keycode 81 = Hex_3 + altgr shiftl ctrll keycode 81 = Hex_3 + alt shiftl ctrll keycode 81 = Ascii_3 + shift alt shiftl ctrll keycode 81 = Hex_3 + altgr shiftr ctrll keycode 81 = Hex_3 + alt shiftr ctrll keycode 81 = Ascii_3 + shift alt shiftr ctrll keycode 81 = Hex_3 + altgr shiftl shiftr ctrll keycode 81 = Hex_3 + alt shiftl shiftr ctrll keycode 81 = Ascii_3 + shift alt shiftl shiftr ctrll keycode 81 = Hex_3 +keycode 82 = KP_0 + altgr keycode 82 = Hex_0 + alt keycode 82 = Ascii_0 + shift alt keycode 82 = Hex_0 + altgr shiftl keycode 82 = Hex_0 + alt shiftl keycode 82 = Ascii_0 + shift alt shiftl keycode 82 = Hex_0 + altgr shiftr keycode 82 = Hex_0 + alt shiftr keycode 82 = Ascii_0 + shift alt shiftr keycode 82 = Hex_0 + altgr shiftl shiftr keycode 82 = Hex_0 + alt shiftl shiftr keycode 82 = Ascii_0 + shift alt shiftl shiftr keycode 82 = Hex_0 + altgr ctrll keycode 82 = Hex_0 + alt ctrll keycode 82 = Ascii_0 + shift alt ctrll keycode 82 = Hex_0 + altgr shiftl ctrll keycode 82 = Hex_0 + alt shiftl ctrll keycode 82 = Ascii_0 + shift alt shiftl ctrll keycode 82 = Hex_0 + altgr shiftr ctrll keycode 82 = Hex_0 + alt shiftr ctrll keycode 82 = Ascii_0 + shift alt shiftr ctrll keycode 82 = Hex_0 + altgr shiftl shiftr ctrll keycode 82 = Hex_0 + alt shiftl shiftr ctrll keycode 82 = Ascii_0 + shift alt shiftl shiftr ctrll keycode 82 = Hex_0 +keycode 83 = KP_Comma + altgr control keycode 83 = Boot + control alt keycode 83 = Boot + altgr control alt keycode 83 = Boot + altgr control shiftl keycode 83 = Boot + control alt shiftl keycode 83 = Boot + altgr control alt shiftl keycode 83 = Boot + altgr control shiftr keycode 83 = Boot + control alt shiftr keycode 83 = Boot + altgr control alt shiftr keycode 83 = Boot + altgr control shiftl shiftr keycode 83 = Boot + control alt shiftl shiftr keycode 83 = Boot + altgr control alt shiftl shiftr keycode 83 = Boot + altgr control ctrll keycode 83 = Boot + control alt ctrll keycode 83 = Boot + altgr control alt ctrll keycode 83 = Boot + altgr control shiftl ctrll keycode 83 = Boot + control alt shiftl ctrll keycode 83 = Boot + altgr control alt shiftl ctrll keycode 83 = Boot + altgr control shiftr ctrll keycode 83 = Boot + control alt shiftr ctrll keycode 83 = Boot + altgr control alt shiftr ctrll keycode 83 = Boot + altgr control shiftl shiftr ctrll keycode 83 = Boot + control alt shiftl shiftr ctrll keycode 83 = Boot + altgr control alt shiftl shiftr ctrll keycode 83 = Boot +keycode 84 = Last_Console Last_Console Last_Console + control keycode 84 = Last_Console + shift control keycode 84 = Last_Console + alt keycode 84 = Last_Console + control alt keycode 84 = Last_Console +keycode 85 = +keycode 86 = backslash + shift keycode 86 = bar + altgr keycode 86 = +masculine + shift altgr keycode 86 = dead_tilde + control keycode 86 = Control_backslash + shift control keycode 86 = Control_backslash + altgr control keycode 86 = Control_backslash + shift altgr control keycode 86 = dead_tilde + alt keycode 86 = Meta_backslash + shift alt keycode 86 = Meta_bar + altgr alt keycode 86 = Meta_backslash + shift altgr alt keycode 86 = dead_tilde + control alt keycode 86 = Meta_Control_backslash + shift control alt keycode 86 = Meta_Control_backslash + altgr control alt keycode 86 = Meta_Control_backslash + shift altgr control alt keycode 86 = dead_tilde + shift shiftl keycode 86 = bar + altgr shiftl keycode 86 = +masculine + shift altgr shiftl keycode 86 = dead_tilde + control shiftl keycode 86 = Control_backslash + shift control shiftl keycode 86 = Control_backslash + altgr control shiftl keycode 86 = Control_backslash + shift altgr control shiftl keycode 86 = dead_tilde + alt shiftl keycode 86 = Meta_backslash + shift alt shiftl keycode 86 = Meta_bar + altgr alt shiftl keycode 86 = Meta_backslash + shift altgr alt shiftl keycode 86 = dead_tilde + control alt shiftl keycode 86 = Meta_Control_backslash + shift control alt shiftl keycode 86 = Meta_Control_backslash + altgr control alt shiftl keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl keycode 86 = dead_tilde + shift shiftr keycode 86 = bar + altgr shiftr keycode 86 = +masculine + shift altgr shiftr keycode 86 = dead_tilde + control shiftr keycode 86 = Control_backslash + shift control shiftr keycode 86 = Control_backslash + altgr control shiftr keycode 86 = Control_backslash + shift altgr control shiftr keycode 86 = dead_tilde + alt shiftr keycode 86 = Meta_backslash + shift alt shiftr keycode 86 = Meta_bar + altgr alt shiftr keycode 86 = Meta_backslash + shift altgr alt shiftr keycode 86 = dead_tilde + control alt shiftr keycode 86 = Meta_Control_backslash + shift control alt shiftr keycode 86 = Meta_Control_backslash + altgr control alt shiftr keycode 86 = Meta_Control_backslash + shift altgr control alt shiftr keycode 86 = dead_tilde + shift shiftl shiftr keycode 86 = bar + altgr shiftl shiftr keycode 86 = +masculine + shift altgr shiftl shiftr keycode 86 = dead_tilde + control shiftl shiftr keycode 86 = Control_backslash + shift control shiftl shiftr keycode 86 = Control_backslash + altgr control shiftl shiftr keycode 86 = Control_backslash + shift altgr control shiftl shiftr keycode 86 = dead_tilde + alt shiftl shiftr keycode 86 = Meta_backslash + shift alt shiftl shiftr keycode 86 = Meta_bar + altgr alt shiftl shiftr keycode 86 = Meta_backslash + shift altgr alt shiftl shiftr keycode 86 = dead_tilde + control alt shiftl shiftr keycode 86 = Meta_Control_backslash + shift control alt shiftl shiftr keycode 86 = Meta_Control_backslash + altgr control alt shiftl shiftr keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl shiftr keycode 86 = dead_tilde + shift ctrll keycode 86 = bar + altgr ctrll keycode 86 = +masculine + shift altgr ctrll keycode 86 = dead_tilde + control ctrll keycode 86 = Control_backslash + shift control ctrll keycode 86 = Control_backslash + altgr control ctrll keycode 86 = Control_backslash + shift altgr control ctrll keycode 86 = dead_tilde + alt ctrll keycode 86 = Meta_backslash + shift alt ctrll keycode 86 = Meta_bar + altgr alt ctrll keycode 86 = Meta_backslash + shift altgr alt ctrll keycode 86 = dead_tilde + control alt ctrll keycode 86 = Meta_Control_backslash + shift control alt ctrll keycode 86 = Meta_Control_backslash + altgr control alt ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt ctrll keycode 86 = dead_tilde + shift shiftl ctrll keycode 86 = bar + altgr shiftl ctrll keycode 86 = +masculine + shift altgr shiftl ctrll keycode 86 = dead_tilde + control shiftl ctrll keycode 86 = Control_backslash + shift control shiftl ctrll keycode 86 = Control_backslash + altgr control shiftl ctrll keycode 86 = Control_backslash + shift altgr control shiftl ctrll keycode 86 = dead_tilde + alt shiftl ctrll keycode 86 = Meta_backslash + shift alt shiftl ctrll keycode 86 = Meta_bar + altgr alt shiftl ctrll keycode 86 = Meta_backslash + shift altgr alt shiftl ctrll keycode 86 = dead_tilde + control alt shiftl ctrll keycode 86 = Meta_Control_backslash + shift control alt shiftl ctrll keycode 86 = Meta_Control_backslash + altgr control alt shiftl ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl ctrll keycode 86 = dead_tilde + shift shiftr ctrll keycode 86 = bar + altgr shiftr ctrll keycode 86 = +masculine + shift altgr shiftr ctrll keycode 86 = dead_tilde + control shiftr ctrll keycode 86 = Control_backslash + shift control shiftr ctrll keycode 86 = Control_backslash + altgr control shiftr ctrll keycode 86 = Control_backslash + shift altgr control shiftr ctrll keycode 86 = dead_tilde + alt shiftr ctrll keycode 86 = Meta_backslash + shift alt shiftr ctrll keycode 86 = Meta_bar + altgr alt shiftr ctrll keycode 86 = Meta_backslash + shift altgr alt shiftr ctrll keycode 86 = dead_tilde + control alt shiftr ctrll keycode 86 = Meta_Control_backslash + shift control alt shiftr ctrll keycode 86 = Meta_Control_backslash + altgr control alt shiftr ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt shiftr ctrll keycode 86 = dead_tilde + shift shiftl shiftr ctrll keycode 86 = bar + altgr shiftl shiftr ctrll keycode 86 = +masculine + shift altgr shiftl shiftr ctrll keycode 86 = dead_tilde + control shiftl shiftr ctrll keycode 86 = Control_backslash + shift control shiftl shiftr ctrll keycode 86 = Control_backslash + altgr control shiftl shiftr ctrll keycode 86 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 86 = dead_tilde + alt shiftl shiftr ctrll keycode 86 = Meta_backslash + shift alt shiftl shiftr ctrll keycode 86 = Meta_bar + altgr alt shiftl shiftr ctrll keycode 86 = Meta_backslash + shift altgr alt shiftl shiftr ctrll keycode 86 = dead_tilde + control alt shiftl shiftr ctrll keycode 86 = Meta_Control_backslash + shift control alt shiftl shiftr ctrll keycode 86 = Meta_Control_backslash + altgr control alt shiftl shiftr ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 86 = dead_tilde +keycode 87 = F11 + shift keycode 87 = F23 + altgr keycode 87 = Console_23 + shift altgr keycode 87 = Console_35 + control keycode 87 = F35 + shift control keycode 87 = F47 + altgr control keycode 87 = Console_23 + shift altgr control keycode 87 = Console_35 + alt keycode 87 = Console_11 + shift alt keycode 87 = Console_23 + control alt keycode 87 = Console_11 + shift control alt keycode 87 = Console_23 + shift shiftl keycode 87 = F23 + altgr shiftl keycode 87 = Console_23 + shift altgr shiftl keycode 87 = Console_35 + control shiftl keycode 87 = F35 + shift control shiftl keycode 87 = F47 + altgr control shiftl keycode 87 = Console_23 + shift altgr control shiftl keycode 87 = Console_35 + alt shiftl keycode 87 = Console_11 + shift alt shiftl keycode 87 = Console_23 + control alt shiftl keycode 87 = Console_11 + shift control alt shiftl keycode 87 = Console_23 + shift shiftr keycode 87 = F23 + altgr shiftr keycode 87 = Console_23 + shift altgr shiftr keycode 87 = Console_35 + control shiftr keycode 87 = F35 + shift control shiftr keycode 87 = F47 + altgr control shiftr keycode 87 = Console_23 + shift altgr control shiftr keycode 87 = Console_35 + alt shiftr keycode 87 = Console_11 + shift alt shiftr keycode 87 = Console_23 + control alt shiftr keycode 87 = Console_11 + shift control alt shiftr keycode 87 = Console_23 + shift shiftl shiftr keycode 87 = F23 + altgr shiftl shiftr keycode 87 = Console_23 + shift altgr shiftl shiftr keycode 87 = Console_35 + control shiftl shiftr keycode 87 = F35 + shift control shiftl shiftr keycode 87 = F47 + altgr control shiftl shiftr keycode 87 = Console_23 + shift altgr control shiftl shiftr keycode 87 = Console_35 + alt shiftl shiftr keycode 87 = Console_11 + shift alt shiftl shiftr keycode 87 = Console_23 + control alt shiftl shiftr keycode 87 = Console_11 + shift control alt shiftl shiftr keycode 87 = Console_23 + shift ctrll keycode 87 = F23 + altgr ctrll keycode 87 = Console_23 + shift altgr ctrll keycode 87 = Console_35 + control ctrll keycode 87 = F35 + shift control ctrll keycode 87 = F47 + altgr control ctrll keycode 87 = Console_23 + shift altgr control ctrll keycode 87 = Console_35 + alt ctrll keycode 87 = Console_11 + shift alt ctrll keycode 87 = Console_23 + control alt ctrll keycode 87 = Console_11 + shift control alt ctrll keycode 87 = Console_23 + shift shiftl ctrll keycode 87 = F23 + altgr shiftl ctrll keycode 87 = Console_23 + shift altgr shiftl ctrll keycode 87 = Console_35 + control shiftl ctrll keycode 87 = F35 + shift control shiftl ctrll keycode 87 = F47 + altgr control shiftl ctrll keycode 87 = Console_23 + shift altgr control shiftl ctrll keycode 87 = Console_35 + alt shiftl ctrll keycode 87 = Console_11 + shift alt shiftl ctrll keycode 87 = Console_23 + control alt shiftl ctrll keycode 87 = Console_11 + shift control alt shiftl ctrll keycode 87 = Console_23 + shift shiftr ctrll keycode 87 = F23 + altgr shiftr ctrll keycode 87 = Console_23 + shift altgr shiftr ctrll keycode 87 = Console_35 + control shiftr ctrll keycode 87 = F35 + shift control shiftr ctrll keycode 87 = F47 + altgr control shiftr ctrll keycode 87 = Console_23 + shift altgr control shiftr ctrll keycode 87 = Console_35 + alt shiftr ctrll keycode 87 = Console_11 + shift alt shiftr ctrll keycode 87 = Console_23 + control alt shiftr ctrll keycode 87 = Console_11 + shift control alt shiftr ctrll keycode 87 = Console_23 + shift shiftl shiftr ctrll keycode 87 = F23 + altgr shiftl shiftr ctrll keycode 87 = Console_23 + shift altgr shiftl shiftr ctrll keycode 87 = Console_35 + control shiftl shiftr ctrll keycode 87 = F35 + shift control shiftl shiftr ctrll keycode 87 = F47 + altgr control shiftl shiftr ctrll keycode 87 = Console_23 + shift altgr control shiftl shiftr ctrll keycode 87 = Console_35 + alt shiftl shiftr ctrll keycode 87 = Console_11 + shift alt shiftl shiftr ctrll keycode 87 = Console_23 + control alt shiftl shiftr ctrll keycode 87 = Console_11 + shift control alt shiftl shiftr ctrll keycode 87 = Console_23 +keycode 88 = F12 + shift keycode 88 = F24 + altgr keycode 88 = Console_24 + shift altgr keycode 88 = Console_36 + control keycode 88 = F36 + shift control keycode 88 = F48 + altgr control keycode 88 = Console_24 + shift altgr control keycode 88 = Console_36 + alt keycode 88 = Console_12 + shift alt keycode 88 = Console_24 + control alt keycode 88 = Console_12 + shift control alt keycode 88 = Console_24 + shift shiftl keycode 88 = F24 + altgr shiftl keycode 88 = Console_24 + shift altgr shiftl keycode 88 = Console_36 + control shiftl keycode 88 = F36 + shift control shiftl keycode 88 = F48 + altgr control shiftl keycode 88 = Console_24 + shift altgr control shiftl keycode 88 = Console_36 + alt shiftl keycode 88 = Console_12 + shift alt shiftl keycode 88 = Console_24 + control alt shiftl keycode 88 = Console_12 + shift control alt shiftl keycode 88 = Console_24 + shift shiftr keycode 88 = F24 + altgr shiftr keycode 88 = Console_24 + shift altgr shiftr keycode 88 = Console_36 + control shiftr keycode 88 = F36 + shift control shiftr keycode 88 = F48 + altgr control shiftr keycode 88 = Console_24 + shift altgr control shiftr keycode 88 = Console_36 + alt shiftr keycode 88 = Console_12 + shift alt shiftr keycode 88 = Console_24 + control alt shiftr keycode 88 = Console_12 + shift control alt shiftr keycode 88 = Console_24 + shift shiftl shiftr keycode 88 = F24 + altgr shiftl shiftr keycode 88 = Console_24 + shift altgr shiftl shiftr keycode 88 = Console_36 + control shiftl shiftr keycode 88 = F36 + shift control shiftl shiftr keycode 88 = F48 + altgr control shiftl shiftr keycode 88 = Console_24 + shift altgr control shiftl shiftr keycode 88 = Console_36 + alt shiftl shiftr keycode 88 = Console_12 + shift alt shiftl shiftr keycode 88 = Console_24 + control alt shiftl shiftr keycode 88 = Console_12 + shift control alt shiftl shiftr keycode 88 = Console_24 + shift ctrll keycode 88 = F24 + altgr ctrll keycode 88 = Console_24 + shift altgr ctrll keycode 88 = Console_36 + control ctrll keycode 88 = F36 + shift control ctrll keycode 88 = F48 + altgr control ctrll keycode 88 = Console_24 + shift altgr control ctrll keycode 88 = Console_36 + alt ctrll keycode 88 = Console_12 + shift alt ctrll keycode 88 = Console_24 + control alt ctrll keycode 88 = Console_12 + shift control alt ctrll keycode 88 = Console_24 + shift shiftl ctrll keycode 88 = F24 + altgr shiftl ctrll keycode 88 = Console_24 + shift altgr shiftl ctrll keycode 88 = Console_36 + control shiftl ctrll keycode 88 = F36 + shift control shiftl ctrll keycode 88 = F48 + altgr control shiftl ctrll keycode 88 = Console_24 + shift altgr control shiftl ctrll keycode 88 = Console_36 + alt shiftl ctrll keycode 88 = Console_12 + shift alt shiftl ctrll keycode 88 = Console_24 + control alt shiftl ctrll keycode 88 = Console_12 + shift control alt shiftl ctrll keycode 88 = Console_24 + shift shiftr ctrll keycode 88 = F24 + altgr shiftr ctrll keycode 88 = Console_24 + shift altgr shiftr ctrll keycode 88 = Console_36 + control shiftr ctrll keycode 88 = F36 + shift control shiftr ctrll keycode 88 = F48 + altgr control shiftr ctrll keycode 88 = Console_24 + shift altgr control shiftr ctrll keycode 88 = Console_36 + alt shiftr ctrll keycode 88 = Console_12 + shift alt shiftr ctrll keycode 88 = Console_24 + control alt shiftr ctrll keycode 88 = Console_12 + shift control alt shiftr ctrll keycode 88 = Console_24 + shift shiftl shiftr ctrll keycode 88 = F24 + altgr shiftl shiftr ctrll keycode 88 = Console_24 + shift altgr shiftl shiftr ctrll keycode 88 = Console_36 + control shiftl shiftr ctrll keycode 88 = F36 + shift control shiftl shiftr ctrll keycode 88 = F48 + altgr control shiftl shiftr ctrll keycode 88 = Console_24 + shift altgr control shiftl shiftr ctrll keycode 88 = Console_36 + alt shiftl shiftr ctrll keycode 88 = Console_12 + shift alt shiftl shiftr ctrll keycode 88 = Console_24 + control alt shiftl shiftr ctrll keycode 88 = Console_12 + shift control alt shiftl shiftr ctrll keycode 88 = Console_24 +keycode 89 = slash + shift keycode 89 = question + altgr keycode 89 = degree + shift altgr keycode 89 = questiondown + control keycode 89 = Delete + shift control keycode 89 = Delete + altgr control keycode 89 = Delete + shift altgr control keycode 89 = Delete + alt keycode 89 = Meta_slash + shift alt keycode 89 = Meta_question + altgr alt keycode 89 = Meta_slash + shift altgr alt keycode 89 = Meta_question + control alt keycode 89 = Meta_Delete + shift control alt keycode 89 = Meta_Delete + altgr control alt keycode 89 = Meta_Delete + shift altgr control alt keycode 89 = Meta_Delete + shift shiftl keycode 89 = question + altgr shiftl keycode 89 = degree + shift altgr shiftl keycode 89 = questiondown + control shiftl keycode 89 = Delete + shift control shiftl keycode 89 = Delete + altgr control shiftl keycode 89 = Delete + shift altgr control shiftl keycode 89 = Delete + alt shiftl keycode 89 = Meta_slash + shift alt shiftl keycode 89 = Meta_question + altgr alt shiftl keycode 89 = Meta_slash + shift altgr alt shiftl keycode 89 = Meta_question + control alt shiftl keycode 89 = Meta_Delete + shift control alt shiftl keycode 89 = Meta_Delete + altgr control alt shiftl keycode 89 = Meta_Delete + shift altgr control alt shiftl keycode 89 = Meta_Delete + shift shiftr keycode 89 = question + altgr shiftr keycode 89 = degree + shift altgr shiftr keycode 89 = questiondown + control shiftr keycode 89 = Delete + shift control shiftr keycode 89 = Delete + altgr control shiftr keycode 89 = Delete + shift altgr control shiftr keycode 89 = Delete + alt shiftr keycode 89 = Meta_slash + shift alt shiftr keycode 89 = Meta_question + altgr alt shiftr keycode 89 = Meta_slash + shift altgr alt shiftr keycode 89 = Meta_question + control alt shiftr keycode 89 = Meta_Delete + shift control alt shiftr keycode 89 = Meta_Delete + altgr control alt shiftr keycode 89 = Meta_Delete + shift altgr control alt shiftr keycode 89 = Meta_Delete + shift shiftl shiftr keycode 89 = question + altgr shiftl shiftr keycode 89 = degree + shift altgr shiftl shiftr keycode 89 = questiondown + control shiftl shiftr keycode 89 = Delete + shift control shiftl shiftr keycode 89 = Delete + altgr control shiftl shiftr keycode 89 = Delete + shift altgr control shiftl shiftr keycode 89 = Delete + alt shiftl shiftr keycode 89 = Meta_slash + shift alt shiftl shiftr keycode 89 = Meta_question + altgr alt shiftl shiftr keycode 89 = Meta_slash + shift altgr alt shiftl shiftr keycode 89 = Meta_question + control alt shiftl shiftr keycode 89 = Meta_Delete + shift control alt shiftl shiftr keycode 89 = Meta_Delete + altgr control alt shiftl shiftr keycode 89 = Meta_Delete + shift altgr control alt shiftl shiftr keycode 89 = Meta_Delete + shift ctrll keycode 89 = question + altgr ctrll keycode 89 = degree + shift altgr ctrll keycode 89 = questiondown + control ctrll keycode 89 = Delete + shift control ctrll keycode 89 = Delete + altgr control ctrll keycode 89 = Delete + shift altgr control ctrll keycode 89 = Delete + alt ctrll keycode 89 = Meta_slash + shift alt ctrll keycode 89 = Meta_question + altgr alt ctrll keycode 89 = Meta_slash + shift altgr alt ctrll keycode 89 = Meta_question + control alt ctrll keycode 89 = Meta_Delete + shift control alt ctrll keycode 89 = Meta_Delete + altgr control alt ctrll keycode 89 = Meta_Delete + shift altgr control alt ctrll keycode 89 = Meta_Delete + shift shiftl ctrll keycode 89 = question + altgr shiftl ctrll keycode 89 = degree + shift altgr shiftl ctrll keycode 89 = questiondown + control shiftl ctrll keycode 89 = Delete + shift control shiftl ctrll keycode 89 = Delete + altgr control shiftl ctrll keycode 89 = Delete + shift altgr control shiftl ctrll keycode 89 = Delete + alt shiftl ctrll keycode 89 = Meta_slash + shift alt shiftl ctrll keycode 89 = Meta_question + altgr alt shiftl ctrll keycode 89 = Meta_slash + shift altgr alt shiftl ctrll keycode 89 = Meta_question + control alt shiftl ctrll keycode 89 = Meta_Delete + shift control alt shiftl ctrll keycode 89 = Meta_Delete + altgr control alt shiftl ctrll keycode 89 = Meta_Delete + shift altgr control alt shiftl ctrll keycode 89 = Meta_Delete + shift shiftr ctrll keycode 89 = question + altgr shiftr ctrll keycode 89 = degree + shift altgr shiftr ctrll keycode 89 = questiondown + control shiftr ctrll keycode 89 = Delete + shift control shiftr ctrll keycode 89 = Delete + altgr control shiftr ctrll keycode 89 = Delete + shift altgr control shiftr ctrll keycode 89 = Delete + alt shiftr ctrll keycode 89 = Meta_slash + shift alt shiftr ctrll keycode 89 = Meta_question + altgr alt shiftr ctrll keycode 89 = Meta_slash + shift altgr alt shiftr ctrll keycode 89 = Meta_question + control alt shiftr ctrll keycode 89 = Meta_Delete + shift control alt shiftr ctrll keycode 89 = Meta_Delete + altgr control alt shiftr ctrll keycode 89 = Meta_Delete + shift altgr control alt shiftr ctrll keycode 89 = Meta_Delete + shift shiftl shiftr ctrll keycode 89 = question + altgr shiftl shiftr ctrll keycode 89 = degree + shift altgr shiftl shiftr ctrll keycode 89 = questiondown + control shiftl shiftr ctrll keycode 89 = Delete + shift control shiftl shiftr ctrll keycode 89 = Delete + altgr control shiftl shiftr ctrll keycode 89 = Delete + shift altgr control shiftl shiftr ctrll keycode 89 = Delete + alt shiftl shiftr ctrll keycode 89 = Meta_slash + shift alt shiftl shiftr ctrll keycode 89 = Meta_question + altgr alt shiftl shiftr ctrll keycode 89 = Meta_slash + shift altgr alt shiftl shiftr ctrll keycode 89 = Meta_question + control alt shiftl shiftr ctrll keycode 89 = Meta_Delete + shift control alt shiftl shiftr ctrll keycode 89 = Meta_Delete + altgr control alt shiftl shiftr ctrll keycode 89 = Meta_Delete + shift altgr control alt shiftl shiftr ctrll keycode 89 = Meta_Delete +keycode 90 = +keycode 91 = +keycode 92 = +keycode 93 = +keycode 94 = +keycode 95 = +keycode 96 = KP_Enter + altgr keycode 96 = Hex_F + shift alt keycode 96 = Hex_F + altgr shiftl keycode 96 = Hex_F + shift alt shiftl keycode 96 = Hex_F + altgr shiftr keycode 96 = Hex_F + shift alt shiftr keycode 96 = Hex_F + altgr shiftl shiftr keycode 96 = Hex_F + shift alt shiftl shiftr keycode 96 = Hex_F + altgr ctrll keycode 96 = Hex_F + shift alt ctrll keycode 96 = Hex_F + altgr shiftl ctrll keycode 96 = Hex_F + shift alt shiftl ctrll keycode 96 = Hex_F + altgr shiftr ctrll keycode 96 = Hex_F + shift alt shiftr ctrll keycode 96 = Hex_F + altgr shiftl shiftr ctrll keycode 96 = Hex_F + shift alt shiftl shiftr ctrll keycode 96 = Hex_F +keycode 97 = Control +keycode 98 = KP_Divide + altgr keycode 98 = Hex_B + shift alt keycode 98 = Hex_B + altgr shiftl keycode 98 = Hex_B + shift alt shiftl keycode 98 = Hex_B + altgr shiftr keycode 98 = Hex_B + shift alt shiftr keycode 98 = Hex_B + altgr shiftl shiftr keycode 98 = Hex_B + shift alt shiftl shiftr keycode 98 = Hex_B + altgr ctrll keycode 98 = Hex_B + shift alt ctrll keycode 98 = Hex_B + altgr shiftl ctrll keycode 98 = Hex_B + shift alt shiftl ctrll keycode 98 = Hex_B + altgr shiftr ctrll keycode 98 = Hex_B + shift alt shiftr ctrll keycode 98 = Hex_B + altgr shiftl shiftr ctrll keycode 98 = Hex_B + shift alt shiftl shiftr ctrll keycode 98 = Hex_B +keycode 99 = + altgr keycode 99 = Control_backslash + shift altgr keycode 99 = Control_backslash + control keycode 99 = Control_backslash + shift control keycode 99 = Control_backslash + altgr control keycode 99 = Control_backslash + shift altgr control keycode 99 = Control_backslash + alt keycode 99 = Control_backslash + shift alt keycode 99 = Control_backslash + altgr alt keycode 99 = Control_backslash + shift altgr alt keycode 99 = Control_backslash + control alt keycode 99 = Control_backslash + shift control alt keycode 99 = Control_backslash + altgr control alt keycode 99 = Control_backslash + shift altgr control alt keycode 99 = Control_backslash + altgr shiftl keycode 99 = Control_backslash + shift altgr shiftl keycode 99 = Control_backslash + control shiftl keycode 99 = Control_backslash + shift control shiftl keycode 99 = Control_backslash + altgr control shiftl keycode 99 = Control_backslash + shift altgr control shiftl keycode 99 = Control_backslash + alt shiftl keycode 99 = Control_backslash + shift alt shiftl keycode 99 = Control_backslash + altgr alt shiftl keycode 99 = Control_backslash + shift altgr alt shiftl keycode 99 = Control_backslash + control alt shiftl keycode 99 = Control_backslash + shift control alt shiftl keycode 99 = Control_backslash + altgr control alt shiftl keycode 99 = Control_backslash + shift altgr control alt shiftl keycode 99 = Control_backslash + altgr shiftr keycode 99 = Control_backslash + shift altgr shiftr keycode 99 = Control_backslash + control shiftr keycode 99 = Control_backslash + shift control shiftr keycode 99 = Control_backslash + altgr control shiftr keycode 99 = Control_backslash + shift altgr control shiftr keycode 99 = Control_backslash + alt shiftr keycode 99 = Control_backslash + shift alt shiftr keycode 99 = Control_backslash + altgr alt shiftr keycode 99 = Control_backslash + shift altgr alt shiftr keycode 99 = Control_backslash + control alt shiftr keycode 99 = Control_backslash + shift control alt shiftr keycode 99 = Control_backslash + altgr control alt shiftr keycode 99 = Control_backslash + shift altgr control alt shiftr keycode 99 = Control_backslash + altgr shiftl shiftr keycode 99 = Control_backslash + shift altgr shiftl shiftr keycode 99 = Control_backslash + control shiftl shiftr keycode 99 = Control_backslash + shift control shiftl shiftr keycode 99 = Control_backslash + altgr control shiftl shiftr keycode 99 = Control_backslash + shift altgr control shiftl shiftr keycode 99 = Control_backslash + alt shiftl shiftr keycode 99 = Control_backslash + shift alt shiftl shiftr keycode 99 = Control_backslash + altgr alt shiftl shiftr keycode 99 = Control_backslash + shift altgr alt shiftl shiftr keycode 99 = Control_backslash + control alt shiftl shiftr keycode 99 = Control_backslash + shift control alt shiftl shiftr keycode 99 = Control_backslash + altgr control alt shiftl shiftr keycode 99 = Control_backslash + shift altgr control alt shiftl shiftr keycode 99 = Control_backslash + altgr ctrll keycode 99 = Control_backslash + shift altgr ctrll keycode 99 = Control_backslash + control ctrll keycode 99 = Control_backslash + shift control ctrll keycode 99 = Control_backslash + altgr control ctrll keycode 99 = Control_backslash + shift altgr control ctrll keycode 99 = Control_backslash + alt ctrll keycode 99 = Control_backslash + shift alt ctrll keycode 99 = Control_backslash + altgr alt ctrll keycode 99 = Control_backslash + shift altgr alt ctrll keycode 99 = Control_backslash + control alt ctrll keycode 99 = Control_backslash + shift control alt ctrll keycode 99 = Control_backslash + altgr control alt ctrll keycode 99 = Control_backslash + shift altgr control alt ctrll keycode 99 = Control_backslash + altgr shiftl ctrll keycode 99 = Control_backslash + shift altgr shiftl ctrll keycode 99 = Control_backslash + control shiftl ctrll keycode 99 = Control_backslash + shift control shiftl ctrll keycode 99 = Control_backslash + altgr control shiftl ctrll keycode 99 = Control_backslash + shift altgr control shiftl ctrll keycode 99 = Control_backslash + alt shiftl ctrll keycode 99 = Control_backslash + shift alt shiftl ctrll keycode 99 = Control_backslash + altgr alt shiftl ctrll keycode 99 = Control_backslash + shift altgr alt shiftl ctrll keycode 99 = Control_backslash + control alt shiftl ctrll keycode 99 = Control_backslash + shift control alt shiftl ctrll keycode 99 = Control_backslash + altgr control alt shiftl ctrll keycode 99 = Control_backslash + shift altgr control alt shiftl ctrll keycode 99 = Control_backslash + altgr shiftr ctrll keycode 99 = Control_backslash + shift altgr shiftr ctrll keycode 99 = Control_backslash + control shiftr ctrll keycode 99 = Control_backslash + shift control shiftr ctrll keycode 99 = Control_backslash + altgr control shiftr ctrll keycode 99 = Control_backslash + shift altgr control shiftr ctrll keycode 99 = Control_backslash + alt shiftr ctrll keycode 99 = Control_backslash + shift alt shiftr ctrll keycode 99 = Control_backslash + altgr alt shiftr ctrll keycode 99 = Control_backslash + shift altgr alt shiftr ctrll keycode 99 = Control_backslash + control alt shiftr ctrll keycode 99 = Control_backslash + shift control alt shiftr ctrll keycode 99 = Control_backslash + altgr control alt shiftr ctrll keycode 99 = Control_backslash + shift altgr control alt shiftr ctrll keycode 99 = Control_backslash + altgr shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr shiftl shiftr ctrll keycode 99 = Control_backslash + control shiftl shiftr ctrll keycode 99 = Control_backslash + shift control shiftl shiftr ctrll keycode 99 = Control_backslash + altgr control shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 99 = Control_backslash + alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift alt shiftl shiftr ctrll keycode 99 = Control_backslash + altgr alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr alt shiftl shiftr ctrll keycode 99 = Control_backslash + control alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift control alt shiftl shiftr ctrll keycode 99 = Control_backslash + altgr control alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 99 = Control_backslash +keycode 100 = AltGr +keycode 101 = Break Break Break + control keycode 101 = Break + shift control keycode 101 = Break + alt keycode 101 = Break + control alt keycode 101 = Break +keycode 102 = Find +keycode 103 = Up + alt keycode 103 = KeyboardSignal + alt shiftl keycode 103 = KeyboardSignal + alt shiftr keycode 103 = KeyboardSignal + alt shiftl shiftr keycode 103 = KeyboardSignal + alt ctrll keycode 103 = KeyboardSignal + alt shiftl ctrll keycode 103 = KeyboardSignal + alt shiftr ctrll keycode 103 = KeyboardSignal + alt shiftl shiftr ctrll keycode 103 = KeyboardSignal +keycode 104 = Prior + shift keycode 104 = Scroll_Backward + shift shiftl keycode 104 = Scroll_Backward + shift shiftr keycode 104 = Scroll_Backward + shift shiftl shiftr keycode 104 = Scroll_Backward + shift ctrll keycode 104 = Scroll_Backward + shift shiftl ctrll keycode 104 = Scroll_Backward + shift shiftr ctrll keycode 104 = Scroll_Backward + shift shiftl shiftr ctrll keycode 104 = Scroll_Backward +keycode 105 = Left + alt keycode 105 = Decr_Console + alt shiftl keycode 105 = Decr_Console + alt shiftr keycode 105 = Decr_Console + alt shiftl shiftr keycode 105 = Decr_Console + alt ctrll keycode 105 = Decr_Console + alt shiftl ctrll keycode 105 = Decr_Console + alt shiftr ctrll keycode 105 = Decr_Console + alt shiftl shiftr ctrll keycode 105 = Decr_Console +keycode 106 = Right + alt keycode 106 = Incr_Console + alt shiftl keycode 106 = Incr_Console + alt shiftr keycode 106 = Incr_Console + alt shiftl shiftr keycode 106 = Incr_Console + alt ctrll keycode 106 = Incr_Console + alt shiftl ctrll keycode 106 = Incr_Console + alt shiftr ctrll keycode 106 = Incr_Console + alt shiftl shiftr ctrll keycode 106 = Incr_Console +keycode 107 = Select +keycode 108 = Down +keycode 109 = Next + shift keycode 109 = Scroll_Forward + shift shiftl keycode 109 = Scroll_Forward + shift shiftr keycode 109 = Scroll_Forward + shift shiftl shiftr keycode 109 = Scroll_Forward + shift ctrll keycode 109 = Scroll_Forward + shift shiftl ctrll keycode 109 = Scroll_Forward + shift shiftr ctrll keycode 109 = Scroll_Forward + shift shiftl shiftr ctrll keycode 109 = Scroll_Forward +keycode 110 = Insert +keycode 111 = Remove + altgr control keycode 111 = Boot + control alt keycode 111 = Boot + altgr control alt keycode 111 = Boot + altgr control shiftl keycode 111 = Boot + control alt shiftl keycode 111 = Boot + altgr control alt shiftl keycode 111 = Boot + altgr control shiftr keycode 111 = Boot + control alt shiftr keycode 111 = Boot + altgr control alt shiftr keycode 111 = Boot + altgr control shiftl shiftr keycode 111 = Boot + control alt shiftl shiftr keycode 111 = Boot + altgr control alt shiftl shiftr keycode 111 = Boot + altgr control ctrll keycode 111 = Boot + control alt ctrll keycode 111 = Boot + altgr control alt ctrll keycode 111 = Boot + altgr control shiftl ctrll keycode 111 = Boot + control alt shiftl ctrll keycode 111 = Boot + altgr control alt shiftl ctrll keycode 111 = Boot + altgr control shiftr ctrll keycode 111 = Boot + control alt shiftr ctrll keycode 111 = Boot + altgr control alt shiftr ctrll keycode 111 = Boot + altgr control shiftl shiftr ctrll keycode 111 = Boot + control alt shiftl shiftr ctrll keycode 111 = Boot + altgr control alt shiftl shiftr ctrll keycode 111 = Boot +keycode 112 = Macro Macro Macro + control keycode 112 = Macro + shift control keycode 112 = Macro + alt keycode 112 = Macro + control alt keycode 112 = Macro +keycode 113 = F13 F13 F13 + control keycode 113 = F13 + shift control keycode 113 = F13 + alt keycode 113 = F13 + control alt keycode 113 = F13 +keycode 114 = F14 F14 F14 + control keycode 114 = F14 + shift control keycode 114 = F14 + alt keycode 114 = F14 + control alt keycode 114 = F14 +keycode 115 = Help Help Help + control keycode 115 = Help + shift control keycode 115 = Help + alt keycode 115 = Help + control alt keycode 115 = Help +keycode 116 = Do Do Do + control keycode 116 = Do + shift control keycode 116 = Do + alt keycode 116 = Do + control alt keycode 116 = Do +keycode 117 = F17 F17 F17 + control keycode 117 = F17 + shift control keycode 117 = F17 + alt keycode 117 = F17 + control alt keycode 117 = F17 +keycode 118 = KP_MinPlus KP_MinPlus KP_MinPlus + control keycode 118 = KP_MinPlus + shift control keycode 118 = KP_MinPlus + alt keycode 118 = KP_MinPlus + control alt keycode 118 = KP_MinPlus +keycode 119 = Pause +keycode 120 = +keycode 121 = KP_Period +keycode 122 = +keycode 123 = +keycode 124 = +keycode 125 = Alt +keycode 126 = Alt +keycode 127 = +keycode 128 = nul nul nul + control keycode 128 = nul + shift control keycode 128 = nul + alt keycode 128 = nul + control alt keycode 128 = nul +keycode 129 = nul nul nul + control keycode 129 = nul + shift control keycode 129 = nul + alt keycode 129 = nul + control alt keycode 129 = nul +keycode 130 = nul nul nul + control keycode 130 = nul + shift control keycode 130 = nul + alt keycode 130 = nul + control alt keycode 130 = nul +keycode 131 = nul nul nul + control keycode 131 = nul + shift control keycode 131 = nul + alt keycode 131 = nul + control alt keycode 131 = nul +keycode 132 = nul nul nul + control keycode 132 = nul + shift control keycode 132 = nul + alt keycode 132 = nul + control alt keycode 132 = nul +keycode 133 = nul nul nul + control keycode 133 = nul + shift control keycode 133 = nul + alt keycode 133 = nul + control alt keycode 133 = nul +keycode 134 = nul nul nul + control keycode 134 = nul + shift control keycode 134 = nul + alt keycode 134 = nul + control alt keycode 134 = nul +keycode 135 = nul nul nul + control keycode 135 = nul + shift control keycode 135 = nul + alt keycode 135 = nul + control alt keycode 135 = nul +keycode 136 = nul nul nul + control keycode 136 = nul + shift control keycode 136 = nul + alt keycode 136 = nul + control alt keycode 136 = nul +keycode 137 = nul nul nul + control keycode 137 = nul + shift control keycode 137 = nul + alt keycode 137 = nul + control alt keycode 137 = nul +keycode 138 = nul nul nul + control keycode 138 = nul + shift control keycode 138 = nul + alt keycode 138 = nul + control alt keycode 138 = nul +keycode 139 = nul nul nul + control keycode 139 = nul + shift control keycode 139 = nul + alt keycode 139 = nul + control alt keycode 139 = nul +keycode 140 = nul nul nul + control keycode 140 = nul + shift control keycode 140 = nul + alt keycode 140 = nul + control alt keycode 140 = nul +keycode 141 = nul nul nul + control keycode 141 = nul + shift control keycode 141 = nul + alt keycode 141 = nul + control alt keycode 141 = nul +keycode 142 = nul nul nul + control keycode 142 = nul + shift control keycode 142 = nul + alt keycode 142 = nul + control alt keycode 142 = nul +keycode 143 = nul nul nul + control keycode 143 = nul + shift control keycode 143 = nul + alt keycode 143 = nul + control alt keycode 143 = nul +keycode 144 = nul nul nul + control keycode 144 = nul + shift control keycode 144 = nul + alt keycode 144 = nul + control alt keycode 144 = nul +keycode 145 = nul nul nul + control keycode 145 = nul + shift control keycode 145 = nul + alt keycode 145 = nul + control alt keycode 145 = nul +keycode 146 = nul nul nul + control keycode 146 = nul + shift control keycode 146 = nul + alt keycode 146 = nul + control alt keycode 146 = nul +keycode 147 = nul nul nul + control keycode 147 = nul + shift control keycode 147 = nul + alt keycode 147 = nul + control alt keycode 147 = nul +keycode 148 = nul nul nul + control keycode 148 = nul + shift control keycode 148 = nul + alt keycode 148 = nul + control alt keycode 148 = nul +keycode 149 = nul nul nul + control keycode 149 = nul + shift control keycode 149 = nul + alt keycode 149 = nul + control alt keycode 149 = nul +keycode 150 = nul nul nul + control keycode 150 = nul + shift control keycode 150 = nul + alt keycode 150 = nul + control alt keycode 150 = nul +keycode 151 = nul nul nul + control keycode 151 = nul + shift control keycode 151 = nul + alt keycode 151 = nul + control alt keycode 151 = nul +keycode 152 = nul nul nul + control keycode 152 = nul + shift control keycode 152 = nul + alt keycode 152 = nul + control alt keycode 152 = nul +keycode 153 = nul nul nul + control keycode 153 = nul + shift control keycode 153 = nul + alt keycode 153 = nul + control alt keycode 153 = nul +keycode 154 = nul nul nul + control keycode 154 = nul + shift control keycode 154 = nul + alt keycode 154 = nul + control alt keycode 154 = nul +keycode 155 = nul nul nul + control keycode 155 = nul + shift control keycode 155 = nul + alt keycode 155 = nul + control alt keycode 155 = nul +keycode 156 = nul nul nul + control keycode 156 = nul + shift control keycode 156 = nul + alt keycode 156 = nul + control alt keycode 156 = nul +keycode 157 = nul nul nul + control keycode 157 = nul + shift control keycode 157 = nul + alt keycode 157 = nul + control alt keycode 157 = nul +keycode 158 = nul nul nul + control keycode 158 = nul + shift control keycode 158 = nul + alt keycode 158 = nul + control alt keycode 158 = nul +keycode 159 = nul nul nul + control keycode 159 = nul + shift control keycode 159 = nul + alt keycode 159 = nul + control alt keycode 159 = nul +keycode 160 = nul nul nul + control keycode 160 = nul + shift control keycode 160 = nul + alt keycode 160 = nul + control alt keycode 160 = nul +keycode 161 = nul nul nul + control keycode 161 = nul + shift control keycode 161 = nul + alt keycode 161 = nul + control alt keycode 161 = nul +keycode 162 = nul nul nul + control keycode 162 = nul + shift control keycode 162 = nul + alt keycode 162 = nul + control alt keycode 162 = nul +keycode 163 = nul nul nul + control keycode 163 = nul + shift control keycode 163 = nul + alt keycode 163 = nul + control alt keycode 163 = nul +keycode 164 = nul nul nul + control keycode 164 = nul + shift control keycode 164 = nul + alt keycode 164 = nul + control alt keycode 164 = nul +keycode 165 = nul nul nul + control keycode 165 = nul + shift control keycode 165 = nul + alt keycode 165 = nul + control alt keycode 165 = nul +keycode 166 = nul nul nul + control keycode 166 = nul + shift control keycode 166 = nul + alt keycode 166 = nul + control alt keycode 166 = nul +keycode 167 = nul nul nul + control keycode 167 = nul + shift control keycode 167 = nul + alt keycode 167 = nul + control alt keycode 167 = nul +keycode 168 = nul nul nul + control keycode 168 = nul + shift control keycode 168 = nul + alt keycode 168 = nul + control alt keycode 168 = nul +keycode 169 = nul nul nul + control keycode 169 = nul + shift control keycode 169 = nul + alt keycode 169 = nul + control alt keycode 169 = nul +keycode 170 = nul nul nul + control keycode 170 = nul + shift control keycode 170 = nul + alt keycode 170 = nul + control alt keycode 170 = nul +keycode 171 = nul nul nul + control keycode 171 = nul + shift control keycode 171 = nul + alt keycode 171 = nul + control alt keycode 171 = nul +keycode 172 = nul nul nul + control keycode 172 = nul + shift control keycode 172 = nul + alt keycode 172 = nul + control alt keycode 172 = nul +keycode 173 = nul nul nul + control keycode 173 = nul + shift control keycode 173 = nul + alt keycode 173 = nul + control alt keycode 173 = nul +keycode 174 = nul nul nul + control keycode 174 = nul + shift control keycode 174 = nul + alt keycode 174 = nul + control alt keycode 174 = nul +keycode 175 = nul nul nul + control keycode 175 = nul + shift control keycode 175 = nul + alt keycode 175 = nul + control alt keycode 175 = nul +keycode 176 = nul nul nul + control keycode 176 = nul + shift control keycode 176 = nul + alt keycode 176 = nul + control alt keycode 176 = nul +keycode 177 = nul nul nul + control keycode 177 = nul + shift control keycode 177 = nul + alt keycode 177 = nul + control alt keycode 177 = nul +keycode 178 = nul nul nul + control keycode 178 = nul + shift control keycode 178 = nul + alt keycode 178 = nul + control alt keycode 178 = nul +keycode 179 = nul nul nul + control keycode 179 = nul + shift control keycode 179 = nul + alt keycode 179 = nul + control alt keycode 179 = nul +keycode 180 = nul nul nul + control keycode 180 = nul + shift control keycode 180 = nul + alt keycode 180 = nul + control alt keycode 180 = nul +keycode 181 = nul nul nul + control keycode 181 = nul + shift control keycode 181 = nul + alt keycode 181 = nul + control alt keycode 181 = nul +keycode 182 = nul nul nul + control keycode 182 = nul + shift control keycode 182 = nul + alt keycode 182 = nul + control alt keycode 182 = nul +keycode 183 = nul nul nul + control keycode 183 = nul + shift control keycode 183 = nul + alt keycode 183 = nul + control alt keycode 183 = nul +keycode 184 = nul nul nul + control keycode 184 = nul + shift control keycode 184 = nul + alt keycode 184 = nul + control alt keycode 184 = nul +keycode 185 = nul nul nul + control keycode 185 = nul + shift control keycode 185 = nul + alt keycode 185 = nul + control alt keycode 185 = nul +keycode 186 = nul nul nul + control keycode 186 = nul + shift control keycode 186 = nul + alt keycode 186 = nul + control alt keycode 186 = nul +keycode 187 = nul nul nul + control keycode 187 = nul + shift control keycode 187 = nul + alt keycode 187 = nul + control alt keycode 187 = nul +keycode 188 = nul nul nul + control keycode 188 = nul + shift control keycode 188 = nul + alt keycode 188 = nul + control alt keycode 188 = nul +keycode 189 = nul nul nul + control keycode 189 = nul + shift control keycode 189 = nul + alt keycode 189 = nul + control alt keycode 189 = nul +keycode 190 = nul nul nul + control keycode 190 = nul + shift control keycode 190 = nul + alt keycode 190 = nul + control alt keycode 190 = nul +keycode 191 = nul nul nul + control keycode 191 = nul + shift control keycode 191 = nul + alt keycode 191 = nul + control alt keycode 191 = nul +keycode 192 = nul nul nul + control keycode 192 = nul + shift control keycode 192 = nul + alt keycode 192 = nul + control alt keycode 192 = nul +keycode 193 = nul nul nul + control keycode 193 = nul + shift control keycode 193 = nul + alt keycode 193 = nul + control alt keycode 193 = nul +keycode 194 = nul nul nul + control keycode 194 = nul + shift control keycode 194 = nul + alt keycode 194 = nul + control alt keycode 194 = nul +keycode 195 = nul nul nul + control keycode 195 = nul + shift control keycode 195 = nul + alt keycode 195 = nul + control alt keycode 195 = nul +keycode 196 = nul nul nul + control keycode 196 = nul + shift control keycode 196 = nul + alt keycode 196 = nul + control alt keycode 196 = nul +keycode 197 = nul nul nul + control keycode 197 = nul + shift control keycode 197 = nul + alt keycode 197 = nul + control alt keycode 197 = nul +keycode 198 = nul nul nul + control keycode 198 = nul + shift control keycode 198 = nul + alt keycode 198 = nul + control alt keycode 198 = nul +keycode 199 = nul nul nul + control keycode 199 = nul + shift control keycode 199 = nul + alt keycode 199 = nul + control alt keycode 199 = nul +keycode 200 = nul nul nul + control keycode 200 = nul + shift control keycode 200 = nul + alt keycode 200 = nul + control alt keycode 200 = nul +keycode 201 = nul nul nul + control keycode 201 = nul + shift control keycode 201 = nul + alt keycode 201 = nul + control alt keycode 201 = nul +keycode 202 = nul nul nul + control keycode 202 = nul + shift control keycode 202 = nul + alt keycode 202 = nul + control alt keycode 202 = nul +keycode 203 = nul nul nul + control keycode 203 = nul + shift control keycode 203 = nul + alt keycode 203 = nul + control alt keycode 203 = nul +keycode 204 = nul nul nul + control keycode 204 = nul + shift control keycode 204 = nul + alt keycode 204 = nul + control alt keycode 204 = nul +keycode 205 = nul nul nul + control keycode 205 = nul + shift control keycode 205 = nul + alt keycode 205 = nul + control alt keycode 205 = nul +keycode 206 = nul nul nul + control keycode 206 = nul + shift control keycode 206 = nul + alt keycode 206 = nul + control alt keycode 206 = nul +keycode 207 = nul nul nul + control keycode 207 = nul + shift control keycode 207 = nul + alt keycode 207 = nul + control alt keycode 207 = nul +keycode 208 = nul nul nul + control keycode 208 = nul + shift control keycode 208 = nul + alt keycode 208 = nul + control alt keycode 208 = nul +keycode 209 = nul nul nul + control keycode 209 = nul + shift control keycode 209 = nul + alt keycode 209 = nul + control alt keycode 209 = nul +keycode 210 = nul nul nul + control keycode 210 = nul + shift control keycode 210 = nul + alt keycode 210 = nul + control alt keycode 210 = nul +keycode 211 = nul nul nul + control keycode 211 = nul + shift control keycode 211 = nul + alt keycode 211 = nul + control alt keycode 211 = nul +keycode 212 = nul nul nul + control keycode 212 = nul + shift control keycode 212 = nul + alt keycode 212 = nul + control alt keycode 212 = nul +keycode 213 = nul nul nul + control keycode 213 = nul + shift control keycode 213 = nul + alt keycode 213 = nul + control alt keycode 213 = nul +keycode 214 = nul nul nul + control keycode 214 = nul + shift control keycode 214 = nul + alt keycode 214 = nul + control alt keycode 214 = nul +keycode 215 = nul nul nul + control keycode 215 = nul + shift control keycode 215 = nul + alt keycode 215 = nul + control alt keycode 215 = nul +keycode 216 = nul nul nul + control keycode 216 = nul + shift control keycode 216 = nul + alt keycode 216 = nul + control alt keycode 216 = nul +keycode 217 = nul nul nul + control keycode 217 = nul + shift control keycode 217 = nul + alt keycode 217 = nul + control alt keycode 217 = nul +keycode 218 = nul nul nul + control keycode 218 = nul + shift control keycode 218 = nul + alt keycode 218 = nul + control alt keycode 218 = nul +keycode 219 = nul nul nul + control keycode 219 = nul + shift control keycode 219 = nul + alt keycode 219 = nul + control alt keycode 219 = nul +keycode 220 = nul nul nul + control keycode 220 = nul + shift control keycode 220 = nul + alt keycode 220 = nul + control alt keycode 220 = nul +keycode 221 = nul nul nul + control keycode 221 = nul + shift control keycode 221 = nul + alt keycode 221 = nul + control alt keycode 221 = nul +keycode 222 = nul nul nul + control keycode 222 = nul + shift control keycode 222 = nul + alt keycode 222 = nul + control alt keycode 222 = nul +keycode 223 = nul nul nul + control keycode 223 = nul + shift control keycode 223 = nul + alt keycode 223 = nul + control alt keycode 223 = nul +keycode 224 = nul nul nul + control keycode 224 = nul + shift control keycode 224 = nul + alt keycode 224 = nul + control alt keycode 224 = nul +keycode 225 = nul nul nul + control keycode 225 = nul + shift control keycode 225 = nul + alt keycode 225 = nul + control alt keycode 225 = nul +keycode 226 = nul nul nul + control keycode 226 = nul + shift control keycode 226 = nul + alt keycode 226 = nul + control alt keycode 226 = nul +keycode 227 = nul nul nul + control keycode 227 = nul + shift control keycode 227 = nul + alt keycode 227 = nul + control alt keycode 227 = nul +keycode 228 = nul nul nul + control keycode 228 = nul + shift control keycode 228 = nul + alt keycode 228 = nul + control alt keycode 228 = nul +keycode 229 = nul nul nul + control keycode 229 = nul + shift control keycode 229 = nul + alt keycode 229 = nul + control alt keycode 229 = nul +keycode 230 = nul nul nul + control keycode 230 = nul + shift control keycode 230 = nul + alt keycode 230 = nul + control alt keycode 230 = nul +keycode 231 = nul nul nul + control keycode 231 = nul + shift control keycode 231 = nul + alt keycode 231 = nul + control alt keycode 231 = nul +keycode 232 = nul nul nul + control keycode 232 = nul + shift control keycode 232 = nul + alt keycode 232 = nul + control alt keycode 232 = nul +keycode 233 = nul nul nul + control keycode 233 = nul + shift control keycode 233 = nul + alt keycode 233 = nul + control alt keycode 233 = nul +keycode 234 = nul nul nul + control keycode 234 = nul + shift control keycode 234 = nul + alt keycode 234 = nul + control alt keycode 234 = nul +keycode 235 = nul nul nul + control keycode 235 = nul + shift control keycode 235 = nul + alt keycode 235 = nul + control alt keycode 235 = nul +keycode 236 = nul nul nul + control keycode 236 = nul + shift control keycode 236 = nul + alt keycode 236 = nul + control alt keycode 236 = nul +keycode 237 = nul nul nul + control keycode 237 = nul + shift control keycode 237 = nul + alt keycode 237 = nul + control alt keycode 237 = nul +keycode 238 = nul nul nul + control keycode 238 = nul + shift control keycode 238 = nul + alt keycode 238 = nul + control alt keycode 238 = nul +keycode 239 = nul nul nul + control keycode 239 = nul + shift control keycode 239 = nul + alt keycode 239 = nul + control alt keycode 239 = nul +keycode 240 = nul nul nul + control keycode 240 = nul + shift control keycode 240 = nul + alt keycode 240 = nul + control alt keycode 240 = nul +keycode 241 = nul nul nul + control keycode 241 = nul + shift control keycode 241 = nul + alt keycode 241 = nul + control alt keycode 241 = nul +keycode 242 = nul nul nul + control keycode 242 = nul + shift control keycode 242 = nul + alt keycode 242 = nul + control alt keycode 242 = nul +keycode 243 = nul nul nul + control keycode 243 = nul + shift control keycode 243 = nul + alt keycode 243 = nul + control alt keycode 243 = nul +keycode 244 = nul nul nul + control keycode 244 = nul + shift control keycode 244 = nul + alt keycode 244 = nul + control alt keycode 244 = nul +keycode 245 = nul nul nul + control keycode 245 = nul + shift control keycode 245 = nul + alt keycode 245 = nul + control alt keycode 245 = nul +keycode 246 = nul nul nul + control keycode 246 = nul + shift control keycode 246 = nul + alt keycode 246 = nul + control alt keycode 246 = nul +keycode 247 = nul nul nul + control keycode 247 = nul + shift control keycode 247 = nul + alt keycode 247 = nul + control alt keycode 247 = nul +keycode 248 = nul nul nul + control keycode 248 = nul + shift control keycode 248 = nul + alt keycode 248 = nul + control alt keycode 248 = nul +keycode 249 = nul nul nul + control keycode 249 = nul + shift control keycode 249 = nul + alt keycode 249 = nul + control alt keycode 249 = nul +keycode 250 = nul nul nul + control keycode 250 = nul + shift control keycode 250 = nul + alt keycode 250 = nul + control alt keycode 250 = nul +keycode 251 = nul nul nul + control keycode 251 = nul + shift control keycode 251 = nul + alt keycode 251 = nul + control alt keycode 251 = nul +keycode 252 = nul nul nul + control keycode 252 = nul + shift control keycode 252 = nul + alt keycode 252 = nul + control alt keycode 252 = nul +keycode 253 = nul nul nul + control keycode 253 = nul + shift control keycode 253 = nul + alt keycode 253 = nul + control alt keycode 253 = nul +keycode 254 = nul nul nul + control keycode 254 = nul + shift control keycode 254 = nul + alt keycode 254 = nul + control alt keycode 254 = nul +keycode 255 = nul nul nul + control keycode 255 = nul + shift control keycode 255 = nul + alt keycode 255 = nul + control alt keycode 255 = nul +string F1 = "\033[[A" +string F2 = "\033[[B" +string F3 = "\033[[C" +string F4 = "\033[[D" +string F5 = "\033[[E" +string F6 = "\033[17~" +string F7 = "\033[18~" +string F8 = "\033[19~" +string F9 = "\033[20~" +string F10 = "\033[21~" +string F11 = "\033[23~" +string F12 = "\033[24~" +string F13 = "\033[25~" +string F14 = "\033[26~" +string F15 = "\033[28~" +string F16 = "\033[29~" +string F17 = "\033[31~" +string F18 = "\033[32~" +string F19 = "\033[33~" +string F20 = "\033[34~" +string Find = "\033[1~" +string Insert = "\033[2~" +string Remove = "\033[3~" +string Select = "\033[4~" +string Prior = "\033[5~" +string Next = "\033[6~" +string Macro = "\033[M" +string Pause = "\033[P" +compose '`' 'A' to U+00c0 +compose '`' 'a' to U+00e0 +compose '\'' 'A' to U+00c1 +compose '\'' 'a' to U+00e1 +compose '^' 'A' to U+00c2 +compose '^' 'a' to U+00e2 +compose '~' 'A' to U+00c3 +compose '~' 'a' to U+00e3 +compose '"' 'A' to U+00c4 +compose '"' 'a' to U+00e4 +compose 'O' 'A' to U+00c5 +compose 'o' 'a' to U+00e5 +compose '0' 'A' to U+00c5 +compose '0' 'a' to U+00e5 +compose 'A' 'A' to U+00c5 +compose 'a' 'a' to U+00e5 +compose 'A' 'E' to U+00c6 +compose 'a' 'e' to U+00e6 +compose ',' 'C' to U+00c7 +compose ',' 'c' to U+00e7 +compose '`' 'E' to U+00c8 +compose '`' 'e' to U+00e8 +compose '\'' 'E' to U+00c9 +compose '\'' 'e' to U+00e9 +compose '^' 'E' to U+00ca +compose '^' 'e' to U+00ea +compose '"' 'E' to U+00cb +compose '"' 'e' to U+00eb +compose '`' 'I' to U+00cc +compose '`' 'i' to U+00ec +compose '\'' 'I' to U+00cd +compose '\'' 'i' to U+00ed +compose '^' 'I' to U+00ce +compose '^' 'i' to U+00ee +compose '"' 'I' to U+00cf +compose '"' 'i' to U+00ef +compose '-' 'D' to U+00d0 +compose '-' 'd' to U+00f0 +compose '~' 'N' to U+00d1 +compose '~' 'n' to U+00f1 +compose '`' 'O' to U+00d2 +compose '`' 'o' to U+00f2 +compose '\'' 'O' to U+00d3 +compose '\'' 'o' to U+00f3 +compose '^' 'O' to U+00d4 +compose '^' 'o' to U+00f4 +compose '~' 'O' to U+00d5 +compose '~' 'o' to U+00f5 +compose '"' 'O' to U+00d6 +compose '"' 'o' to U+00f6 +compose '/' 'O' to U+00d8 +compose '/' 'o' to U+00f8 +compose '`' 'U' to U+00d9 +compose '`' 'u' to U+00f9 +compose '\'' 'U' to U+00da +compose '\'' 'u' to U+00fa +compose '^' 'U' to U+00db +compose '^' 'u' to U+00fb +compose '"' 'U' to U+00dc +compose '"' 'u' to U+00fc +compose '\'' 'Y' to U+00dd +compose '\'' 'y' to U+00fd +compose 'T' 'H' to U+00de +compose 't' 'h' to U+00fe +compose 's' 's' to U+00df +compose '"' 'y' to U+00ff +compose 's' 'z' to U+00df +compose 'i' 'j' to U+00ff diff --git a/core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_keyboard_translation.map b/core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_keyboard_translation.map new file mode 100644 index 00000000..abf384bd --- /dev/null +++ b/core/modules/brazilian/data/opt/openslx/keymaps/brazilian_qwerty_keyboard_translation.map @@ -0,0 +1,8500 @@ +keymaps 0-127 +keycode 1 = Escape + alt keycode 1 = Meta_Escape + shift alt keycode 1 = Meta_Escape + altgr alt keycode 1 = Meta_Escape + shift altgr alt keycode 1 = Meta_Escape + control alt keycode 1 = Meta_Escape + shift control alt keycode 1 = Meta_Escape + altgr control alt keycode 1 = Meta_Escape + shift altgr control alt keycode 1 = Meta_Escape + alt shiftl keycode 1 = Meta_Escape + shift alt shiftl keycode 1 = Meta_Escape + altgr alt shiftl keycode 1 = Meta_Escape + shift altgr alt shiftl keycode 1 = Meta_Escape + control alt shiftl keycode 1 = Meta_Escape + shift control alt shiftl keycode 1 = Meta_Escape + altgr control alt shiftl keycode 1 = Meta_Escape + shift altgr control alt shiftl keycode 1 = Meta_Escape + alt shiftr keycode 1 = Meta_Escape + shift alt shiftr keycode 1 = Meta_Escape + altgr alt shiftr keycode 1 = Meta_Escape + shift altgr alt shiftr keycode 1 = Meta_Escape + control alt shiftr keycode 1 = Meta_Escape + shift control alt shiftr keycode 1 = Meta_Escape + altgr control alt shiftr keycode 1 = Meta_Escape + shift altgr control alt shiftr keycode 1 = Meta_Escape + alt shiftl shiftr keycode 1 = Meta_Escape + shift alt shiftl shiftr keycode 1 = Meta_Escape + altgr alt shiftl shiftr keycode 1 = Meta_Escape + shift altgr alt shiftl shiftr keycode 1 = Meta_Escape + control alt shiftl shiftr keycode 1 = Meta_Escape + shift control alt shiftl shiftr keycode 1 = Meta_Escape + altgr control alt shiftl shiftr keycode 1 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 1 = Meta_Escape + alt ctrll keycode 1 = Meta_Escape + shift alt ctrll keycode 1 = Meta_Escape + altgr alt ctrll keycode 1 = Meta_Escape + shift altgr alt ctrll keycode 1 = Meta_Escape + control alt ctrll keycode 1 = Meta_Escape + shift control alt ctrll keycode 1 = Meta_Escape + altgr control alt ctrll keycode 1 = Meta_Escape + shift altgr control alt ctrll keycode 1 = Meta_Escape + alt shiftl ctrll keycode 1 = Meta_Escape + shift alt shiftl ctrll keycode 1 = Meta_Escape + altgr alt shiftl ctrll keycode 1 = Meta_Escape + shift altgr alt shiftl ctrll keycode 1 = Meta_Escape + control alt shiftl ctrll keycode 1 = Meta_Escape + shift control alt shiftl ctrll keycode 1 = Meta_Escape + altgr control alt shiftl ctrll keycode 1 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 1 = Meta_Escape + alt shiftr ctrll keycode 1 = Meta_Escape + shift alt shiftr ctrll keycode 1 = Meta_Escape + altgr alt shiftr ctrll keycode 1 = Meta_Escape + shift altgr alt shiftr ctrll keycode 1 = Meta_Escape + control alt shiftr ctrll keycode 1 = Meta_Escape + shift control alt shiftr ctrll keycode 1 = Meta_Escape + altgr control alt shiftr ctrll keycode 1 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 1 = Meta_Escape + alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift alt shiftl shiftr ctrll keycode 1 = Meta_Escape + altgr alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift altgr alt shiftl shiftr ctrll keycode 1 = Meta_Escape + control alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift control alt shiftl shiftr ctrll keycode 1 = Meta_Escape + altgr control alt shiftl shiftr ctrll keycode 1 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 1 = Meta_Escape +keycode 2 = one exclam onesuperior exclamdown + alt keycode 2 = Meta_one + shift alt keycode 2 = Meta_exclam + altgr alt keycode 2 = Meta_one + shift altgr alt keycode 2 = Meta_exclam + shiftl keycode 2 = one + shift shiftl keycode 2 = exclam + altgr shiftl keycode 2 = onesuperior + shift altgr shiftl keycode 2 = exclamdown + alt shiftl keycode 2 = Meta_one + shift alt shiftl keycode 2 = Meta_exclam + altgr alt shiftl keycode 2 = Meta_one + shift altgr alt shiftl keycode 2 = Meta_exclam + shiftr keycode 2 = one + shift shiftr keycode 2 = exclam + altgr shiftr keycode 2 = onesuperior + shift altgr shiftr keycode 2 = exclamdown + alt shiftr keycode 2 = Meta_one + shift alt shiftr keycode 2 = Meta_exclam + altgr alt shiftr keycode 2 = Meta_one + shift altgr alt shiftr keycode 2 = Meta_exclam + shiftl shiftr keycode 2 = one + shift shiftl shiftr keycode 2 = exclam + altgr shiftl shiftr keycode 2 = onesuperior + shift altgr shiftl shiftr keycode 2 = exclamdown + alt shiftl shiftr keycode 2 = Meta_one + shift alt shiftl shiftr keycode 2 = Meta_exclam + altgr alt shiftl shiftr keycode 2 = Meta_one + shift altgr alt shiftl shiftr keycode 2 = Meta_exclam + ctrll keycode 2 = one + shift ctrll keycode 2 = exclam + altgr ctrll keycode 2 = onesuperior + shift altgr ctrll keycode 2 = exclamdown + alt ctrll keycode 2 = Meta_one + shift alt ctrll keycode 2 = Meta_exclam + altgr alt ctrll keycode 2 = Meta_one + shift altgr alt ctrll keycode 2 = Meta_exclam + shiftl ctrll keycode 2 = one + shift shiftl ctrll keycode 2 = exclam + altgr shiftl ctrll keycode 2 = onesuperior + shift altgr shiftl ctrll keycode 2 = exclamdown + alt shiftl ctrll keycode 2 = Meta_one + shift alt shiftl ctrll keycode 2 = Meta_exclam + altgr alt shiftl ctrll keycode 2 = Meta_one + shift altgr alt shiftl ctrll keycode 2 = Meta_exclam + shiftr ctrll keycode 2 = one + shift shiftr ctrll keycode 2 = exclam + altgr shiftr ctrll keycode 2 = onesuperior + shift altgr shiftr ctrll keycode 2 = exclamdown + alt shiftr ctrll keycode 2 = Meta_one + shift alt shiftr ctrll keycode 2 = Meta_exclam + altgr alt shiftr ctrll keycode 2 = Meta_one + shift altgr alt shiftr ctrll keycode 2 = Meta_exclam + shiftl shiftr ctrll keycode 2 = one + shift shiftl shiftr ctrll keycode 2 = exclam + altgr shiftl shiftr ctrll keycode 2 = onesuperior + shift altgr shiftl shiftr ctrll keycode 2 = exclamdown + alt shiftl shiftr ctrll keycode 2 = Meta_one + shift alt shiftl shiftr ctrll keycode 2 = Meta_exclam + altgr alt shiftl shiftr ctrll keycode 2 = Meta_one + shift altgr alt shiftl shiftr ctrll keycode 2 = Meta_exclam +keycode 3 = two + shift keycode 3 = at + altgr keycode 3 = twosuperior + shift altgr keycode 3 = onehalf + control keycode 3 = nul + shift control keycode 3 = nul + altgr control keycode 3 = nul + shift altgr control keycode 3 = nul + alt keycode 3 = Meta_two + shift alt keycode 3 = Meta_at + altgr alt keycode 3 = Meta_two + shift altgr alt keycode 3 = Meta_at + control alt keycode 3 = Meta_nul + shift control alt keycode 3 = Meta_nul + altgr control alt keycode 3 = Meta_nul + shift altgr control alt keycode 3 = Meta_nul + shift shiftl keycode 3 = at + altgr shiftl keycode 3 = twosuperior + shift altgr shiftl keycode 3 = onehalf + control shiftl keycode 3 = nul + shift control shiftl keycode 3 = nul + altgr control shiftl keycode 3 = nul + shift altgr control shiftl keycode 3 = nul + alt shiftl keycode 3 = Meta_two + shift alt shiftl keycode 3 = Meta_at + altgr alt shiftl keycode 3 = Meta_two + shift altgr alt shiftl keycode 3 = Meta_at + control alt shiftl keycode 3 = Meta_nul + shift control alt shiftl keycode 3 = Meta_nul + altgr control alt shiftl keycode 3 = Meta_nul + shift altgr control alt shiftl keycode 3 = Meta_nul + shift shiftr keycode 3 = at + altgr shiftr keycode 3 = twosuperior + shift altgr shiftr keycode 3 = onehalf + control shiftr keycode 3 = nul + shift control shiftr keycode 3 = nul + altgr control shiftr keycode 3 = nul + shift altgr control shiftr keycode 3 = nul + alt shiftr keycode 3 = Meta_two + shift alt shiftr keycode 3 = Meta_at + altgr alt shiftr keycode 3 = Meta_two + shift altgr alt shiftr keycode 3 = Meta_at + control alt shiftr keycode 3 = Meta_nul + shift control alt shiftr keycode 3 = Meta_nul + altgr control alt shiftr keycode 3 = Meta_nul + shift altgr control alt shiftr keycode 3 = Meta_nul + shift shiftl shiftr keycode 3 = at + altgr shiftl shiftr keycode 3 = twosuperior + shift altgr shiftl shiftr keycode 3 = onehalf + control shiftl shiftr keycode 3 = nul + shift control shiftl shiftr keycode 3 = nul + altgr control shiftl shiftr keycode 3 = nul + shift altgr control shiftl shiftr keycode 3 = nul + alt shiftl shiftr keycode 3 = Meta_two + shift alt shiftl shiftr keycode 3 = Meta_at + altgr alt shiftl shiftr keycode 3 = Meta_two + shift altgr alt shiftl shiftr keycode 3 = Meta_at + control alt shiftl shiftr keycode 3 = Meta_nul + shift control alt shiftl shiftr keycode 3 = Meta_nul + altgr control alt shiftl shiftr keycode 3 = Meta_nul + shift altgr control alt shiftl shiftr keycode 3 = Meta_nul + shift ctrll keycode 3 = at + altgr ctrll keycode 3 = twosuperior + shift altgr ctrll keycode 3 = onehalf + control ctrll keycode 3 = nul + shift control ctrll keycode 3 = nul + altgr control ctrll keycode 3 = nul + shift altgr control ctrll keycode 3 = nul + alt ctrll keycode 3 = Meta_two + shift alt ctrll keycode 3 = Meta_at + altgr alt ctrll keycode 3 = Meta_two + shift altgr alt ctrll keycode 3 = Meta_at + control alt ctrll keycode 3 = Meta_nul + shift control alt ctrll keycode 3 = Meta_nul + altgr control alt ctrll keycode 3 = Meta_nul + shift altgr control alt ctrll keycode 3 = Meta_nul + shift shiftl ctrll keycode 3 = at + altgr shiftl ctrll keycode 3 = twosuperior + shift altgr shiftl ctrll keycode 3 = onehalf + control shiftl ctrll keycode 3 = nul + shift control shiftl ctrll keycode 3 = nul + altgr control shiftl ctrll keycode 3 = nul + shift altgr control shiftl ctrll keycode 3 = nul + alt shiftl ctrll keycode 3 = Meta_two + shift alt shiftl ctrll keycode 3 = Meta_at + altgr alt shiftl ctrll keycode 3 = Meta_two + shift altgr alt shiftl ctrll keycode 3 = Meta_at + control alt shiftl ctrll keycode 3 = Meta_nul + shift control alt shiftl ctrll keycode 3 = Meta_nul + altgr control alt shiftl ctrll keycode 3 = Meta_nul + shift altgr control alt shiftl ctrll keycode 3 = Meta_nul + shift shiftr ctrll keycode 3 = at + altgr shiftr ctrll keycode 3 = twosuperior + shift altgr shiftr ctrll keycode 3 = onehalf + control shiftr ctrll keycode 3 = nul + shift control shiftr ctrll keycode 3 = nul + altgr control shiftr ctrll keycode 3 = nul + shift altgr control shiftr ctrll keycode 3 = nul + alt shiftr ctrll keycode 3 = Meta_two + shift alt shiftr ctrll keycode 3 = Meta_at + altgr alt shiftr ctrll keycode 3 = Meta_two + shift altgr alt shiftr ctrll keycode 3 = Meta_at + control alt shiftr ctrll keycode 3 = Meta_nul + shift control alt shiftr ctrll keycode 3 = Meta_nul + altgr control alt shiftr ctrll keycode 3 = Meta_nul + shift altgr control alt shiftr ctrll keycode 3 = Meta_nul + shift shiftl shiftr ctrll keycode 3 = at + altgr shiftl shiftr ctrll keycode 3 = twosuperior + shift altgr shiftl shiftr ctrll keycode 3 = onehalf + control shiftl shiftr ctrll keycode 3 = nul + shift control shiftl shiftr ctrll keycode 3 = nul + altgr control shiftl shiftr ctrll keycode 3 = nul + shift altgr control shiftl shiftr ctrll keycode 3 = nul + alt shiftl shiftr ctrll keycode 3 = Meta_two + shift alt shiftl shiftr ctrll keycode 3 = Meta_at + altgr alt shiftl shiftr ctrll keycode 3 = Meta_two + shift altgr alt shiftl shiftr ctrll keycode 3 = Meta_at + control alt shiftl shiftr ctrll keycode 3 = Meta_nul + shift control alt shiftl shiftr ctrll keycode 3 = Meta_nul + altgr control alt shiftl shiftr ctrll keycode 3 = Meta_nul + shift altgr control alt shiftl shiftr ctrll keycode 3 = Meta_nul +keycode 4 = three + shift keycode 4 = numbersign + altgr keycode 4 = threesuperior + shift altgr keycode 4 = threequarters + control keycode 4 = Escape + shift control keycode 4 = Escape + altgr control keycode 4 = Escape + shift altgr control keycode 4 = Escape + alt keycode 4 = Meta_three + shift alt keycode 4 = Meta_numbersign + altgr alt keycode 4 = Meta_three + shift altgr alt keycode 4 = Meta_numbersign + control alt keycode 4 = Meta_Escape + shift control alt keycode 4 = Meta_Escape + altgr control alt keycode 4 = Meta_Escape + shift altgr control alt keycode 4 = Meta_Escape + shift shiftl keycode 4 = numbersign + altgr shiftl keycode 4 = threesuperior + shift altgr shiftl keycode 4 = threequarters + control shiftl keycode 4 = Escape + shift control shiftl keycode 4 = Escape + altgr control shiftl keycode 4 = Escape + shift altgr control shiftl keycode 4 = Escape + alt shiftl keycode 4 = Meta_three + shift alt shiftl keycode 4 = Meta_numbersign + altgr alt shiftl keycode 4 = Meta_three + shift altgr alt shiftl keycode 4 = Meta_numbersign + control alt shiftl keycode 4 = Meta_Escape + shift control alt shiftl keycode 4 = Meta_Escape + altgr control alt shiftl keycode 4 = Meta_Escape + shift altgr control alt shiftl keycode 4 = Meta_Escape + shift shiftr keycode 4 = numbersign + altgr shiftr keycode 4 = threesuperior + shift altgr shiftr keycode 4 = threequarters + control shiftr keycode 4 = Escape + shift control shiftr keycode 4 = Escape + altgr control shiftr keycode 4 = Escape + shift altgr control shiftr keycode 4 = Escape + alt shiftr keycode 4 = Meta_three + shift alt shiftr keycode 4 = Meta_numbersign + altgr alt shiftr keycode 4 = Meta_three + shift altgr alt shiftr keycode 4 = Meta_numbersign + control alt shiftr keycode 4 = Meta_Escape + shift control alt shiftr keycode 4 = Meta_Escape + altgr control alt shiftr keycode 4 = Meta_Escape + shift altgr control alt shiftr keycode 4 = Meta_Escape + shift shiftl shiftr keycode 4 = numbersign + altgr shiftl shiftr keycode 4 = threesuperior + shift altgr shiftl shiftr keycode 4 = threequarters + control shiftl shiftr keycode 4 = Escape + shift control shiftl shiftr keycode 4 = Escape + altgr control shiftl shiftr keycode 4 = Escape + shift altgr control shiftl shiftr keycode 4 = Escape + alt shiftl shiftr keycode 4 = Meta_three + shift alt shiftl shiftr keycode 4 = Meta_numbersign + altgr alt shiftl shiftr keycode 4 = Meta_three + shift altgr alt shiftl shiftr keycode 4 = Meta_numbersign + control alt shiftl shiftr keycode 4 = Meta_Escape + shift control alt shiftl shiftr keycode 4 = Meta_Escape + altgr control alt shiftl shiftr keycode 4 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 4 = Meta_Escape + shift ctrll keycode 4 = numbersign + altgr ctrll keycode 4 = threesuperior + shift altgr ctrll keycode 4 = threequarters + control ctrll keycode 4 = Escape + shift control ctrll keycode 4 = Escape + altgr control ctrll keycode 4 = Escape + shift altgr control ctrll keycode 4 = Escape + alt ctrll keycode 4 = Meta_three + shift alt ctrll keycode 4 = Meta_numbersign + altgr alt ctrll keycode 4 = Meta_three + shift altgr alt ctrll keycode 4 = Meta_numbersign + control alt ctrll keycode 4 = Meta_Escape + shift control alt ctrll keycode 4 = Meta_Escape + altgr control alt ctrll keycode 4 = Meta_Escape + shift altgr control alt ctrll keycode 4 = Meta_Escape + shift shiftl ctrll keycode 4 = numbersign + altgr shiftl ctrll keycode 4 = threesuperior + shift altgr shiftl ctrll keycode 4 = threequarters + control shiftl ctrll keycode 4 = Escape + shift control shiftl ctrll keycode 4 = Escape + altgr control shiftl ctrll keycode 4 = Escape + shift altgr control shiftl ctrll keycode 4 = Escape + alt shiftl ctrll keycode 4 = Meta_three + shift alt shiftl ctrll keycode 4 = Meta_numbersign + altgr alt shiftl ctrll keycode 4 = Meta_three + shift altgr alt shiftl ctrll keycode 4 = Meta_numbersign + control alt shiftl ctrll keycode 4 = Meta_Escape + shift control alt shiftl ctrll keycode 4 = Meta_Escape + altgr control alt shiftl ctrll keycode 4 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 4 = Meta_Escape + shift shiftr ctrll keycode 4 = numbersign + altgr shiftr ctrll keycode 4 = threesuperior + shift altgr shiftr ctrll keycode 4 = threequarters + control shiftr ctrll keycode 4 = Escape + shift control shiftr ctrll keycode 4 = Escape + altgr control shiftr ctrll keycode 4 = Escape + shift altgr control shiftr ctrll keycode 4 = Escape + alt shiftr ctrll keycode 4 = Meta_three + shift alt shiftr ctrll keycode 4 = Meta_numbersign + altgr alt shiftr ctrll keycode 4 = Meta_three + shift altgr alt shiftr ctrll keycode 4 = Meta_numbersign + control alt shiftr ctrll keycode 4 = Meta_Escape + shift control alt shiftr ctrll keycode 4 = Meta_Escape + altgr control alt shiftr ctrll keycode 4 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 4 = Meta_Escape + shift shiftl shiftr ctrll keycode 4 = numbersign + altgr shiftl shiftr ctrll keycode 4 = threesuperior + shift altgr shiftl shiftr ctrll keycode 4 = threequarters + control shiftl shiftr ctrll keycode 4 = Escape + shift control shiftl shiftr ctrll keycode 4 = Escape + altgr control shiftl shiftr ctrll keycode 4 = Escape + shift altgr control shiftl shiftr ctrll keycode 4 = Escape + alt shiftl shiftr ctrll keycode 4 = Meta_three + shift alt shiftl shiftr ctrll keycode 4 = Meta_numbersign + altgr alt shiftl shiftr ctrll keycode 4 = Meta_three + shift altgr alt shiftl shiftr ctrll keycode 4 = Meta_numbersign + control alt shiftl shiftr ctrll keycode 4 = Meta_Escape + shift control alt shiftl shiftr ctrll keycode 4 = Meta_Escape + altgr control alt shiftl shiftr ctrll keycode 4 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 4 = Meta_Escape +keycode 5 = four + shift keycode 5 = dollar + altgr keycode 5 = sterling + shift altgr keycode 5 = onequarter + control keycode 5 = Control_backslash + shift control keycode 5 = Control_backslash + altgr control keycode 5 = Control_backslash + shift altgr control keycode 5 = Control_backslash + alt keycode 5 = Meta_four + shift alt keycode 5 = Meta_dollar + altgr alt keycode 5 = Meta_four + shift altgr alt keycode 5 = Meta_dollar + control alt keycode 5 = Meta_Control_backslash + shift control alt keycode 5 = Meta_Control_backslash + altgr control alt keycode 5 = Meta_Control_backslash + shift altgr control alt keycode 5 = Meta_Control_backslash + shift shiftl keycode 5 = dollar + altgr shiftl keycode 5 = sterling + shift altgr shiftl keycode 5 = onequarter + control shiftl keycode 5 = Control_backslash + shift control shiftl keycode 5 = Control_backslash + altgr control shiftl keycode 5 = Control_backslash + shift altgr control shiftl keycode 5 = Control_backslash + alt shiftl keycode 5 = Meta_four + shift alt shiftl keycode 5 = Meta_dollar + altgr alt shiftl keycode 5 = Meta_four + shift altgr alt shiftl keycode 5 = Meta_dollar + control alt shiftl keycode 5 = Meta_Control_backslash + shift control alt shiftl keycode 5 = Meta_Control_backslash + altgr control alt shiftl keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl keycode 5 = Meta_Control_backslash + shift shiftr keycode 5 = dollar + altgr shiftr keycode 5 = sterling + shift altgr shiftr keycode 5 = onequarter + control shiftr keycode 5 = Control_backslash + shift control shiftr keycode 5 = Control_backslash + altgr control shiftr keycode 5 = Control_backslash + shift altgr control shiftr keycode 5 = Control_backslash + alt shiftr keycode 5 = Meta_four + shift alt shiftr keycode 5 = Meta_dollar + altgr alt shiftr keycode 5 = Meta_four + shift altgr alt shiftr keycode 5 = Meta_dollar + control alt shiftr keycode 5 = Meta_Control_backslash + shift control alt shiftr keycode 5 = Meta_Control_backslash + altgr control alt shiftr keycode 5 = Meta_Control_backslash + shift altgr control alt shiftr keycode 5 = Meta_Control_backslash + shift shiftl shiftr keycode 5 = dollar + altgr shiftl shiftr keycode 5 = sterling + shift altgr shiftl shiftr keycode 5 = onequarter + control shiftl shiftr keycode 5 = Control_backslash + shift control shiftl shiftr keycode 5 = Control_backslash + altgr control shiftl shiftr keycode 5 = Control_backslash + shift altgr control shiftl shiftr keycode 5 = Control_backslash + alt shiftl shiftr keycode 5 = Meta_four + shift alt shiftl shiftr keycode 5 = Meta_dollar + altgr alt shiftl shiftr keycode 5 = Meta_four + shift altgr alt shiftl shiftr keycode 5 = Meta_dollar + control alt shiftl shiftr keycode 5 = Meta_Control_backslash + shift control alt shiftl shiftr keycode 5 = Meta_Control_backslash + altgr control alt shiftl shiftr keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl shiftr keycode 5 = Meta_Control_backslash + shift ctrll keycode 5 = dollar + altgr ctrll keycode 5 = sterling + shift altgr ctrll keycode 5 = onequarter + control ctrll keycode 5 = Control_backslash + shift control ctrll keycode 5 = Control_backslash + altgr control ctrll keycode 5 = Control_backslash + shift altgr control ctrll keycode 5 = Control_backslash + alt ctrll keycode 5 = Meta_four + shift alt ctrll keycode 5 = Meta_dollar + altgr alt ctrll keycode 5 = Meta_four + shift altgr alt ctrll keycode 5 = Meta_dollar + control alt ctrll keycode 5 = Meta_Control_backslash + shift control alt ctrll keycode 5 = Meta_Control_backslash + altgr control alt ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt ctrll keycode 5 = Meta_Control_backslash + shift shiftl ctrll keycode 5 = dollar + altgr shiftl ctrll keycode 5 = sterling + shift altgr shiftl ctrll keycode 5 = onequarter + control shiftl ctrll keycode 5 = Control_backslash + shift control shiftl ctrll keycode 5 = Control_backslash + altgr control shiftl ctrll keycode 5 = Control_backslash + shift altgr control shiftl ctrll keycode 5 = Control_backslash + alt shiftl ctrll keycode 5 = Meta_four + shift alt shiftl ctrll keycode 5 = Meta_dollar + altgr alt shiftl ctrll keycode 5 = Meta_four + shift altgr alt shiftl ctrll keycode 5 = Meta_dollar + control alt shiftl ctrll keycode 5 = Meta_Control_backslash + shift control alt shiftl ctrll keycode 5 = Meta_Control_backslash + altgr control alt shiftl ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl ctrll keycode 5 = Meta_Control_backslash + shift shiftr ctrll keycode 5 = dollar + altgr shiftr ctrll keycode 5 = sterling + shift altgr shiftr ctrll keycode 5 = onequarter + control shiftr ctrll keycode 5 = Control_backslash + shift control shiftr ctrll keycode 5 = Control_backslash + altgr control shiftr ctrll keycode 5 = Control_backslash + shift altgr control shiftr ctrll keycode 5 = Control_backslash + alt shiftr ctrll keycode 5 = Meta_four + shift alt shiftr ctrll keycode 5 = Meta_dollar + altgr alt shiftr ctrll keycode 5 = Meta_four + shift altgr alt shiftr ctrll keycode 5 = Meta_dollar + control alt shiftr ctrll keycode 5 = Meta_Control_backslash + shift control alt shiftr ctrll keycode 5 = Meta_Control_backslash + altgr control alt shiftr ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt shiftr ctrll keycode 5 = Meta_Control_backslash + shift shiftl shiftr ctrll keycode 5 = dollar + altgr shiftl shiftr ctrll keycode 5 = sterling + shift altgr shiftl shiftr ctrll keycode 5 = onequarter + control shiftl shiftr ctrll keycode 5 = Control_backslash + shift control shiftl shiftr ctrll keycode 5 = Control_backslash + altgr control shiftl shiftr ctrll keycode 5 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 5 = Control_backslash + alt shiftl shiftr ctrll keycode 5 = Meta_four + shift alt shiftl shiftr ctrll keycode 5 = Meta_dollar + altgr alt shiftl shiftr ctrll keycode 5 = Meta_four + shift altgr alt shiftl shiftr ctrll keycode 5 = Meta_dollar + control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash + shift control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash + altgr control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 5 = Meta_Control_backslash +keycode 6 = five + shift keycode 6 = percent + altgr keycode 6 = cent + shift altgr keycode 6 = U+215c + control keycode 6 = Control_bracketright + shift control keycode 6 = Control_bracketright + altgr control keycode 6 = Control_bracketright + shift altgr control keycode 6 = Control_bracketright + alt keycode 6 = Meta_five + shift alt keycode 6 = Meta_percent + altgr alt keycode 6 = Meta_five + shift altgr alt keycode 6 = Meta_percent + control alt keycode 6 = Meta_Control_bracketright + shift control alt keycode 6 = Meta_Control_bracketright + altgr control alt keycode 6 = Meta_Control_bracketright + shift altgr control alt keycode 6 = Meta_Control_bracketright + shift shiftl keycode 6 = percent + altgr shiftl keycode 6 = cent + shift altgr shiftl keycode 6 = U+215c + control shiftl keycode 6 = Control_bracketright + shift control shiftl keycode 6 = Control_bracketright + altgr control shiftl keycode 6 = Control_bracketright + shift altgr control shiftl keycode 6 = Control_bracketright + alt shiftl keycode 6 = Meta_five + shift alt shiftl keycode 6 = Meta_percent + altgr alt shiftl keycode 6 = Meta_five + shift altgr alt shiftl keycode 6 = Meta_percent + control alt shiftl keycode 6 = Meta_Control_bracketright + shift control alt shiftl keycode 6 = Meta_Control_bracketright + altgr control alt shiftl keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl keycode 6 = Meta_Control_bracketright + shift shiftr keycode 6 = percent + altgr shiftr keycode 6 = cent + shift altgr shiftr keycode 6 = U+215c + control shiftr keycode 6 = Control_bracketright + shift control shiftr keycode 6 = Control_bracketright + altgr control shiftr keycode 6 = Control_bracketright + shift altgr control shiftr keycode 6 = Control_bracketright + alt shiftr keycode 6 = Meta_five + shift alt shiftr keycode 6 = Meta_percent + altgr alt shiftr keycode 6 = Meta_five + shift altgr alt shiftr keycode 6 = Meta_percent + control alt shiftr keycode 6 = Meta_Control_bracketright + shift control alt shiftr keycode 6 = Meta_Control_bracketright + altgr control alt shiftr keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftr keycode 6 = Meta_Control_bracketright + shift shiftl shiftr keycode 6 = percent + altgr shiftl shiftr keycode 6 = cent + shift altgr shiftl shiftr keycode 6 = U+215c + control shiftl shiftr keycode 6 = Control_bracketright + shift control shiftl shiftr keycode 6 = Control_bracketright + altgr control shiftl shiftr keycode 6 = Control_bracketright + shift altgr control shiftl shiftr keycode 6 = Control_bracketright + alt shiftl shiftr keycode 6 = Meta_five + shift alt shiftl shiftr keycode 6 = Meta_percent + altgr alt shiftl shiftr keycode 6 = Meta_five + shift altgr alt shiftl shiftr keycode 6 = Meta_percent + control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + shift control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + altgr control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr keycode 6 = Meta_Control_bracketright + shift ctrll keycode 6 = percent + altgr ctrll keycode 6 = cent + shift altgr ctrll keycode 6 = U+215c + control ctrll keycode 6 = Control_bracketright + shift control ctrll keycode 6 = Control_bracketright + altgr control ctrll keycode 6 = Control_bracketright + shift altgr control ctrll keycode 6 = Control_bracketright + alt ctrll keycode 6 = Meta_five + shift alt ctrll keycode 6 = Meta_percent + altgr alt ctrll keycode 6 = Meta_five + shift altgr alt ctrll keycode 6 = Meta_percent + control alt ctrll keycode 6 = Meta_Control_bracketright + shift control alt ctrll keycode 6 = Meta_Control_bracketright + altgr control alt ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt ctrll keycode 6 = Meta_Control_bracketright + shift shiftl ctrll keycode 6 = percent + altgr shiftl ctrll keycode 6 = cent + shift altgr shiftl ctrll keycode 6 = U+215c + control shiftl ctrll keycode 6 = Control_bracketright + shift control shiftl ctrll keycode 6 = Control_bracketright + altgr control shiftl ctrll keycode 6 = Control_bracketright + shift altgr control shiftl ctrll keycode 6 = Control_bracketright + alt shiftl ctrll keycode 6 = Meta_five + shift alt shiftl ctrll keycode 6 = Meta_percent + altgr alt shiftl ctrll keycode 6 = Meta_five + shift altgr alt shiftl ctrll keycode 6 = Meta_percent + control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + shift control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + altgr control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl ctrll keycode 6 = Meta_Control_bracketright + shift shiftr ctrll keycode 6 = percent + altgr shiftr ctrll keycode 6 = cent + shift altgr shiftr ctrll keycode 6 = U+215c + control shiftr ctrll keycode 6 = Control_bracketright + shift control shiftr ctrll keycode 6 = Control_bracketright + altgr control shiftr ctrll keycode 6 = Control_bracketright + shift altgr control shiftr ctrll keycode 6 = Control_bracketright + alt shiftr ctrll keycode 6 = Meta_five + shift alt shiftr ctrll keycode 6 = Meta_percent + altgr alt shiftr ctrll keycode 6 = Meta_five + shift altgr alt shiftr ctrll keycode 6 = Meta_percent + control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + shift control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + altgr control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftr ctrll keycode 6 = Meta_Control_bracketright + shift shiftl shiftr ctrll keycode 6 = percent + altgr shiftl shiftr ctrll keycode 6 = cent + shift altgr shiftl shiftr ctrll keycode 6 = U+215c + control shiftl shiftr ctrll keycode 6 = Control_bracketright + shift control shiftl shiftr ctrll keycode 6 = Control_bracketright + altgr control shiftl shiftr ctrll keycode 6 = Control_bracketright + shift altgr control shiftl shiftr ctrll keycode 6 = Control_bracketright + alt shiftl shiftr ctrll keycode 6 = Meta_five + shift alt shiftl shiftr ctrll keycode 6 = Meta_percent + altgr alt shiftl shiftr ctrll keycode 6 = Meta_five + shift altgr alt shiftl shiftr ctrll keycode 6 = Meta_percent + control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright + shift control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright + altgr control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr ctrll keycode 6 = Meta_Control_bracketright +keycode 7 = six + shift keycode 7 = dead_diaeresis + altgr keycode 7 = notsign + shift altgr keycode 7 = diaeresis + control keycode 7 = Control_asciicircum + shift control keycode 7 = dead_diaeresis + altgr control keycode 7 = Control_asciicircum + shift altgr control keycode 7 = dead_diaeresis + alt keycode 7 = Meta_six + shift alt keycode 7 = dead_diaeresis + altgr alt keycode 7 = Meta_six + shift altgr alt keycode 7 = dead_diaeresis + control alt keycode 7 = Meta_Control_asciicircum + shift control alt keycode 7 = dead_diaeresis + altgr control alt keycode 7 = Meta_Control_asciicircum + shift altgr control alt keycode 7 = dead_diaeresis + shift shiftl keycode 7 = dead_diaeresis + altgr shiftl keycode 7 = notsign + shift altgr shiftl keycode 7 = diaeresis + control shiftl keycode 7 = Control_asciicircum + shift control shiftl keycode 7 = dead_diaeresis + altgr control shiftl keycode 7 = Control_asciicircum + shift altgr control shiftl keycode 7 = dead_diaeresis + alt shiftl keycode 7 = Meta_six + shift alt shiftl keycode 7 = dead_diaeresis + altgr alt shiftl keycode 7 = Meta_six + shift altgr alt shiftl keycode 7 = dead_diaeresis + control alt shiftl keycode 7 = Meta_Control_asciicircum + shift control alt shiftl keycode 7 = dead_diaeresis + altgr control alt shiftl keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl keycode 7 = dead_diaeresis + shift shiftr keycode 7 = dead_diaeresis + altgr shiftr keycode 7 = notsign + shift altgr shiftr keycode 7 = diaeresis + control shiftr keycode 7 = Control_asciicircum + shift control shiftr keycode 7 = dead_diaeresis + altgr control shiftr keycode 7 = Control_asciicircum + shift altgr control shiftr keycode 7 = dead_diaeresis + alt shiftr keycode 7 = Meta_six + shift alt shiftr keycode 7 = dead_diaeresis + altgr alt shiftr keycode 7 = Meta_six + shift altgr alt shiftr keycode 7 = dead_diaeresis + control alt shiftr keycode 7 = Meta_Control_asciicircum + shift control alt shiftr keycode 7 = dead_diaeresis + altgr control alt shiftr keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftr keycode 7 = dead_diaeresis + shift shiftl shiftr keycode 7 = dead_diaeresis + altgr shiftl shiftr keycode 7 = notsign + shift altgr shiftl shiftr keycode 7 = diaeresis + control shiftl shiftr keycode 7 = Control_asciicircum + shift control shiftl shiftr keycode 7 = dead_diaeresis + altgr control shiftl shiftr keycode 7 = Control_asciicircum + shift altgr control shiftl shiftr keycode 7 = dead_diaeresis + alt shiftl shiftr keycode 7 = Meta_six + shift alt shiftl shiftr keycode 7 = dead_diaeresis + altgr alt shiftl shiftr keycode 7 = Meta_six + shift altgr alt shiftl shiftr keycode 7 = dead_diaeresis + control alt shiftl shiftr keycode 7 = Meta_Control_asciicircum + shift control alt shiftl shiftr keycode 7 = dead_diaeresis + altgr control alt shiftl shiftr keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl shiftr keycode 7 = dead_diaeresis + shift ctrll keycode 7 = dead_diaeresis + altgr ctrll keycode 7 = notsign + shift altgr ctrll keycode 7 = diaeresis + control ctrll keycode 7 = Control_asciicircum + shift control ctrll keycode 7 = dead_diaeresis + altgr control ctrll keycode 7 = Control_asciicircum + shift altgr control ctrll keycode 7 = dead_diaeresis + alt ctrll keycode 7 = Meta_six + shift alt ctrll keycode 7 = dead_diaeresis + altgr alt ctrll keycode 7 = Meta_six + shift altgr alt ctrll keycode 7 = dead_diaeresis + control alt ctrll keycode 7 = Meta_Control_asciicircum + shift control alt ctrll keycode 7 = dead_diaeresis + altgr control alt ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt ctrll keycode 7 = dead_diaeresis + shift shiftl ctrll keycode 7 = dead_diaeresis + altgr shiftl ctrll keycode 7 = notsign + shift altgr shiftl ctrll keycode 7 = diaeresis + control shiftl ctrll keycode 7 = Control_asciicircum + shift control shiftl ctrll keycode 7 = dead_diaeresis + altgr control shiftl ctrll keycode 7 = Control_asciicircum + shift altgr control shiftl ctrll keycode 7 = dead_diaeresis + alt shiftl ctrll keycode 7 = Meta_six + shift alt shiftl ctrll keycode 7 = dead_diaeresis + altgr alt shiftl ctrll keycode 7 = Meta_six + shift altgr alt shiftl ctrll keycode 7 = dead_diaeresis + control alt shiftl ctrll keycode 7 = Meta_Control_asciicircum + shift control alt shiftl ctrll keycode 7 = dead_diaeresis + altgr control alt shiftl ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl ctrll keycode 7 = dead_diaeresis + shift shiftr ctrll keycode 7 = dead_diaeresis + altgr shiftr ctrll keycode 7 = notsign + shift altgr shiftr ctrll keycode 7 = diaeresis + control shiftr ctrll keycode 7 = Control_asciicircum + shift control shiftr ctrll keycode 7 = dead_diaeresis + altgr control shiftr ctrll keycode 7 = Control_asciicircum + shift altgr control shiftr ctrll keycode 7 = dead_diaeresis + alt shiftr ctrll keycode 7 = Meta_six + shift alt shiftr ctrll keycode 7 = dead_diaeresis + altgr alt shiftr ctrll keycode 7 = Meta_six + shift altgr alt shiftr ctrll keycode 7 = dead_diaeresis + control alt shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift control alt shiftr ctrll keycode 7 = dead_diaeresis + altgr control alt shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftr ctrll keycode 7 = dead_diaeresis + shift shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr shiftl shiftr ctrll keycode 7 = notsign + shift altgr shiftl shiftr ctrll keycode 7 = diaeresis + control shiftl shiftr ctrll keycode 7 = Control_asciicircum + shift control shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr control shiftl shiftr ctrll keycode 7 = Control_asciicircum + shift altgr control shiftl shiftr ctrll keycode 7 = dead_diaeresis + alt shiftl shiftr ctrll keycode 7 = Meta_six + shift alt shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr alt shiftl shiftr ctrll keycode 7 = Meta_six + shift altgr alt shiftl shiftr ctrll keycode 7 = dead_diaeresis + control alt shiftl shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift control alt shiftl shiftr ctrll keycode 7 = dead_diaeresis + altgr control alt shiftl shiftr ctrll keycode 7 = Meta_Control_asciicircum + shift altgr control alt shiftl shiftr ctrll keycode 7 = dead_diaeresis +keycode 8 = seven + shift keycode 8 = ampersand + altgr keycode 8 = braceleft + shift altgr keycode 8 = U+215e + control keycode 8 = Control_underscore + shift control keycode 8 = Control_underscore + altgr control keycode 8 = Control_underscore + shift altgr control keycode 8 = Control_underscore + alt keycode 8 = Meta_seven + shift alt keycode 8 = Meta_ampersand + altgr alt keycode 8 = Meta_braceleft + shift altgr alt keycode 8 = Meta_braceleft + control alt keycode 8 = Meta_Control_underscore + shift control alt keycode 8 = Meta_Control_underscore + altgr control alt keycode 8 = Meta_Control_underscore + shift altgr control alt keycode 8 = Meta_Control_underscore + shift shiftl keycode 8 = ampersand + altgr shiftl keycode 8 = braceleft + shift altgr shiftl keycode 8 = U+215e + control shiftl keycode 8 = Control_underscore + shift control shiftl keycode 8 = Control_underscore + altgr control shiftl keycode 8 = Control_underscore + shift altgr control shiftl keycode 8 = Control_underscore + alt shiftl keycode 8 = Meta_seven + shift alt shiftl keycode 8 = Meta_ampersand + altgr alt shiftl keycode 8 = Meta_braceleft + shift altgr alt shiftl keycode 8 = Meta_braceleft + control alt shiftl keycode 8 = Meta_Control_underscore + shift control alt shiftl keycode 8 = Meta_Control_underscore + altgr control alt shiftl keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl keycode 8 = Meta_Control_underscore + shift shiftr keycode 8 = ampersand + altgr shiftr keycode 8 = braceleft + shift altgr shiftr keycode 8 = U+215e + control shiftr keycode 8 = Control_underscore + shift control shiftr keycode 8 = Control_underscore + altgr control shiftr keycode 8 = Control_underscore + shift altgr control shiftr keycode 8 = Control_underscore + alt shiftr keycode 8 = Meta_seven + shift alt shiftr keycode 8 = Meta_ampersand + altgr alt shiftr keycode 8 = Meta_braceleft + shift altgr alt shiftr keycode 8 = Meta_braceleft + control alt shiftr keycode 8 = Meta_Control_underscore + shift control alt shiftr keycode 8 = Meta_Control_underscore + altgr control alt shiftr keycode 8 = Meta_Control_underscore + shift altgr control alt shiftr keycode 8 = Meta_Control_underscore + shift shiftl shiftr keycode 8 = ampersand + altgr shiftl shiftr keycode 8 = braceleft + shift altgr shiftl shiftr keycode 8 = U+215e + control shiftl shiftr keycode 8 = Control_underscore + shift control shiftl shiftr keycode 8 = Control_underscore + altgr control shiftl shiftr keycode 8 = Control_underscore + shift altgr control shiftl shiftr keycode 8 = Control_underscore + alt shiftl shiftr keycode 8 = Meta_seven + shift alt shiftl shiftr keycode 8 = Meta_ampersand + altgr alt shiftl shiftr keycode 8 = Meta_braceleft + shift altgr alt shiftl shiftr keycode 8 = Meta_braceleft + control alt shiftl shiftr keycode 8 = Meta_Control_underscore + shift control alt shiftl shiftr keycode 8 = Meta_Control_underscore + altgr control alt shiftl shiftr keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl shiftr keycode 8 = Meta_Control_underscore + shift ctrll keycode 8 = ampersand + altgr ctrll keycode 8 = braceleft + shift altgr ctrll keycode 8 = U+215e + control ctrll keycode 8 = Control_underscore + shift control ctrll keycode 8 = Control_underscore + altgr control ctrll keycode 8 = Control_underscore + shift altgr control ctrll keycode 8 = Control_underscore + alt ctrll keycode 8 = Meta_seven + shift alt ctrll keycode 8 = Meta_ampersand + altgr alt ctrll keycode 8 = Meta_braceleft + shift altgr alt ctrll keycode 8 = Meta_braceleft + control alt ctrll keycode 8 = Meta_Control_underscore + shift control alt ctrll keycode 8 = Meta_Control_underscore + altgr control alt ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt ctrll keycode 8 = Meta_Control_underscore + shift shiftl ctrll keycode 8 = ampersand + altgr shiftl ctrll keycode 8 = braceleft + shift altgr shiftl ctrll keycode 8 = U+215e + control shiftl ctrll keycode 8 = Control_underscore + shift control shiftl ctrll keycode 8 = Control_underscore + altgr control shiftl ctrll keycode 8 = Control_underscore + shift altgr control shiftl ctrll keycode 8 = Control_underscore + alt shiftl ctrll keycode 8 = Meta_seven + shift alt shiftl ctrll keycode 8 = Meta_ampersand + altgr alt shiftl ctrll keycode 8 = Meta_braceleft + shift altgr alt shiftl ctrll keycode 8 = Meta_braceleft + control alt shiftl ctrll keycode 8 = Meta_Control_underscore + shift control alt shiftl ctrll keycode 8 = Meta_Control_underscore + altgr control alt shiftl ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl ctrll keycode 8 = Meta_Control_underscore + shift shiftr ctrll keycode 8 = ampersand + altgr shiftr ctrll keycode 8 = braceleft + shift altgr shiftr ctrll keycode 8 = U+215e + control shiftr ctrll keycode 8 = Control_underscore + shift control shiftr ctrll keycode 8 = Control_underscore + altgr control shiftr ctrll keycode 8 = Control_underscore + shift altgr control shiftr ctrll keycode 8 = Control_underscore + alt shiftr ctrll keycode 8 = Meta_seven + shift alt shiftr ctrll keycode 8 = Meta_ampersand + altgr alt shiftr ctrll keycode 8 = Meta_braceleft + shift altgr alt shiftr ctrll keycode 8 = Meta_braceleft + control alt shiftr ctrll keycode 8 = Meta_Control_underscore + shift control alt shiftr ctrll keycode 8 = Meta_Control_underscore + altgr control alt shiftr ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt shiftr ctrll keycode 8 = Meta_Control_underscore + shift shiftl shiftr ctrll keycode 8 = ampersand + altgr shiftl shiftr ctrll keycode 8 = braceleft + shift altgr shiftl shiftr ctrll keycode 8 = U+215e + control shiftl shiftr ctrll keycode 8 = Control_underscore + shift control shiftl shiftr ctrll keycode 8 = Control_underscore + altgr control shiftl shiftr ctrll keycode 8 = Control_underscore + shift altgr control shiftl shiftr ctrll keycode 8 = Control_underscore + alt shiftl shiftr ctrll keycode 8 = Meta_seven + shift alt shiftl shiftr ctrll keycode 8 = Meta_ampersand + altgr alt shiftl shiftr ctrll keycode 8 = Meta_braceleft + shift altgr alt shiftl shiftr ctrll keycode 8 = Meta_braceleft + control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore + shift control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore + altgr control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore + shift altgr control alt shiftl shiftr ctrll keycode 8 = Meta_Control_underscore +keycode 9 = eight + shift keycode 9 = asterisk + altgr keycode 9 = bracketleft + shift altgr keycode 9 = trademark + control keycode 9 = Delete + shift control keycode 9 = Delete + altgr control keycode 9 = Escape + shift altgr control keycode 9 = Escape + alt keycode 9 = Meta_eight + shift alt keycode 9 = Meta_asterisk + altgr alt keycode 9 = Meta_bracketleft + shift altgr alt keycode 9 = Meta_bracketleft + control alt keycode 9 = Meta_Delete + shift control alt keycode 9 = Meta_Delete + altgr control alt keycode 9 = Meta_Escape + shift altgr control alt keycode 9 = Meta_Escape + shift shiftl keycode 9 = asterisk + altgr shiftl keycode 9 = bracketleft + shift altgr shiftl keycode 9 = trademark + control shiftl keycode 9 = Delete + shift control shiftl keycode 9 = Delete + altgr control shiftl keycode 9 = Escape + shift altgr control shiftl keycode 9 = Escape + alt shiftl keycode 9 = Meta_eight + shift alt shiftl keycode 9 = Meta_asterisk + altgr alt shiftl keycode 9 = Meta_bracketleft + shift altgr alt shiftl keycode 9 = Meta_bracketleft + control alt shiftl keycode 9 = Meta_Delete + shift control alt shiftl keycode 9 = Meta_Delete + altgr control alt shiftl keycode 9 = Meta_Escape + shift altgr control alt shiftl keycode 9 = Meta_Escape + shift shiftr keycode 9 = asterisk + altgr shiftr keycode 9 = bracketleft + shift altgr shiftr keycode 9 = trademark + control shiftr keycode 9 = Delete + shift control shiftr keycode 9 = Delete + altgr control shiftr keycode 9 = Escape + shift altgr control shiftr keycode 9 = Escape + alt shiftr keycode 9 = Meta_eight + shift alt shiftr keycode 9 = Meta_asterisk + altgr alt shiftr keycode 9 = Meta_bracketleft + shift altgr alt shiftr keycode 9 = Meta_bracketleft + control alt shiftr keycode 9 = Meta_Delete + shift control alt shiftr keycode 9 = Meta_Delete + altgr control alt shiftr keycode 9 = Meta_Escape + shift altgr control alt shiftr keycode 9 = Meta_Escape + shift shiftl shiftr keycode 9 = asterisk + altgr shiftl shiftr keycode 9 = bracketleft + shift altgr shiftl shiftr keycode 9 = trademark + control shiftl shiftr keycode 9 = Delete + shift control shiftl shiftr keycode 9 = Delete + altgr control shiftl shiftr keycode 9 = Escape + shift altgr control shiftl shiftr keycode 9 = Escape + alt shiftl shiftr keycode 9 = Meta_eight + shift alt shiftl shiftr keycode 9 = Meta_asterisk + altgr alt shiftl shiftr keycode 9 = Meta_bracketleft + shift altgr alt shiftl shiftr keycode 9 = Meta_bracketleft + control alt shiftl shiftr keycode 9 = Meta_Delete + shift control alt shiftl shiftr keycode 9 = Meta_Delete + altgr control alt shiftl shiftr keycode 9 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 9 = Meta_Escape + shift ctrll keycode 9 = asterisk + altgr ctrll keycode 9 = bracketleft + shift altgr ctrll keycode 9 = trademark + control ctrll keycode 9 = Delete + shift control ctrll keycode 9 = Delete + altgr control ctrll keycode 9 = Escape + shift altgr control ctrll keycode 9 = Escape + alt ctrll keycode 9 = Meta_eight + shift alt ctrll keycode 9 = Meta_asterisk + altgr alt ctrll keycode 9 = Meta_bracketleft + shift altgr alt ctrll keycode 9 = Meta_bracketleft + control alt ctrll keycode 9 = Meta_Delete + shift control alt ctrll keycode 9 = Meta_Delete + altgr control alt ctrll keycode 9 = Meta_Escape + shift altgr control alt ctrll keycode 9 = Meta_Escape + shift shiftl ctrll keycode 9 = asterisk + altgr shiftl ctrll keycode 9 = bracketleft + shift altgr shiftl ctrll keycode 9 = trademark + control shiftl ctrll keycode 9 = Delete + shift control shiftl ctrll keycode 9 = Delete + altgr control shiftl ctrll keycode 9 = Escape + shift altgr control shiftl ctrll keycode 9 = Escape + alt shiftl ctrll keycode 9 = Meta_eight + shift alt shiftl ctrll keycode 9 = Meta_asterisk + altgr alt shiftl ctrll keycode 9 = Meta_bracketleft + shift altgr alt shiftl ctrll keycode 9 = Meta_bracketleft + control alt shiftl ctrll keycode 9 = Meta_Delete + shift control alt shiftl ctrll keycode 9 = Meta_Delete + altgr control alt shiftl ctrll keycode 9 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 9 = Meta_Escape + shift shiftr ctrll keycode 9 = asterisk + altgr shiftr ctrll keycode 9 = bracketleft + shift altgr shiftr ctrll keycode 9 = trademark + control shiftr ctrll keycode 9 = Delete + shift control shiftr ctrll keycode 9 = Delete + altgr control shiftr ctrll keycode 9 = Escape + shift altgr control shiftr ctrll keycode 9 = Escape + alt shiftr ctrll keycode 9 = Meta_eight + shift alt shiftr ctrll keycode 9 = Meta_asterisk + altgr alt shiftr ctrll keycode 9 = Meta_bracketleft + shift altgr alt shiftr ctrll keycode 9 = Meta_bracketleft + control alt shiftr ctrll keycode 9 = Meta_Delete + shift control alt shiftr ctrll keycode 9 = Meta_Delete + altgr control alt shiftr ctrll keycode 9 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 9 = Meta_Escape + shift shiftl shiftr ctrll keycode 9 = asterisk + altgr shiftl shiftr ctrll keycode 9 = bracketleft + shift altgr shiftl shiftr ctrll keycode 9 = trademark + control shiftl shiftr ctrll keycode 9 = Delete + shift control shiftl shiftr ctrll keycode 9 = Delete + altgr control shiftl shiftr ctrll keycode 9 = Escape + shift altgr control shiftl shiftr ctrll keycode 9 = Escape + alt shiftl shiftr ctrll keycode 9 = Meta_eight + shift alt shiftl shiftr ctrll keycode 9 = Meta_asterisk + altgr alt shiftl shiftr ctrll keycode 9 = Meta_bracketleft + shift altgr alt shiftl shiftr ctrll keycode 9 = Meta_bracketleft + control alt shiftl shiftr ctrll keycode 9 = Meta_Delete + shift control alt shiftl shiftr ctrll keycode 9 = Meta_Delete + altgr control alt shiftl shiftr ctrll keycode 9 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 9 = Meta_Escape +keycode 10 = nine + shift keycode 10 = parenleft + altgr keycode 10 = bracketright + shift altgr keycode 10 = plusminus + control keycode 10 = Control_bracketright + shift control keycode 10 = Control_bracketright + altgr control keycode 10 = Control_bracketright + shift altgr control keycode 10 = Control_bracketright + alt keycode 10 = Meta_nine + shift alt keycode 10 = Meta_parenleft + altgr alt keycode 10 = Meta_bracketright + shift altgr alt keycode 10 = Meta_bracketright + control alt keycode 10 = Meta_Control_bracketright + shift control alt keycode 10 = Meta_Control_bracketright + altgr control alt keycode 10 = Meta_Control_bracketright + shift altgr control alt keycode 10 = Meta_Control_bracketright + shift shiftl keycode 10 = parenleft + altgr shiftl keycode 10 = bracketright + shift altgr shiftl keycode 10 = plusminus + control shiftl keycode 10 = Control_bracketright + shift control shiftl keycode 10 = Control_bracketright + altgr control shiftl keycode 10 = Control_bracketright + shift altgr control shiftl keycode 10 = Control_bracketright + alt shiftl keycode 10 = Meta_nine + shift alt shiftl keycode 10 = Meta_parenleft + altgr alt shiftl keycode 10 = Meta_bracketright + shift altgr alt shiftl keycode 10 = Meta_bracketright + control alt shiftl keycode 10 = Meta_Control_bracketright + shift control alt shiftl keycode 10 = Meta_Control_bracketright + altgr control alt shiftl keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl keycode 10 = Meta_Control_bracketright + shift shiftr keycode 10 = parenleft + altgr shiftr keycode 10 = bracketright + shift altgr shiftr keycode 10 = plusminus + control shiftr keycode 10 = Control_bracketright + shift control shiftr keycode 10 = Control_bracketright + altgr control shiftr keycode 10 = Control_bracketright + shift altgr control shiftr keycode 10 = Control_bracketright + alt shiftr keycode 10 = Meta_nine + shift alt shiftr keycode 10 = Meta_parenleft + altgr alt shiftr keycode 10 = Meta_bracketright + shift altgr alt shiftr keycode 10 = Meta_bracketright + control alt shiftr keycode 10 = Meta_Control_bracketright + shift control alt shiftr keycode 10 = Meta_Control_bracketright + altgr control alt shiftr keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftr keycode 10 = Meta_Control_bracketright + shift shiftl shiftr keycode 10 = parenleft + altgr shiftl shiftr keycode 10 = bracketright + shift altgr shiftl shiftr keycode 10 = plusminus + control shiftl shiftr keycode 10 = Control_bracketright + shift control shiftl shiftr keycode 10 = Control_bracketright + altgr control shiftl shiftr keycode 10 = Control_bracketright + shift altgr control shiftl shiftr keycode 10 = Control_bracketright + alt shiftl shiftr keycode 10 = Meta_nine + shift alt shiftl shiftr keycode 10 = Meta_parenleft + altgr alt shiftl shiftr keycode 10 = Meta_bracketright + shift altgr alt shiftl shiftr keycode 10 = Meta_bracketright + control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + shift control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + altgr control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr keycode 10 = Meta_Control_bracketright + shift ctrll keycode 10 = parenleft + altgr ctrll keycode 10 = bracketright + shift altgr ctrll keycode 10 = plusminus + control ctrll keycode 10 = Control_bracketright + shift control ctrll keycode 10 = Control_bracketright + altgr control ctrll keycode 10 = Control_bracketright + shift altgr control ctrll keycode 10 = Control_bracketright + alt ctrll keycode 10 = Meta_nine + shift alt ctrll keycode 10 = Meta_parenleft + altgr alt ctrll keycode 10 = Meta_bracketright + shift altgr alt ctrll keycode 10 = Meta_bracketright + control alt ctrll keycode 10 = Meta_Control_bracketright + shift control alt ctrll keycode 10 = Meta_Control_bracketright + altgr control alt ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt ctrll keycode 10 = Meta_Control_bracketright + shift shiftl ctrll keycode 10 = parenleft + altgr shiftl ctrll keycode 10 = bracketright + shift altgr shiftl ctrll keycode 10 = plusminus + control shiftl ctrll keycode 10 = Control_bracketright + shift control shiftl ctrll keycode 10 = Control_bracketright + altgr control shiftl ctrll keycode 10 = Control_bracketright + shift altgr control shiftl ctrll keycode 10 = Control_bracketright + alt shiftl ctrll keycode 10 = Meta_nine + shift alt shiftl ctrll keycode 10 = Meta_parenleft + altgr alt shiftl ctrll keycode 10 = Meta_bracketright + shift altgr alt shiftl ctrll keycode 10 = Meta_bracketright + control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + shift control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + altgr control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl ctrll keycode 10 = Meta_Control_bracketright + shift shiftr ctrll keycode 10 = parenleft + altgr shiftr ctrll keycode 10 = bracketright + shift altgr shiftr ctrll keycode 10 = plusminus + control shiftr ctrll keycode 10 = Control_bracketright + shift control shiftr ctrll keycode 10 = Control_bracketright + altgr control shiftr ctrll keycode 10 = Control_bracketright + shift altgr control shiftr ctrll keycode 10 = Control_bracketright + alt shiftr ctrll keycode 10 = Meta_nine + shift alt shiftr ctrll keycode 10 = Meta_parenleft + altgr alt shiftr ctrll keycode 10 = Meta_bracketright + shift altgr alt shiftr ctrll keycode 10 = Meta_bracketright + control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + shift control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + altgr control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftr ctrll keycode 10 = Meta_Control_bracketright + shift shiftl shiftr ctrll keycode 10 = parenleft + altgr shiftl shiftr ctrll keycode 10 = bracketright + shift altgr shiftl shiftr ctrll keycode 10 = plusminus + control shiftl shiftr ctrll keycode 10 = Control_bracketright + shift control shiftl shiftr ctrll keycode 10 = Control_bracketright + altgr control shiftl shiftr ctrll keycode 10 = Control_bracketright + shift altgr control shiftl shiftr ctrll keycode 10 = Control_bracketright + alt shiftl shiftr ctrll keycode 10 = Meta_nine + shift alt shiftl shiftr ctrll keycode 10 = Meta_parenleft + altgr alt shiftl shiftr ctrll keycode 10 = Meta_bracketright + shift altgr alt shiftl shiftr ctrll keycode 10 = Meta_bracketright + control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright + shift control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright + altgr control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr ctrll keycode 10 = Meta_Control_bracketright +keycode 11 = zero parenright braceright degree + alt keycode 11 = Meta_zero + shift alt keycode 11 = Meta_parenright + altgr alt keycode 11 = Meta_braceright + shift altgr alt keycode 11 = Meta_braceright + shiftl keycode 11 = zero + shift shiftl keycode 11 = parenright + altgr shiftl keycode 11 = braceright + shift altgr shiftl keycode 11 = degree + alt shiftl keycode 11 = Meta_zero + shift alt shiftl keycode 11 = Meta_parenright + altgr alt shiftl keycode 11 = Meta_braceright + shift altgr alt shiftl keycode 11 = Meta_braceright + shiftr keycode 11 = zero + shift shiftr keycode 11 = parenright + altgr shiftr keycode 11 = braceright + shift altgr shiftr keycode 11 = degree + alt shiftr keycode 11 = Meta_zero + shift alt shiftr keycode 11 = Meta_parenright + altgr alt shiftr keycode 11 = Meta_braceright + shift altgr alt shiftr keycode 11 = Meta_braceright + shiftl shiftr keycode 11 = zero + shift shiftl shiftr keycode 11 = parenright + altgr shiftl shiftr keycode 11 = braceright + shift altgr shiftl shiftr keycode 11 = degree + alt shiftl shiftr keycode 11 = Meta_zero + shift alt shiftl shiftr keycode 11 = Meta_parenright + altgr alt shiftl shiftr keycode 11 = Meta_braceright + shift altgr alt shiftl shiftr keycode 11 = Meta_braceright + ctrll keycode 11 = zero + shift ctrll keycode 11 = parenright + altgr ctrll keycode 11 = braceright + shift altgr ctrll keycode 11 = degree + alt ctrll keycode 11 = Meta_zero + shift alt ctrll keycode 11 = Meta_parenright + altgr alt ctrll keycode 11 = Meta_braceright + shift altgr alt ctrll keycode 11 = Meta_braceright + shiftl ctrll keycode 11 = zero + shift shiftl ctrll keycode 11 = parenright + altgr shiftl ctrll keycode 11 = braceright + shift altgr shiftl ctrll keycode 11 = degree + alt shiftl ctrll keycode 11 = Meta_zero + shift alt shiftl ctrll keycode 11 = Meta_parenright + altgr alt shiftl ctrll keycode 11 = Meta_braceright + shift altgr alt shiftl ctrll keycode 11 = Meta_braceright + shiftr ctrll keycode 11 = zero + shift shiftr ctrll keycode 11 = parenright + altgr shiftr ctrll keycode 11 = braceright + shift altgr shiftr ctrll keycode 11 = degree + alt shiftr ctrll keycode 11 = Meta_zero + shift alt shiftr ctrll keycode 11 = Meta_parenright + altgr alt shiftr ctrll keycode 11 = Meta_braceright + shift altgr alt shiftr ctrll keycode 11 = Meta_braceright + shiftl shiftr ctrll keycode 11 = zero + shift shiftl shiftr ctrll keycode 11 = parenright + altgr shiftl shiftr ctrll keycode 11 = braceright + shift altgr shiftl shiftr ctrll keycode 11 = degree + alt shiftl shiftr ctrll keycode 11 = Meta_zero + shift alt shiftl shiftr ctrll keycode 11 = Meta_parenright + altgr alt shiftl shiftr ctrll keycode 11 = Meta_braceright + shift altgr alt shiftl shiftr ctrll keycode 11 = Meta_braceright +keycode 12 = minus + shift keycode 12 = underscore + altgr keycode 12 = backslash + shift altgr keycode 12 = questiondown + control keycode 12 = Control_underscore + shift control keycode 12 = Control_underscore + altgr control keycode 12 = Control_backslash + shift altgr control keycode 12 = Control_backslash + alt keycode 12 = Meta_minus + shift alt keycode 12 = Meta_underscore + altgr alt keycode 12 = Meta_backslash + shift altgr alt keycode 12 = Meta_backslash + control alt keycode 12 = Meta_Control_underscore + shift control alt keycode 12 = Meta_Control_underscore + altgr control alt keycode 12 = Meta_Control_backslash + shift altgr control alt keycode 12 = Meta_Control_backslash + shift shiftl keycode 12 = underscore + altgr shiftl keycode 12 = backslash + shift altgr shiftl keycode 12 = questiondown + control shiftl keycode 12 = Control_underscore + shift control shiftl keycode 12 = Control_underscore + altgr control shiftl keycode 12 = Control_backslash + shift altgr control shiftl keycode 12 = Control_backslash + alt shiftl keycode 12 = Meta_minus + shift alt shiftl keycode 12 = Meta_underscore + altgr alt shiftl keycode 12 = Meta_backslash + shift altgr alt shiftl keycode 12 = Meta_backslash + control alt shiftl keycode 12 = Meta_Control_underscore + shift control alt shiftl keycode 12 = Meta_Control_underscore + altgr control alt shiftl keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl keycode 12 = Meta_Control_backslash + shift shiftr keycode 12 = underscore + altgr shiftr keycode 12 = backslash + shift altgr shiftr keycode 12 = questiondown + control shiftr keycode 12 = Control_underscore + shift control shiftr keycode 12 = Control_underscore + altgr control shiftr keycode 12 = Control_backslash + shift altgr control shiftr keycode 12 = Control_backslash + alt shiftr keycode 12 = Meta_minus + shift alt shiftr keycode 12 = Meta_underscore + altgr alt shiftr keycode 12 = Meta_backslash + shift altgr alt shiftr keycode 12 = Meta_backslash + control alt shiftr keycode 12 = Meta_Control_underscore + shift control alt shiftr keycode 12 = Meta_Control_underscore + altgr control alt shiftr keycode 12 = Meta_Control_backslash + shift altgr control alt shiftr keycode 12 = Meta_Control_backslash + shift shiftl shiftr keycode 12 = underscore + altgr shiftl shiftr keycode 12 = backslash + shift altgr shiftl shiftr keycode 12 = questiondown + control shiftl shiftr keycode 12 = Control_underscore + shift control shiftl shiftr keycode 12 = Control_underscore + altgr control shiftl shiftr keycode 12 = Control_backslash + shift altgr control shiftl shiftr keycode 12 = Control_backslash + alt shiftl shiftr keycode 12 = Meta_minus + shift alt shiftl shiftr keycode 12 = Meta_underscore + altgr alt shiftl shiftr keycode 12 = Meta_backslash + shift altgr alt shiftl shiftr keycode 12 = Meta_backslash + control alt shiftl shiftr keycode 12 = Meta_Control_underscore + shift control alt shiftl shiftr keycode 12 = Meta_Control_underscore + altgr control alt shiftl shiftr keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl shiftr keycode 12 = Meta_Control_backslash + shift ctrll keycode 12 = underscore + altgr ctrll keycode 12 = backslash + shift altgr ctrll keycode 12 = questiondown + control ctrll keycode 12 = Control_underscore + shift control ctrll keycode 12 = Control_underscore + altgr control ctrll keycode 12 = Control_backslash + shift altgr control ctrll keycode 12 = Control_backslash + alt ctrll keycode 12 = Meta_minus + shift alt ctrll keycode 12 = Meta_underscore + altgr alt ctrll keycode 12 = Meta_backslash + shift altgr alt ctrll keycode 12 = Meta_backslash + control alt ctrll keycode 12 = Meta_Control_underscore + shift control alt ctrll keycode 12 = Meta_Control_underscore + altgr control alt ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt ctrll keycode 12 = Meta_Control_backslash + shift shiftl ctrll keycode 12 = underscore + altgr shiftl ctrll keycode 12 = backslash + shift altgr shiftl ctrll keycode 12 = questiondown + control shiftl ctrll keycode 12 = Control_underscore + shift control shiftl ctrll keycode 12 = Control_underscore + altgr control shiftl ctrll keycode 12 = Control_backslash + shift altgr control shiftl ctrll keycode 12 = Control_backslash + alt shiftl ctrll keycode 12 = Meta_minus + shift alt shiftl ctrll keycode 12 = Meta_underscore + altgr alt shiftl ctrll keycode 12 = Meta_backslash + shift altgr alt shiftl ctrll keycode 12 = Meta_backslash + control alt shiftl ctrll keycode 12 = Meta_Control_underscore + shift control alt shiftl ctrll keycode 12 = Meta_Control_underscore + altgr control alt shiftl ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl ctrll keycode 12 = Meta_Control_backslash + shift shiftr ctrll keycode 12 = underscore + altgr shiftr ctrll keycode 12 = backslash + shift altgr shiftr ctrll keycode 12 = questiondown + control shiftr ctrll keycode 12 = Control_underscore + shift control shiftr ctrll keycode 12 = Control_underscore + altgr control shiftr ctrll keycode 12 = Control_backslash + shift altgr control shiftr ctrll keycode 12 = Control_backslash + alt shiftr ctrll keycode 12 = Meta_minus + shift alt shiftr ctrll keycode 12 = Meta_underscore + altgr alt shiftr ctrll keycode 12 = Meta_backslash + shift altgr alt shiftr ctrll keycode 12 = Meta_backslash + control alt shiftr ctrll keycode 12 = Meta_Control_underscore + shift control alt shiftr ctrll keycode 12 = Meta_Control_underscore + altgr control alt shiftr ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt shiftr ctrll keycode 12 = Meta_Control_backslash + shift shiftl shiftr ctrll keycode 12 = underscore + altgr shiftl shiftr ctrll keycode 12 = backslash + shift altgr shiftl shiftr ctrll keycode 12 = questiondown + control shiftl shiftr ctrll keycode 12 = Control_underscore + shift control shiftl shiftr ctrll keycode 12 = Control_underscore + altgr control shiftl shiftr ctrll keycode 12 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 12 = Control_backslash + alt shiftl shiftr ctrll keycode 12 = Meta_minus + shift alt shiftl shiftr ctrll keycode 12 = Meta_underscore + altgr alt shiftl shiftr ctrll keycode 12 = Meta_backslash + shift altgr alt shiftl shiftr ctrll keycode 12 = Meta_backslash + control alt shiftl shiftr ctrll keycode 12 = Meta_Control_underscore + shift control alt shiftl shiftr ctrll keycode 12 = Meta_Control_underscore + altgr control alt shiftl shiftr ctrll keycode 12 = Meta_Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 12 = Meta_Control_backslash +keycode 13 = equal + shift keycode 13 = plus + altgr keycode 13 = section + shift altgr keycode 13 = dead_cedilla + control keycode 13 = dead_cedilla + shift control keycode 13 = dead_cedilla + altgr control keycode 13 = dead_cedilla + shift altgr control keycode 13 = dead_cedilla + alt keycode 13 = Meta_equal + shift alt keycode 13 = Meta_plus + altgr alt keycode 13 = Meta_equal + shift altgr alt keycode 13 = dead_cedilla + control alt keycode 13 = dead_cedilla + shift control alt keycode 13 = dead_cedilla + altgr control alt keycode 13 = dead_cedilla + shift altgr control alt keycode 13 = dead_cedilla + shift shiftl keycode 13 = plus + altgr shiftl keycode 13 = section + shift altgr shiftl keycode 13 = dead_cedilla + control shiftl keycode 13 = dead_cedilla + shift control shiftl keycode 13 = dead_cedilla + altgr control shiftl keycode 13 = dead_cedilla + shift altgr control shiftl keycode 13 = dead_cedilla + alt shiftl keycode 13 = Meta_equal + shift alt shiftl keycode 13 = Meta_plus + altgr alt shiftl keycode 13 = Meta_equal + shift altgr alt shiftl keycode 13 = dead_cedilla + control alt shiftl keycode 13 = dead_cedilla + shift control alt shiftl keycode 13 = dead_cedilla + altgr control alt shiftl keycode 13 = dead_cedilla + shift altgr control alt shiftl keycode 13 = dead_cedilla + shift shiftr keycode 13 = plus + altgr shiftr keycode 13 = section + shift altgr shiftr keycode 13 = dead_cedilla + control shiftr keycode 13 = dead_cedilla + shift control shiftr keycode 13 = dead_cedilla + altgr control shiftr keycode 13 = dead_cedilla + shift altgr control shiftr keycode 13 = dead_cedilla + alt shiftr keycode 13 = Meta_equal + shift alt shiftr keycode 13 = Meta_plus + altgr alt shiftr keycode 13 = Meta_equal + shift altgr alt shiftr keycode 13 = dead_cedilla + control alt shiftr keycode 13 = dead_cedilla + shift control alt shiftr keycode 13 = dead_cedilla + altgr control alt shiftr keycode 13 = dead_cedilla + shift altgr control alt shiftr keycode 13 = dead_cedilla + shift shiftl shiftr keycode 13 = plus + altgr shiftl shiftr keycode 13 = section + shift altgr shiftl shiftr keycode 13 = dead_cedilla + control shiftl shiftr keycode 13 = dead_cedilla + shift control shiftl shiftr keycode 13 = dead_cedilla + altgr control shiftl shiftr keycode 13 = dead_cedilla + shift altgr control shiftl shiftr keycode 13 = dead_cedilla + alt shiftl shiftr keycode 13 = Meta_equal + shift alt shiftl shiftr keycode 13 = Meta_plus + altgr alt shiftl shiftr keycode 13 = Meta_equal + shift altgr alt shiftl shiftr keycode 13 = dead_cedilla + control alt shiftl shiftr keycode 13 = dead_cedilla + shift control alt shiftl shiftr keycode 13 = dead_cedilla + altgr control alt shiftl shiftr keycode 13 = dead_cedilla + shift altgr control alt shiftl shiftr keycode 13 = dead_cedilla + shift ctrll keycode 13 = plus + altgr ctrll keycode 13 = section + shift altgr ctrll keycode 13 = dead_cedilla + control ctrll keycode 13 = dead_cedilla + shift control ctrll keycode 13 = dead_cedilla + altgr control ctrll keycode 13 = dead_cedilla + shift altgr control ctrll keycode 13 = dead_cedilla + alt ctrll keycode 13 = Meta_equal + shift alt ctrll keycode 13 = Meta_plus + altgr alt ctrll keycode 13 = Meta_equal + shift altgr alt ctrll keycode 13 = dead_cedilla + control alt ctrll keycode 13 = dead_cedilla + shift control alt ctrll keycode 13 = dead_cedilla + altgr control alt ctrll keycode 13 = dead_cedilla + shift altgr control alt ctrll keycode 13 = dead_cedilla + shift shiftl ctrll keycode 13 = plus + altgr shiftl ctrll keycode 13 = section + shift altgr shiftl ctrll keycode 13 = dead_cedilla + control shiftl ctrll keycode 13 = dead_cedilla + shift control shiftl ctrll keycode 13 = dead_cedilla + altgr control shiftl ctrll keycode 13 = dead_cedilla + shift altgr control shiftl ctrll keycode 13 = dead_cedilla + alt shiftl ctrll keycode 13 = Meta_equal + shift alt shiftl ctrll keycode 13 = Meta_plus + altgr alt shiftl ctrll keycode 13 = Meta_equal + shift altgr alt shiftl ctrll keycode 13 = dead_cedilla + control alt shiftl ctrll keycode 13 = dead_cedilla + shift control alt shiftl ctrll keycode 13 = dead_cedilla + altgr control alt shiftl ctrll keycode 13 = dead_cedilla + shift altgr control alt shiftl ctrll keycode 13 = dead_cedilla + shift shiftr ctrll keycode 13 = plus + altgr shiftr ctrll keycode 13 = section + shift altgr shiftr ctrll keycode 13 = dead_cedilla + control shiftr ctrll keycode 13 = dead_cedilla + shift control shiftr ctrll keycode 13 = dead_cedilla + altgr control shiftr ctrll keycode 13 = dead_cedilla + shift altgr control shiftr ctrll keycode 13 = dead_cedilla + alt shiftr ctrll keycode 13 = Meta_equal + shift alt shiftr ctrll keycode 13 = Meta_plus + altgr alt shiftr ctrll keycode 13 = Meta_equal + shift altgr alt shiftr ctrll keycode 13 = dead_cedilla + control alt shiftr ctrll keycode 13 = dead_cedilla + shift control alt shiftr ctrll keycode 13 = dead_cedilla + altgr control alt shiftr ctrll keycode 13 = dead_cedilla + shift altgr control alt shiftr ctrll keycode 13 = dead_cedilla + shift shiftl shiftr ctrll keycode 13 = plus + altgr shiftl shiftr ctrll keycode 13 = section + shift altgr shiftl shiftr ctrll keycode 13 = dead_cedilla + control shiftl shiftr ctrll keycode 13 = dead_cedilla + shift control shiftl shiftr ctrll keycode 13 = dead_cedilla + altgr control shiftl shiftr ctrll keycode 13 = dead_cedilla + shift altgr control shiftl shiftr ctrll keycode 13 = dead_cedilla + alt shiftl shiftr ctrll keycode 13 = Meta_equal + shift alt shiftl shiftr ctrll keycode 13 = Meta_plus + altgr alt shiftl shiftr ctrll keycode 13 = Meta_equal + shift altgr alt shiftl shiftr ctrll keycode 13 = dead_cedilla + control alt shiftl shiftr ctrll keycode 13 = dead_cedilla + shift control alt shiftl shiftr ctrll keycode 13 = dead_cedilla + altgr control alt shiftl shiftr ctrll keycode 13 = dead_cedilla + shift altgr control alt shiftl shiftr ctrll keycode 13 = dead_cedilla +keycode 14 = Delete + control keycode 14 = BackSpace + shift control keycode 14 = BackSpace + altgr control keycode 14 = BackSpace + shift altgr control keycode 14 = BackSpace + alt keycode 14 = Meta_Delete + shift alt keycode 14 = Meta_Delete + altgr alt keycode 14 = Meta_Delete + shift altgr alt keycode 14 = Meta_Delete + control alt keycode 14 = Meta_BackSpace + shift control alt keycode 14 = Meta_BackSpace + altgr control alt keycode 14 = Meta_BackSpace + shift altgr control alt keycode 14 = Meta_BackSpace + control shiftl keycode 14 = BackSpace + shift control shiftl keycode 14 = BackSpace + altgr control shiftl keycode 14 = BackSpace + shift altgr control shiftl keycode 14 = BackSpace + alt shiftl keycode 14 = Meta_Delete + shift alt shiftl keycode 14 = Meta_Delete + altgr alt shiftl keycode 14 = Meta_Delete + shift altgr alt shiftl keycode 14 = Meta_Delete + control alt shiftl keycode 14 = Meta_BackSpace + shift control alt shiftl keycode 14 = Meta_BackSpace + altgr control alt shiftl keycode 14 = Meta_BackSpace + shift altgr control alt shiftl keycode 14 = Meta_BackSpace + control shiftr keycode 14 = BackSpace + shift control shiftr keycode 14 = BackSpace + altgr control shiftr keycode 14 = BackSpace + shift altgr control shiftr keycode 14 = BackSpace + alt shiftr keycode 14 = Meta_Delete + shift alt shiftr keycode 14 = Meta_Delete + altgr alt shiftr keycode 14 = Meta_Delete + shift altgr alt shiftr keycode 14 = Meta_Delete + control alt shiftr keycode 14 = Meta_BackSpace + shift control alt shiftr keycode 14 = Meta_BackSpace + altgr control alt shiftr keycode 14 = Meta_BackSpace + shift altgr control alt shiftr keycode 14 = Meta_BackSpace + control shiftl shiftr keycode 14 = BackSpace + shift control shiftl shiftr keycode 14 = BackSpace + altgr control shiftl shiftr keycode 14 = BackSpace + shift altgr control shiftl shiftr keycode 14 = BackSpace + alt shiftl shiftr keycode 14 = Meta_Delete + shift alt shiftl shiftr keycode 14 = Meta_Delete + altgr alt shiftl shiftr keycode 14 = Meta_Delete + shift altgr alt shiftl shiftr keycode 14 = Meta_Delete + control alt shiftl shiftr keycode 14 = Meta_BackSpace + shift control alt shiftl shiftr keycode 14 = Meta_BackSpace + altgr control alt shiftl shiftr keycode 14 = Meta_BackSpace + shift altgr control alt shiftl shiftr keycode 14 = Meta_BackSpace + control ctrll keycode 14 = BackSpace + shift control ctrll keycode 14 = BackSpace + altgr control ctrll keycode 14 = BackSpace + shift altgr control ctrll keycode 14 = BackSpace + alt ctrll keycode 14 = Meta_Delete + shift alt ctrll keycode 14 = Meta_Delete + altgr alt ctrll keycode 14 = Meta_Delete + shift altgr alt ctrll keycode 14 = Meta_Delete + control alt ctrll keycode 14 = Meta_BackSpace + shift control alt ctrll keycode 14 = Meta_BackSpace + altgr control alt ctrll keycode 14 = Meta_BackSpace + shift altgr control alt ctrll keycode 14 = Meta_BackSpace + control shiftl ctrll keycode 14 = BackSpace + shift control shiftl ctrll keycode 14 = BackSpace + altgr control shiftl ctrll keycode 14 = BackSpace + shift altgr control shiftl ctrll keycode 14 = BackSpace + alt shiftl ctrll keycode 14 = Meta_Delete + shift alt shiftl ctrll keycode 14 = Meta_Delete + altgr alt shiftl ctrll keycode 14 = Meta_Delete + shift altgr alt shiftl ctrll keycode 14 = Meta_Delete + control alt shiftl ctrll keycode 14 = Meta_BackSpace + shift control alt shiftl ctrll keycode 14 = Meta_BackSpace + altgr control alt shiftl ctrll keycode 14 = Meta_BackSpace + shift altgr control alt shiftl ctrll keycode 14 = Meta_BackSpace + control shiftr ctrll keycode 14 = BackSpace + shift control shiftr ctrll keycode 14 = BackSpace + altgr control shiftr ctrll keycode 14 = BackSpace + shift altgr control shiftr ctrll keycode 14 = BackSpace + alt shiftr ctrll keycode 14 = Meta_Delete + shift alt shiftr ctrll keycode 14 = Meta_Delete + altgr alt shiftr ctrll keycode 14 = Meta_Delete + shift altgr alt shiftr ctrll keycode 14 = Meta_Delete + control alt shiftr ctrll keycode 14 = Meta_BackSpace + shift control alt shiftr ctrll keycode 14 = Meta_BackSpace + altgr control alt shiftr ctrll keycode 14 = Meta_BackSpace + shift altgr control alt shiftr ctrll keycode 14 = Meta_BackSpace + control shiftl shiftr ctrll keycode 14 = BackSpace + shift control shiftl shiftr ctrll keycode 14 = BackSpace + altgr control shiftl shiftr ctrll keycode 14 = BackSpace + shift altgr control shiftl shiftr ctrll keycode 14 = BackSpace + alt shiftl shiftr ctrll keycode 14 = Meta_Delete + shift alt shiftl shiftr ctrll keycode 14 = Meta_Delete + altgr alt shiftl shiftr ctrll keycode 14 = Meta_Delete + shift altgr alt shiftl shiftr ctrll keycode 14 = Meta_Delete + control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace + shift control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace + altgr control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace + shift altgr control alt shiftl shiftr ctrll keycode 14 = Meta_BackSpace +keycode 15 = Tab + alt keycode 15 = Meta_Tab + shift alt keycode 15 = Meta_Tab + altgr alt keycode 15 = Meta_Tab + shift altgr alt keycode 15 = Meta_Tab + control alt keycode 15 = Meta_Tab + shift control alt keycode 15 = Meta_Tab + altgr control alt keycode 15 = Meta_Tab + shift altgr control alt keycode 15 = Meta_Tab + alt shiftl keycode 15 = Meta_Tab + shift alt shiftl keycode 15 = Meta_Tab + altgr alt shiftl keycode 15 = Meta_Tab + shift altgr alt shiftl keycode 15 = Meta_Tab + control alt shiftl keycode 15 = Meta_Tab + shift control alt shiftl keycode 15 = Meta_Tab + altgr control alt shiftl keycode 15 = Meta_Tab + shift altgr control alt shiftl keycode 15 = Meta_Tab + alt shiftr keycode 15 = Meta_Tab + shift alt shiftr keycode 15 = Meta_Tab + altgr alt shiftr keycode 15 = Meta_Tab + shift altgr alt shiftr keycode 15 = Meta_Tab + control alt shiftr keycode 15 = Meta_Tab + shift control alt shiftr keycode 15 = Meta_Tab + altgr control alt shiftr keycode 15 = Meta_Tab + shift altgr control alt shiftr keycode 15 = Meta_Tab + alt shiftl shiftr keycode 15 = Meta_Tab + shift alt shiftl shiftr keycode 15 = Meta_Tab + altgr alt shiftl shiftr keycode 15 = Meta_Tab + shift altgr alt shiftl shiftr keycode 15 = Meta_Tab + control alt shiftl shiftr keycode 15 = Meta_Tab + shift control alt shiftl shiftr keycode 15 = Meta_Tab + altgr control alt shiftl shiftr keycode 15 = Meta_Tab + shift altgr control alt shiftl shiftr keycode 15 = Meta_Tab + alt ctrll keycode 15 = Meta_Tab + shift alt ctrll keycode 15 = Meta_Tab + altgr alt ctrll keycode 15 = Meta_Tab + shift altgr alt ctrll keycode 15 = Meta_Tab + control alt ctrll keycode 15 = Meta_Tab + shift control alt ctrll keycode 15 = Meta_Tab + altgr control alt ctrll keycode 15 = Meta_Tab + shift altgr control alt ctrll keycode 15 = Meta_Tab + alt shiftl ctrll keycode 15 = Meta_Tab + shift alt shiftl ctrll keycode 15 = Meta_Tab + altgr alt shiftl ctrll keycode 15 = Meta_Tab + shift altgr alt shiftl ctrll keycode 15 = Meta_Tab + control alt shiftl ctrll keycode 15 = Meta_Tab + shift control alt shiftl ctrll keycode 15 = Meta_Tab + altgr control alt shiftl ctrll keycode 15 = Meta_Tab + shift altgr control alt shiftl ctrll keycode 15 = Meta_Tab + alt shiftr ctrll keycode 15 = Meta_Tab + shift alt shiftr ctrll keycode 15 = Meta_Tab + altgr alt shiftr ctrll keycode 15 = Meta_Tab + shift altgr alt shiftr ctrll keycode 15 = Meta_Tab + control alt shiftr ctrll keycode 15 = Meta_Tab + shift control alt shiftr ctrll keycode 15 = Meta_Tab + altgr control alt shiftr ctrll keycode 15 = Meta_Tab + shift altgr control alt shiftr ctrll keycode 15 = Meta_Tab + alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift alt shiftl shiftr ctrll keycode 15 = Meta_Tab + altgr alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift altgr alt shiftl shiftr ctrll keycode 15 = Meta_Tab + control alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift control alt shiftl shiftr ctrll keycode 15 = Meta_Tab + altgr control alt shiftl shiftr ctrll keycode 15 = Meta_Tab + shift altgr control alt shiftl shiftr ctrll keycode 15 = Meta_Tab +keycode 16 = +q + shift keycode 16 = +Q + altgr keycode 16 = slash + shift altgr keycode 16 = slash + control keycode 16 = Control_q + shift control keycode 16 = Control_q + altgr control keycode 16 = Control_q + shift altgr control keycode 16 = Control_q + alt keycode 16 = Meta_q + shift alt keycode 16 = Meta_Q + altgr alt keycode 16 = Meta_slash + shift altgr alt keycode 16 = Meta_slash + control alt keycode 16 = Meta_Control_q + shift control alt keycode 16 = Meta_Control_q + altgr control alt keycode 16 = Meta_Control_q + shift altgr control alt keycode 16 = Meta_Control_q + shift shiftl keycode 16 = +Q + altgr shiftl keycode 16 = slash + shift altgr shiftl keycode 16 = slash + control shiftl keycode 16 = Control_q + shift control shiftl keycode 16 = Control_q + altgr control shiftl keycode 16 = Control_q + shift altgr control shiftl keycode 16 = Control_q + alt shiftl keycode 16 = Meta_q + shift alt shiftl keycode 16 = Meta_Q + altgr alt shiftl keycode 16 = Meta_slash + shift altgr alt shiftl keycode 16 = Meta_slash + control alt shiftl keycode 16 = Meta_Control_q + shift control alt shiftl keycode 16 = Meta_Control_q + altgr control alt shiftl keycode 16 = Meta_Control_q + shift altgr control alt shiftl keycode 16 = Meta_Control_q + shift shiftr keycode 16 = +Q + altgr shiftr keycode 16 = slash + shift altgr shiftr keycode 16 = slash + control shiftr keycode 16 = Control_q + shift control shiftr keycode 16 = Control_q + altgr control shiftr keycode 16 = Control_q + shift altgr control shiftr keycode 16 = Control_q + alt shiftr keycode 16 = Meta_q + shift alt shiftr keycode 16 = Meta_Q + altgr alt shiftr keycode 16 = Meta_slash + shift altgr alt shiftr keycode 16 = Meta_slash + control alt shiftr keycode 16 = Meta_Control_q + shift control alt shiftr keycode 16 = Meta_Control_q + altgr control alt shiftr keycode 16 = Meta_Control_q + shift altgr control alt shiftr keycode 16 = Meta_Control_q + shift shiftl shiftr keycode 16 = +Q + altgr shiftl shiftr keycode 16 = slash + shift altgr shiftl shiftr keycode 16 = slash + control shiftl shiftr keycode 16 = Control_q + shift control shiftl shiftr keycode 16 = Control_q + altgr control shiftl shiftr keycode 16 = Control_q + shift altgr control shiftl shiftr keycode 16 = Control_q + alt shiftl shiftr keycode 16 = Meta_q + shift alt shiftl shiftr keycode 16 = Meta_Q + altgr alt shiftl shiftr keycode 16 = Meta_slash + shift altgr alt shiftl shiftr keycode 16 = Meta_slash + control alt shiftl shiftr keycode 16 = Meta_Control_q + shift control alt shiftl shiftr keycode 16 = Meta_Control_q + altgr control alt shiftl shiftr keycode 16 = Meta_Control_q + shift altgr control alt shiftl shiftr keycode 16 = Meta_Control_q + ctrll keycode 16 = +Q + altgr ctrll keycode 16 = slash + shift altgr ctrll keycode 16 = slash + control ctrll keycode 16 = Control_q + shift control ctrll keycode 16 = Control_q + altgr control ctrll keycode 16 = Control_q + shift altgr control ctrll keycode 16 = Control_q + alt ctrll keycode 16 = Meta_q + shift alt ctrll keycode 16 = Meta_Q + altgr alt ctrll keycode 16 = Meta_slash + shift altgr alt ctrll keycode 16 = Meta_slash + control alt ctrll keycode 16 = Meta_Control_q + shift control alt ctrll keycode 16 = Meta_Control_q + altgr control alt ctrll keycode 16 = Meta_Control_q + shift altgr control alt ctrll keycode 16 = Meta_Control_q + shiftl ctrll keycode 16 = +Q + altgr shiftl ctrll keycode 16 = slash + shift altgr shiftl ctrll keycode 16 = slash + control shiftl ctrll keycode 16 = Control_q + shift control shiftl ctrll keycode 16 = Control_q + altgr control shiftl ctrll keycode 16 = Control_q + shift altgr control shiftl ctrll keycode 16 = Control_q + alt shiftl ctrll keycode 16 = Meta_q + shift alt shiftl ctrll keycode 16 = Meta_Q + altgr alt shiftl ctrll keycode 16 = Meta_slash + shift altgr alt shiftl ctrll keycode 16 = Meta_slash + control alt shiftl ctrll keycode 16 = Meta_Control_q + shift control alt shiftl ctrll keycode 16 = Meta_Control_q + altgr control alt shiftl ctrll keycode 16 = Meta_Control_q + shift altgr control alt shiftl ctrll keycode 16 = Meta_Control_q + shiftr ctrll keycode 16 = +Q + altgr shiftr ctrll keycode 16 = slash + shift altgr shiftr ctrll keycode 16 = slash + control shiftr ctrll keycode 16 = Control_q + shift control shiftr ctrll keycode 16 = Control_q + altgr control shiftr ctrll keycode 16 = Control_q + shift altgr control shiftr ctrll keycode 16 = Control_q + alt shiftr ctrll keycode 16 = Meta_q + shift alt shiftr ctrll keycode 16 = Meta_Q + altgr alt shiftr ctrll keycode 16 = Meta_slash + shift altgr alt shiftr ctrll keycode 16 = Meta_slash + control alt shiftr ctrll keycode 16 = Meta_Control_q + shift control alt shiftr ctrll keycode 16 = Meta_Control_q + altgr control alt shiftr ctrll keycode 16 = Meta_Control_q + shift altgr control alt shiftr ctrll keycode 16 = Meta_Control_q + shiftl shiftr ctrll keycode 16 = +Q + altgr shiftl shiftr ctrll keycode 16 = slash + shift altgr shiftl shiftr ctrll keycode 16 = slash + control shiftl shiftr ctrll keycode 16 = Control_q + shift control shiftl shiftr ctrll keycode 16 = Control_q + altgr control shiftl shiftr ctrll keycode 16 = Control_q + shift altgr control shiftl shiftr ctrll keycode 16 = Control_q + alt shiftl shiftr ctrll keycode 16 = Meta_q + shift alt shiftl shiftr ctrll keycode 16 = Meta_Q + altgr alt shiftl shiftr ctrll keycode 16 = Meta_slash + shift altgr alt shiftl shiftr ctrll keycode 16 = Meta_slash + control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q + shift control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q + altgr control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q + shift altgr control alt shiftl shiftr ctrll keycode 16 = Meta_Control_q +keycode 17 = +w + shift keycode 17 = +W + altgr keycode 17 = question + shift altgr keycode 17 = question + control keycode 17 = Control_w + shift control keycode 17 = Control_w + altgr control keycode 17 = Delete + shift altgr control keycode 17 = Delete + alt keycode 17 = Meta_w + shift alt keycode 17 = Meta_W + altgr alt keycode 17 = Meta_question + shift altgr alt keycode 17 = Meta_question + control alt keycode 17 = Meta_Control_w + shift control alt keycode 17 = Meta_Control_w + altgr control alt keycode 17 = Meta_Delete + shift altgr control alt keycode 17 = Meta_Delete + shift shiftl keycode 17 = +W + altgr shiftl keycode 17 = question + shift altgr shiftl keycode 17 = question + control shiftl keycode 17 = Control_w + shift control shiftl keycode 17 = Control_w + altgr control shiftl keycode 17 = Delete + shift altgr control shiftl keycode 17 = Delete + alt shiftl keycode 17 = Meta_w + shift alt shiftl keycode 17 = Meta_W + altgr alt shiftl keycode 17 = Meta_question + shift altgr alt shiftl keycode 17 = Meta_question + control alt shiftl keycode 17 = Meta_Control_w + shift control alt shiftl keycode 17 = Meta_Control_w + altgr control alt shiftl keycode 17 = Meta_Delete + shift altgr control alt shiftl keycode 17 = Meta_Delete + shift shiftr keycode 17 = +W + altgr shiftr keycode 17 = question + shift altgr shiftr keycode 17 = question + control shiftr keycode 17 = Control_w + shift control shiftr keycode 17 = Control_w + altgr control shiftr keycode 17 = Delete + shift altgr control shiftr keycode 17 = Delete + alt shiftr keycode 17 = Meta_w + shift alt shiftr keycode 17 = Meta_W + altgr alt shiftr keycode 17 = Meta_question + shift altgr alt shiftr keycode 17 = Meta_question + control alt shiftr keycode 17 = Meta_Control_w + shift control alt shiftr keycode 17 = Meta_Control_w + altgr control alt shiftr keycode 17 = Meta_Delete + shift altgr control alt shiftr keycode 17 = Meta_Delete + shift shiftl shiftr keycode 17 = +W + altgr shiftl shiftr keycode 17 = question + shift altgr shiftl shiftr keycode 17 = question + control shiftl shiftr keycode 17 = Control_w + shift control shiftl shiftr keycode 17 = Control_w + altgr control shiftl shiftr keycode 17 = Delete + shift altgr control shiftl shiftr keycode 17 = Delete + alt shiftl shiftr keycode 17 = Meta_w + shift alt shiftl shiftr keycode 17 = Meta_W + altgr alt shiftl shiftr keycode 17 = Meta_question + shift altgr alt shiftl shiftr keycode 17 = Meta_question + control alt shiftl shiftr keycode 17 = Meta_Control_w + shift control alt shiftl shiftr keycode 17 = Meta_Control_w + altgr control alt shiftl shiftr keycode 17 = Meta_Delete + shift altgr control alt shiftl shiftr keycode 17 = Meta_Delete + ctrll keycode 17 = +W + altgr ctrll keycode 17 = question + shift altgr ctrll keycode 17 = question + control ctrll keycode 17 = Control_w + shift control ctrll keycode 17 = Control_w + altgr control ctrll keycode 17 = Delete + shift altgr control ctrll keycode 17 = Delete + alt ctrll keycode 17 = Meta_w + shift alt ctrll keycode 17 = Meta_W + altgr alt ctrll keycode 17 = Meta_question + shift altgr alt ctrll keycode 17 = Meta_question + control alt ctrll keycode 17 = Meta_Control_w + shift control alt ctrll keycode 17 = Meta_Control_w + altgr control alt ctrll keycode 17 = Meta_Delete + shift altgr control alt ctrll keycode 17 = Meta_Delete + shiftl ctrll keycode 17 = +W + altgr shiftl ctrll keycode 17 = question + shift altgr shiftl ctrll keycode 17 = question + control shiftl ctrll keycode 17 = Control_w + shift control shiftl ctrll keycode 17 = Control_w + altgr control shiftl ctrll keycode 17 = Delete + shift altgr control shiftl ctrll keycode 17 = Delete + alt shiftl ctrll keycode 17 = Meta_w + shift alt shiftl ctrll keycode 17 = Meta_W + altgr alt shiftl ctrll keycode 17 = Meta_question + shift altgr alt shiftl ctrll keycode 17 = Meta_question + control alt shiftl ctrll keycode 17 = Meta_Control_w + shift control alt shiftl ctrll keycode 17 = Meta_Control_w + altgr control alt shiftl ctrll keycode 17 = Meta_Delete + shift altgr control alt shiftl ctrll keycode 17 = Meta_Delete + shiftr ctrll keycode 17 = +W + altgr shiftr ctrll keycode 17 = question + shift altgr shiftr ctrll keycode 17 = question + control shiftr ctrll keycode 17 = Control_w + shift control shiftr ctrll keycode 17 = Control_w + altgr control shiftr ctrll keycode 17 = Delete + shift altgr control shiftr ctrll keycode 17 = Delete + alt shiftr ctrll keycode 17 = Meta_w + shift alt shiftr ctrll keycode 17 = Meta_W + altgr alt shiftr ctrll keycode 17 = Meta_question + shift altgr alt shiftr ctrll keycode 17 = Meta_question + control alt shiftr ctrll keycode 17 = Meta_Control_w + shift control alt shiftr ctrll keycode 17 = Meta_Control_w + altgr control alt shiftr ctrll keycode 17 = Meta_Delete + shift altgr control alt shiftr ctrll keycode 17 = Meta_Delete + shiftl shiftr ctrll keycode 17 = +W + altgr shiftl shiftr ctrll keycode 17 = question + shift altgr shiftl shiftr ctrll keycode 17 = question + control shiftl shiftr ctrll keycode 17 = Control_w + shift control shiftl shiftr ctrll keycode 17 = Control_w + altgr control shiftl shiftr ctrll keycode 17 = Delete + shift altgr control shiftl shiftr ctrll keycode 17 = Delete + alt shiftl shiftr ctrll keycode 17 = Meta_w + shift alt shiftl shiftr ctrll keycode 17 = Meta_W + altgr alt shiftl shiftr ctrll keycode 17 = Meta_question + shift altgr alt shiftl shiftr ctrll keycode 17 = Meta_question + control alt shiftl shiftr ctrll keycode 17 = Meta_Control_w + shift control alt shiftl shiftr ctrll keycode 17 = Meta_Control_w + altgr control alt shiftl shiftr ctrll keycode 17 = Meta_Delete + shift altgr control alt shiftl shiftr ctrll keycode 17 = Meta_Delete +keycode 18 = +e + shift keycode 18 = +E + altgr keycode 18 = euro + shift altgr keycode 18 = euro + control keycode 18 = Control_e + shift control keycode 18 = Control_e + altgr control keycode 18 = Control_e + shift altgr control keycode 18 = Control_e + alt keycode 18 = Meta_e + shift alt keycode 18 = Meta_E + altgr alt keycode 18 = Meta_e + shift altgr alt keycode 18 = Meta_E + control alt keycode 18 = Meta_Control_e + shift control alt keycode 18 = Meta_Control_e + altgr control alt keycode 18 = Meta_Control_e + shift altgr control alt keycode 18 = Meta_Control_e + shift shiftl keycode 18 = +E + altgr shiftl keycode 18 = euro + shift altgr shiftl keycode 18 = euro + control shiftl keycode 18 = Control_e + shift control shiftl keycode 18 = Control_e + altgr control shiftl keycode 18 = Control_e + shift altgr control shiftl keycode 18 = Control_e + alt shiftl keycode 18 = Meta_e + shift alt shiftl keycode 18 = Meta_E + altgr alt shiftl keycode 18 = Meta_e + shift altgr alt shiftl keycode 18 = Meta_E + control alt shiftl keycode 18 = Meta_Control_e + shift control alt shiftl keycode 18 = Meta_Control_e + altgr control alt shiftl keycode 18 = Meta_Control_e + shift altgr control alt shiftl keycode 18 = Meta_Control_e + shift shiftr keycode 18 = +E + altgr shiftr keycode 18 = euro + shift altgr shiftr keycode 18 = euro + control shiftr keycode 18 = Control_e + shift control shiftr keycode 18 = Control_e + altgr control shiftr keycode 18 = Control_e + shift altgr control shiftr keycode 18 = Control_e + alt shiftr keycode 18 = Meta_e + shift alt shiftr keycode 18 = Meta_E + altgr alt shiftr keycode 18 = Meta_e + shift altgr alt shiftr keycode 18 = Meta_E + control alt shiftr keycode 18 = Meta_Control_e + shift control alt shiftr keycode 18 = Meta_Control_e + altgr control alt shiftr keycode 18 = Meta_Control_e + shift altgr control alt shiftr keycode 18 = Meta_Control_e + shift shiftl shiftr keycode 18 = +E + altgr shiftl shiftr keycode 18 = euro + shift altgr shiftl shiftr keycode 18 = euro + control shiftl shiftr keycode 18 = Control_e + shift control shiftl shiftr keycode 18 = Control_e + altgr control shiftl shiftr keycode 18 = Control_e + shift altgr control shiftl shiftr keycode 18 = Control_e + alt shiftl shiftr keycode 18 = Meta_e + shift alt shiftl shiftr keycode 18 = Meta_E + altgr alt shiftl shiftr keycode 18 = Meta_e + shift altgr alt shiftl shiftr keycode 18 = Meta_E + control alt shiftl shiftr keycode 18 = Meta_Control_e + shift control alt shiftl shiftr keycode 18 = Meta_Control_e + altgr control alt shiftl shiftr keycode 18 = Meta_Control_e + shift altgr control alt shiftl shiftr keycode 18 = Meta_Control_e + ctrll keycode 18 = +E + altgr ctrll keycode 18 = euro + shift altgr ctrll keycode 18 = euro + control ctrll keycode 18 = Control_e + shift control ctrll keycode 18 = Control_e + altgr control ctrll keycode 18 = Control_e + shift altgr control ctrll keycode 18 = Control_e + alt ctrll keycode 18 = Meta_e + shift alt ctrll keycode 18 = Meta_E + altgr alt ctrll keycode 18 = Meta_e + shift altgr alt ctrll keycode 18 = Meta_E + control alt ctrll keycode 18 = Meta_Control_e + shift control alt ctrll keycode 18 = Meta_Control_e + altgr control alt ctrll keycode 18 = Meta_Control_e + shift altgr control alt ctrll keycode 18 = Meta_Control_e + shiftl ctrll keycode 18 = +E + altgr shiftl ctrll keycode 18 = euro + shift altgr shiftl ctrll keycode 18 = euro + control shiftl ctrll keycode 18 = Control_e + shift control shiftl ctrll keycode 18 = Control_e + altgr control shiftl ctrll keycode 18 = Control_e + shift altgr control shiftl ctrll keycode 18 = Control_e + alt shiftl ctrll keycode 18 = Meta_e + shift alt shiftl ctrll keycode 18 = Meta_E + altgr alt shiftl ctrll keycode 18 = Meta_e + shift altgr alt shiftl ctrll keycode 18 = Meta_E + control alt shiftl ctrll keycode 18 = Meta_Control_e + shift control alt shiftl ctrll keycode 18 = Meta_Control_e + altgr control alt shiftl ctrll keycode 18 = Meta_Control_e + shift altgr control alt shiftl ctrll keycode 18 = Meta_Control_e + shiftr ctrll keycode 18 = +E + altgr shiftr ctrll keycode 18 = euro + shift altgr shiftr ctrll keycode 18 = euro + control shiftr ctrll keycode 18 = Control_e + shift control shiftr ctrll keycode 18 = Control_e + altgr control shiftr ctrll keycode 18 = Control_e + shift altgr control shiftr ctrll keycode 18 = Control_e + alt shiftr ctrll keycode 18 = Meta_e + shift alt shiftr ctrll keycode 18 = Meta_E + altgr alt shiftr ctrll keycode 18 = Meta_e + shift altgr alt shiftr ctrll keycode 18 = Meta_E + control alt shiftr ctrll keycode 18 = Meta_Control_e + shift control alt shiftr ctrll keycode 18 = Meta_Control_e + altgr control alt shiftr ctrll keycode 18 = Meta_Control_e + shift altgr control alt shiftr ctrll keycode 18 = Meta_Control_e + shiftl shiftr ctrll keycode 18 = +E + altgr shiftl shiftr ctrll keycode 18 = euro + shift altgr shiftl shiftr ctrll keycode 18 = euro + control shiftl shiftr ctrll keycode 18 = Control_e + shift control shiftl shiftr ctrll keycode 18 = Control_e + altgr control shiftl shiftr ctrll keycode 18 = Control_e + shift altgr control shiftl shiftr ctrll keycode 18 = Control_e + alt shiftl shiftr ctrll keycode 18 = Meta_e + shift alt shiftl shiftr ctrll keycode 18 = Meta_E + altgr alt shiftl shiftr ctrll keycode 18 = Meta_e + shift altgr alt shiftl shiftr ctrll keycode 18 = Meta_E + control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e + shift control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e + altgr control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e + shift altgr control alt shiftl shiftr ctrll keycode 18 = Meta_Control_e +keycode 19 = +r + shift keycode 19 = +R + altgr keycode 19 = registered + shift altgr keycode 19 = registered + control keycode 19 = Control_r + shift control keycode 19 = Control_r + altgr control keycode 19 = Control_r + shift altgr control keycode 19 = Control_r + alt keycode 19 = Meta_r + shift alt keycode 19 = Meta_R + altgr alt keycode 19 = Meta_r + shift altgr alt keycode 19 = Meta_R + control alt keycode 19 = Meta_Control_r + shift control alt keycode 19 = Meta_Control_r + altgr control alt keycode 19 = Meta_Control_r + shift altgr control alt keycode 19 = Meta_Control_r + shift shiftl keycode 19 = +R + altgr shiftl keycode 19 = registered + shift altgr shiftl keycode 19 = registered + control shiftl keycode 19 = Control_r + shift control shiftl keycode 19 = Control_r + altgr control shiftl keycode 19 = Control_r + shift altgr control shiftl keycode 19 = Control_r + alt shiftl keycode 19 = Meta_r + shift alt shiftl keycode 19 = Meta_R + altgr alt shiftl keycode 19 = Meta_r + shift altgr alt shiftl keycode 19 = Meta_R + control alt shiftl keycode 19 = Meta_Control_r + shift control alt shiftl keycode 19 = Meta_Control_r + altgr control alt shiftl keycode 19 = Meta_Control_r + shift altgr control alt shiftl keycode 19 = Meta_Control_r + shift shiftr keycode 19 = +R + altgr shiftr keycode 19 = registered + shift altgr shiftr keycode 19 = registered + control shiftr keycode 19 = Control_r + shift control shiftr keycode 19 = Control_r + altgr control shiftr keycode 19 = Control_r + shift altgr control shiftr keycode 19 = Control_r + alt shiftr keycode 19 = Meta_r + shift alt shiftr keycode 19 = Meta_R + altgr alt shiftr keycode 19 = Meta_r + shift altgr alt shiftr keycode 19 = Meta_R + control alt shiftr keycode 19 = Meta_Control_r + shift control alt shiftr keycode 19 = Meta_Control_r + altgr control alt shiftr keycode 19 = Meta_Control_r + shift altgr control alt shiftr keycode 19 = Meta_Control_r + shift shiftl shiftr keycode 19 = +R + altgr shiftl shiftr keycode 19 = registered + shift altgr shiftl shiftr keycode 19 = registered + control shiftl shiftr keycode 19 = Control_r + shift control shiftl shiftr keycode 19 = Control_r + altgr control shiftl shiftr keycode 19 = Control_r + shift altgr control shiftl shiftr keycode 19 = Control_r + alt shiftl shiftr keycode 19 = Meta_r + shift alt shiftl shiftr keycode 19 = Meta_R + altgr alt shiftl shiftr keycode 19 = Meta_r + shift altgr alt shiftl shiftr keycode 19 = Meta_R + control alt shiftl shiftr keycode 19 = Meta_Control_r + shift control alt shiftl shiftr keycode 19 = Meta_Control_r + altgr control alt shiftl shiftr keycode 19 = Meta_Control_r + shift altgr control alt shiftl shiftr keycode 19 = Meta_Control_r + ctrll keycode 19 = +R + altgr ctrll keycode 19 = registered + shift altgr ctrll keycode 19 = registered + control ctrll keycode 19 = Control_r + shift control ctrll keycode 19 = Control_r + altgr control ctrll keycode 19 = Control_r + shift altgr control ctrll keycode 19 = Control_r + alt ctrll keycode 19 = Meta_r + shift alt ctrll keycode 19 = Meta_R + altgr alt ctrll keycode 19 = Meta_r + shift altgr alt ctrll keycode 19 = Meta_R + control alt ctrll keycode 19 = Meta_Control_r + shift control alt ctrll keycode 19 = Meta_Control_r + altgr control alt ctrll keycode 19 = Meta_Control_r + shift altgr control alt ctrll keycode 19 = Meta_Control_r + shiftl ctrll keycode 19 = +R + altgr shiftl ctrll keycode 19 = registered + shift altgr shiftl ctrll keycode 19 = registered + control shiftl ctrll keycode 19 = Control_r + shift control shiftl ctrll keycode 19 = Control_r + altgr control shiftl ctrll keycode 19 = Control_r + shift altgr control shiftl ctrll keycode 19 = Control_r + alt shiftl ctrll keycode 19 = Meta_r + shift alt shiftl ctrll keycode 19 = Meta_R + altgr alt shiftl ctrll keycode 19 = Meta_r + shift altgr alt shiftl ctrll keycode 19 = Meta_R + control alt shiftl ctrll keycode 19 = Meta_Control_r + shift control alt shiftl ctrll keycode 19 = Meta_Control_r + altgr control alt shiftl ctrll keycode 19 = Meta_Control_r + shift altgr control alt shiftl ctrll keycode 19 = Meta_Control_r + shiftr ctrll keycode 19 = +R + altgr shiftr ctrll keycode 19 = registered + shift altgr shiftr ctrll keycode 19 = registered + control shiftr ctrll keycode 19 = Control_r + shift control shiftr ctrll keycode 19 = Control_r + altgr control shiftr ctrll keycode 19 = Control_r + shift altgr control shiftr ctrll keycode 19 = Control_r + alt shiftr ctrll keycode 19 = Meta_r + shift alt shiftr ctrll keycode 19 = Meta_R + altgr alt shiftr ctrll keycode 19 = Meta_r + shift altgr alt shiftr ctrll keycode 19 = Meta_R + control alt shiftr ctrll keycode 19 = Meta_Control_r + shift control alt shiftr ctrll keycode 19 = Meta_Control_r + altgr control alt shiftr ctrll keycode 19 = Meta_Control_r + shift altgr control alt shiftr ctrll keycode 19 = Meta_Control_r + shiftl shiftr ctrll keycode 19 = +R + altgr shiftl shiftr ctrll keycode 19 = registered + shift altgr shiftl shiftr ctrll keycode 19 = registered + control shiftl shiftr ctrll keycode 19 = Control_r + shift control shiftl shiftr ctrll keycode 19 = Control_r + altgr control shiftl shiftr ctrll keycode 19 = Control_r + shift altgr control shiftl shiftr ctrll keycode 19 = Control_r + alt shiftl shiftr ctrll keycode 19 = Meta_r + shift alt shiftl shiftr ctrll keycode 19 = Meta_R + altgr alt shiftl shiftr ctrll keycode 19 = Meta_r + shift altgr alt shiftl shiftr ctrll keycode 19 = Meta_R + control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r + shift control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r + altgr control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r + shift altgr control alt shiftl shiftr ctrll keycode 19 = Meta_Control_r +keycode 20 = +t + shift keycode 20 = +T + altgr keycode 20 = tslash + shift altgr keycode 20 = Tslash + control keycode 20 = Control_t + shift control keycode 20 = Control_t + altgr control keycode 20 = Control_t + shift altgr control keycode 20 = Control_t + alt keycode 20 = Meta_t + shift alt keycode 20 = Meta_T + altgr alt keycode 20 = Meta_t + shift altgr alt keycode 20 = Meta_T + control alt keycode 20 = Meta_Control_t + shift control alt keycode 20 = Meta_Control_t + altgr control alt keycode 20 = Meta_Control_t + shift altgr control alt keycode 20 = Meta_Control_t + shift shiftl keycode 20 = +T + altgr shiftl keycode 20 = tslash + shift altgr shiftl keycode 20 = Tslash + control shiftl keycode 20 = Control_t + shift control shiftl keycode 20 = Control_t + altgr control shiftl keycode 20 = Control_t + shift altgr control shiftl keycode 20 = Control_t + alt shiftl keycode 20 = Meta_t + shift alt shiftl keycode 20 = Meta_T + altgr alt shiftl keycode 20 = Meta_t + shift altgr alt shiftl keycode 20 = Meta_T + control alt shiftl keycode 20 = Meta_Control_t + shift control alt shiftl keycode 20 = Meta_Control_t + altgr control alt shiftl keycode 20 = Meta_Control_t + shift altgr control alt shiftl keycode 20 = Meta_Control_t + shift shiftr keycode 20 = +T + altgr shiftr keycode 20 = tslash + shift altgr shiftr keycode 20 = Tslash + control shiftr keycode 20 = Control_t + shift control shiftr keycode 20 = Control_t + altgr control shiftr keycode 20 = Control_t + shift altgr control shiftr keycode 20 = Control_t + alt shiftr keycode 20 = Meta_t + shift alt shiftr keycode 20 = Meta_T + altgr alt shiftr keycode 20 = Meta_t + shift altgr alt shiftr keycode 20 = Meta_T + control alt shiftr keycode 20 = Meta_Control_t + shift control alt shiftr keycode 20 = Meta_Control_t + altgr control alt shiftr keycode 20 = Meta_Control_t + shift altgr control alt shiftr keycode 20 = Meta_Control_t + shift shiftl shiftr keycode 20 = +T + altgr shiftl shiftr keycode 20 = tslash + shift altgr shiftl shiftr keycode 20 = Tslash + control shiftl shiftr keycode 20 = Control_t + shift control shiftl shiftr keycode 20 = Control_t + altgr control shiftl shiftr keycode 20 = Control_t + shift altgr control shiftl shiftr keycode 20 = Control_t + alt shiftl shiftr keycode 20 = Meta_t + shift alt shiftl shiftr keycode 20 = Meta_T + altgr alt shiftl shiftr keycode 20 = Meta_t + shift altgr alt shiftl shiftr keycode 20 = Meta_T + control alt shiftl shiftr keycode 20 = Meta_Control_t + shift control alt shiftl shiftr keycode 20 = Meta_Control_t + altgr control alt shiftl shiftr keycode 20 = Meta_Control_t + shift altgr control alt shiftl shiftr keycode 20 = Meta_Control_t + ctrll keycode 20 = +T + altgr ctrll keycode 20 = Tslash + shift altgr ctrll keycode 20 = tslash + control ctrll keycode 20 = Control_t + shift control ctrll keycode 20 = Control_t + altgr control ctrll keycode 20 = Control_t + shift altgr control ctrll keycode 20 = Control_t + alt ctrll keycode 20 = Meta_t + shift alt ctrll keycode 20 = Meta_T + altgr alt ctrll keycode 20 = Meta_t + shift altgr alt ctrll keycode 20 = Meta_T + control alt ctrll keycode 20 = Meta_Control_t + shift control alt ctrll keycode 20 = Meta_Control_t + altgr control alt ctrll keycode 20 = Meta_Control_t + shift altgr control alt ctrll keycode 20 = Meta_Control_t + shiftl ctrll keycode 20 = +T + altgr shiftl ctrll keycode 20 = Tslash + shift altgr shiftl ctrll keycode 20 = tslash + control shiftl ctrll keycode 20 = Control_t + shift control shiftl ctrll keycode 20 = Control_t + altgr control shiftl ctrll keycode 20 = Control_t + shift altgr control shiftl ctrll keycode 20 = Control_t + alt shiftl ctrll keycode 20 = Meta_t + shift alt shiftl ctrll keycode 20 = Meta_T + altgr alt shiftl ctrll keycode 20 = Meta_t + shift altgr alt shiftl ctrll keycode 20 = Meta_T + control alt shiftl ctrll keycode 20 = Meta_Control_t + shift control alt shiftl ctrll keycode 20 = Meta_Control_t + altgr control alt shiftl ctrll keycode 20 = Meta_Control_t + shift altgr control alt shiftl ctrll keycode 20 = Meta_Control_t + shiftr ctrll keycode 20 = +T + altgr shiftr ctrll keycode 20 = Tslash + shift altgr shiftr ctrll keycode 20 = tslash + control shiftr ctrll keycode 20 = Control_t + shift control shiftr ctrll keycode 20 = Control_t + altgr control shiftr ctrll keycode 20 = Control_t + shift altgr control shiftr ctrll keycode 20 = Control_t + alt shiftr ctrll keycode 20 = Meta_t + shift alt shiftr ctrll keycode 20 = Meta_T + altgr alt shiftr ctrll keycode 20 = Meta_t + shift altgr alt shiftr ctrll keycode 20 = Meta_T + control alt shiftr ctrll keycode 20 = Meta_Control_t + shift control alt shiftr ctrll keycode 20 = Meta_Control_t + altgr control alt shiftr ctrll keycode 20 = Meta_Control_t + shift altgr control alt shiftr ctrll keycode 20 = Meta_Control_t + shiftl shiftr ctrll keycode 20 = +T + altgr shiftl shiftr ctrll keycode 20 = Tslash + shift altgr shiftl shiftr ctrll keycode 20 = tslash + control shiftl shiftr ctrll keycode 20 = Control_t + shift control shiftl shiftr ctrll keycode 20 = Control_t + altgr control shiftl shiftr ctrll keycode 20 = Control_t + shift altgr control shiftl shiftr ctrll keycode 20 = Control_t + alt shiftl shiftr ctrll keycode 20 = Meta_t + shift alt shiftl shiftr ctrll keycode 20 = Meta_T + altgr alt shiftl shiftr ctrll keycode 20 = Meta_t + shift altgr alt shiftl shiftr ctrll keycode 20 = Meta_T + control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t + shift control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t + altgr control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t + shift altgr control alt shiftl shiftr ctrll keycode 20 = Meta_Control_t +keycode 21 = +y + shift keycode 21 = +Y + altgr keycode 21 = U+2190 + shift altgr keycode 21 = yen + control keycode 21 = Control_y + shift control keycode 21 = Control_y + altgr control keycode 21 = Control_y + shift altgr control keycode 21 = Control_y + alt keycode 21 = Meta_y + shift alt keycode 21 = Meta_Y + altgr alt keycode 21 = Meta_y + shift altgr alt keycode 21 = Meta_Y + control alt keycode 21 = Meta_Control_y + shift control alt keycode 21 = Meta_Control_y + altgr control alt keycode 21 = Meta_Control_y + shift altgr control alt keycode 21 = Meta_Control_y + shift shiftl keycode 21 = +Y + altgr shiftl keycode 21 = U+2190 + shift altgr shiftl keycode 21 = yen + control shiftl keycode 21 = Control_y + shift control shiftl keycode 21 = Control_y + altgr control shiftl keycode 21 = Control_y + shift altgr control shiftl keycode 21 = Control_y + alt shiftl keycode 21 = Meta_y + shift alt shiftl keycode 21 = Meta_Y + altgr alt shiftl keycode 21 = Meta_y + shift altgr alt shiftl keycode 21 = Meta_Y + control alt shiftl keycode 21 = Meta_Control_y + shift control alt shiftl keycode 21 = Meta_Control_y + altgr control alt shiftl keycode 21 = Meta_Control_y + shift altgr control alt shiftl keycode 21 = Meta_Control_y + shift shiftr keycode 21 = +Y + altgr shiftr keycode 21 = U+2190 + shift altgr shiftr keycode 21 = yen + control shiftr keycode 21 = Control_y + shift control shiftr keycode 21 = Control_y + altgr control shiftr keycode 21 = Control_y + shift altgr control shiftr keycode 21 = Control_y + alt shiftr keycode 21 = Meta_y + shift alt shiftr keycode 21 = Meta_Y + altgr alt shiftr keycode 21 = Meta_y + shift altgr alt shiftr keycode 21 = Meta_Y + control alt shiftr keycode 21 = Meta_Control_y + shift control alt shiftr keycode 21 = Meta_Control_y + altgr control alt shiftr keycode 21 = Meta_Control_y + shift altgr control alt shiftr keycode 21 = Meta_Control_y + shift shiftl shiftr keycode 21 = +Y + altgr shiftl shiftr keycode 21 = U+2190 + shift altgr shiftl shiftr keycode 21 = yen + control shiftl shiftr keycode 21 = Control_y + shift control shiftl shiftr keycode 21 = Control_y + altgr control shiftl shiftr keycode 21 = Control_y + shift altgr control shiftl shiftr keycode 21 = Control_y + alt shiftl shiftr keycode 21 = Meta_y + shift alt shiftl shiftr keycode 21 = Meta_Y + altgr alt shiftl shiftr keycode 21 = Meta_y + shift altgr alt shiftl shiftr keycode 21 = Meta_Y + control alt shiftl shiftr keycode 21 = Meta_Control_y + shift control alt shiftl shiftr keycode 21 = Meta_Control_y + altgr control alt shiftl shiftr keycode 21 = Meta_Control_y + shift altgr control alt shiftl shiftr keycode 21 = Meta_Control_y + ctrll keycode 21 = +Y + altgr ctrll keycode 21 = U+2190 + shift altgr ctrll keycode 21 = yen + control ctrll keycode 21 = Control_y + shift control ctrll keycode 21 = Control_y + altgr control ctrll keycode 21 = Control_y + shift altgr control ctrll keycode 21 = Control_y + alt ctrll keycode 21 = Meta_y + shift alt ctrll keycode 21 = Meta_Y + altgr alt ctrll keycode 21 = Meta_y + shift altgr alt ctrll keycode 21 = Meta_Y + control alt ctrll keycode 21 = Meta_Control_y + shift control alt ctrll keycode 21 = Meta_Control_y + altgr control alt ctrll keycode 21 = Meta_Control_y + shift altgr control alt ctrll keycode 21 = Meta_Control_y + shiftl ctrll keycode 21 = +Y + altgr shiftl ctrll keycode 21 = U+2190 + shift altgr shiftl ctrll keycode 21 = yen + control shiftl ctrll keycode 21 = Control_y + shift control shiftl ctrll keycode 21 = Control_y + altgr control shiftl ctrll keycode 21 = Control_y + shift altgr control shiftl ctrll keycode 21 = Control_y + alt shiftl ctrll keycode 21 = Meta_y + shift alt shiftl ctrll keycode 21 = Meta_Y + altgr alt shiftl ctrll keycode 21 = Meta_y + shift altgr alt shiftl ctrll keycode 21 = Meta_Y + control alt shiftl ctrll keycode 21 = Meta_Control_y + shift control alt shiftl ctrll keycode 21 = Meta_Control_y + altgr control alt shiftl ctrll keycode 21 = Meta_Control_y + shift altgr control alt shiftl ctrll keycode 21 = Meta_Control_y + shiftr ctrll keycode 21 = +Y + altgr shiftr ctrll keycode 21 = U+2190 + shift altgr shiftr ctrll keycode 21 = yen + control shiftr ctrll keycode 21 = Control_y + shift control shiftr ctrll keycode 21 = Control_y + altgr control shiftr ctrll keycode 21 = Control_y + shift altgr control shiftr ctrll keycode 21 = Control_y + alt shiftr ctrll keycode 21 = Meta_y + shift alt shiftr ctrll keycode 21 = Meta_Y + altgr alt shiftr ctrll keycode 21 = Meta_y + shift altgr alt shiftr ctrll keycode 21 = Meta_Y + control alt shiftr ctrll keycode 21 = Meta_Control_y + shift control alt shiftr ctrll keycode 21 = Meta_Control_y + altgr control alt shiftr ctrll keycode 21 = Meta_Control_y + shift altgr control alt shiftr ctrll keycode 21 = Meta_Control_y + shiftl shiftr ctrll keycode 21 = +Y + altgr shiftl shiftr ctrll keycode 21 = U+2190 + shift altgr shiftl shiftr ctrll keycode 21 = yen + control shiftl shiftr ctrll keycode 21 = Control_y + shift control shiftl shiftr ctrll keycode 21 = Control_y + altgr control shiftl shiftr ctrll keycode 21 = Control_y + shift altgr control shiftl shiftr ctrll keycode 21 = Control_y + alt shiftl shiftr ctrll keycode 21 = Meta_y + shift alt shiftl shiftr ctrll keycode 21 = Meta_Y + altgr alt shiftl shiftr ctrll keycode 21 = Meta_y + shift altgr alt shiftl shiftr ctrll keycode 21 = Meta_Y + control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y + shift control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y + altgr control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y + shift altgr control alt shiftl shiftr ctrll keycode 21 = Meta_Control_y +keycode 22 = +u + shift keycode 22 = +U + altgr keycode 22 = U+2193 + shift altgr keycode 22 = U+2191 + control keycode 22 = Control_u + shift control keycode 22 = Control_u + altgr control keycode 22 = Control_u + shift altgr control keycode 22 = Control_u + alt keycode 22 = Meta_u + shift alt keycode 22 = Meta_U + altgr alt keycode 22 = Meta_u + shift altgr alt keycode 22 = Meta_U + control alt keycode 22 = Meta_Control_u + shift control alt keycode 22 = Meta_Control_u + altgr control alt keycode 22 = Meta_Control_u + shift altgr control alt keycode 22 = Meta_Control_u + shift shiftl keycode 22 = +U + altgr shiftl keycode 22 = U+2193 + shift altgr shiftl keycode 22 = U+2191 + control shiftl keycode 22 = Control_u + shift control shiftl keycode 22 = Control_u + altgr control shiftl keycode 22 = Control_u + shift altgr control shiftl keycode 22 = Control_u + alt shiftl keycode 22 = Meta_u + shift alt shiftl keycode 22 = Meta_U + altgr alt shiftl keycode 22 = Meta_u + shift altgr alt shiftl keycode 22 = Meta_U + control alt shiftl keycode 22 = Meta_Control_u + shift control alt shiftl keycode 22 = Meta_Control_u + altgr control alt shiftl keycode 22 = Meta_Control_u + shift altgr control alt shiftl keycode 22 = Meta_Control_u + shift shiftr keycode 22 = +U + altgr shiftr keycode 22 = U+2193 + shift altgr shiftr keycode 22 = U+2191 + control shiftr keycode 22 = Control_u + shift control shiftr keycode 22 = Control_u + altgr control shiftr keycode 22 = Control_u + shift altgr control shiftr keycode 22 = Control_u + alt shiftr keycode 22 = Meta_u + shift alt shiftr keycode 22 = Meta_U + altgr alt shiftr keycode 22 = Meta_u + shift altgr alt shiftr keycode 22 = Meta_U + control alt shiftr keycode 22 = Meta_Control_u + shift control alt shiftr keycode 22 = Meta_Control_u + altgr control alt shiftr keycode 22 = Meta_Control_u + shift altgr control alt shiftr keycode 22 = Meta_Control_u + shift shiftl shiftr keycode 22 = +U + altgr shiftl shiftr keycode 22 = U+2193 + shift altgr shiftl shiftr keycode 22 = U+2191 + control shiftl shiftr keycode 22 = Control_u + shift control shiftl shiftr keycode 22 = Control_u + altgr control shiftl shiftr keycode 22 = Control_u + shift altgr control shiftl shiftr keycode 22 = Control_u + alt shiftl shiftr keycode 22 = Meta_u + shift alt shiftl shiftr keycode 22 = Meta_U + altgr alt shiftl shiftr keycode 22 = Meta_u + shift altgr alt shiftl shiftr keycode 22 = Meta_U + control alt shiftl shiftr keycode 22 = Meta_Control_u + shift control alt shiftl shiftr keycode 22 = Meta_Control_u + altgr control alt shiftl shiftr keycode 22 = Meta_Control_u + shift altgr control alt shiftl shiftr keycode 22 = Meta_Control_u + ctrll keycode 22 = +U + altgr ctrll keycode 22 = U+2193 + shift altgr ctrll keycode 22 = U+2191 + control ctrll keycode 22 = Control_u + shift control ctrll keycode 22 = Control_u + altgr control ctrll keycode 22 = Control_u + shift altgr control ctrll keycode 22 = Control_u + alt ctrll keycode 22 = Meta_u + shift alt ctrll keycode 22 = Meta_U + altgr alt ctrll keycode 22 = Meta_u + shift altgr alt ctrll keycode 22 = Meta_U + control alt ctrll keycode 22 = Meta_Control_u + shift control alt ctrll keycode 22 = Meta_Control_u + altgr control alt ctrll keycode 22 = Meta_Control_u + shift altgr control alt ctrll keycode 22 = Meta_Control_u + shiftl ctrll keycode 22 = +U + altgr shiftl ctrll keycode 22 = U+2193 + shift altgr shiftl ctrll keycode 22 = U+2191 + control shiftl ctrll keycode 22 = Control_u + shift control shiftl ctrll keycode 22 = Control_u + altgr control shiftl ctrll keycode 22 = Control_u + shift altgr control shiftl ctrll keycode 22 = Control_u + alt shiftl ctrll keycode 22 = Meta_u + shift alt shiftl ctrll keycode 22 = Meta_U + altgr alt shiftl ctrll keycode 22 = Meta_u + shift altgr alt shiftl ctrll keycode 22 = Meta_U + control alt shiftl ctrll keycode 22 = Meta_Control_u + shift control alt shiftl ctrll keycode 22 = Meta_Control_u + altgr control alt shiftl ctrll keycode 22 = Meta_Control_u + shift altgr control alt shiftl ctrll keycode 22 = Meta_Control_u + shiftr ctrll keycode 22 = +U + altgr shiftr ctrll keycode 22 = U+2193 + shift altgr shiftr ctrll keycode 22 = U+2191 + control shiftr ctrll keycode 22 = Control_u + shift control shiftr ctrll keycode 22 = Control_u + altgr control shiftr ctrll keycode 22 = Control_u + shift altgr control shiftr ctrll keycode 22 = Control_u + alt shiftr ctrll keycode 22 = Meta_u + shift alt shiftr ctrll keycode 22 = Meta_U + altgr alt shiftr ctrll keycode 22 = Meta_u + shift altgr alt shiftr ctrll keycode 22 = Meta_U + control alt shiftr ctrll keycode 22 = Meta_Control_u + shift control alt shiftr ctrll keycode 22 = Meta_Control_u + altgr control alt shiftr ctrll keycode 22 = Meta_Control_u + shift altgr control alt shiftr ctrll keycode 22 = Meta_Control_u + shiftl shiftr ctrll keycode 22 = +U + altgr shiftl shiftr ctrll keycode 22 = U+2193 + shift altgr shiftl shiftr ctrll keycode 22 = U+2191 + control shiftl shiftr ctrll keycode 22 = Control_u + shift control shiftl shiftr ctrll keycode 22 = Control_u + altgr control shiftl shiftr ctrll keycode 22 = Control_u + shift altgr control shiftl shiftr ctrll keycode 22 = Control_u + alt shiftl shiftr ctrll keycode 22 = Meta_u + shift alt shiftl shiftr ctrll keycode 22 = Meta_U + altgr alt shiftl shiftr ctrll keycode 22 = Meta_u + shift altgr alt shiftl shiftr ctrll keycode 22 = Meta_U + control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u + shift control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u + altgr control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u + shift altgr control alt shiftl shiftr ctrll keycode 22 = Meta_Control_u +keycode 23 = +i + shift keycode 23 = +I + altgr keycode 23 = U+2192 + shift altgr keycode 23 = idotless + control keycode 23 = Tab + shift control keycode 23 = Tab + altgr control keycode 23 = Tab + shift altgr control keycode 23 = Tab + alt keycode 23 = Meta_i + shift alt keycode 23 = Meta_I + altgr alt keycode 23 = Meta_i + shift altgr alt keycode 23 = Meta_I + control alt keycode 23 = Meta_Tab + shift control alt keycode 23 = Meta_Tab + altgr control alt keycode 23 = Meta_Tab + shift altgr control alt keycode 23 = Meta_Tab + shift shiftl keycode 23 = +I + altgr shiftl keycode 23 = U+2192 + shift altgr shiftl keycode 23 = idotless + control shiftl keycode 23 = Tab + shift control shiftl keycode 23 = Tab + altgr control shiftl keycode 23 = Tab + shift altgr control shiftl keycode 23 = Tab + alt shiftl keycode 23 = Meta_i + shift alt shiftl keycode 23 = Meta_I + altgr alt shiftl keycode 23 = Meta_i + shift altgr alt shiftl keycode 23 = Meta_I + control alt shiftl keycode 23 = Meta_Tab + shift control alt shiftl keycode 23 = Meta_Tab + altgr control alt shiftl keycode 23 = Meta_Tab + shift altgr control alt shiftl keycode 23 = Meta_Tab + shift shiftr keycode 23 = +I + altgr shiftr keycode 23 = U+2192 + shift altgr shiftr keycode 23 = idotless + control shiftr keycode 23 = Tab + shift control shiftr keycode 23 = Tab + altgr control shiftr keycode 23 = Tab + shift altgr control shiftr keycode 23 = Tab + alt shiftr keycode 23 = Meta_i + shift alt shiftr keycode 23 = Meta_I + altgr alt shiftr keycode 23 = Meta_i + shift altgr alt shiftr keycode 23 = Meta_I + control alt shiftr keycode 23 = Meta_Tab + shift control alt shiftr keycode 23 = Meta_Tab + altgr control alt shiftr keycode 23 = Meta_Tab + shift altgr control alt shiftr keycode 23 = Meta_Tab + shift shiftl shiftr keycode 23 = +I + altgr shiftl shiftr keycode 23 = U+2192 + shift altgr shiftl shiftr keycode 23 = idotless + control shiftl shiftr keycode 23 = Tab + shift control shiftl shiftr keycode 23 = Tab + altgr control shiftl shiftr keycode 23 = Tab + shift altgr control shiftl shiftr keycode 23 = Tab + alt shiftl shiftr keycode 23 = Meta_i + shift alt shiftl shiftr keycode 23 = Meta_I + altgr alt shiftl shiftr keycode 23 = Meta_i + shift altgr alt shiftl shiftr keycode 23 = Meta_I + control alt shiftl shiftr keycode 23 = Meta_Tab + shift control alt shiftl shiftr keycode 23 = Meta_Tab + altgr control alt shiftl shiftr keycode 23 = Meta_Tab + shift altgr control alt shiftl shiftr keycode 23 = Meta_Tab + ctrll keycode 23 = +I + altgr ctrll keycode 23 = U+2192 + shift altgr ctrll keycode 23 = +I + control ctrll keycode 23 = Tab + shift control ctrll keycode 23 = Tab + altgr control ctrll keycode 23 = Tab + shift altgr control ctrll keycode 23 = Tab + alt ctrll keycode 23 = Meta_i + shift alt ctrll keycode 23 = Meta_I + altgr alt ctrll keycode 23 = Meta_i + shift altgr alt ctrll keycode 23 = Meta_I + control alt ctrll keycode 23 = Meta_Tab + shift control alt ctrll keycode 23 = Meta_Tab + altgr control alt ctrll keycode 23 = Meta_Tab + shift altgr control alt ctrll keycode 23 = Meta_Tab + shiftl ctrll keycode 23 = +I + altgr shiftl ctrll keycode 23 = U+2192 + shift altgr shiftl ctrll keycode 23 = +I + control shiftl ctrll keycode 23 = Tab + shift control shiftl ctrll keycode 23 = Tab + altgr control shiftl ctrll keycode 23 = Tab + shift altgr control shiftl ctrll keycode 23 = Tab + alt shiftl ctrll keycode 23 = Meta_i + shift alt shiftl ctrll keycode 23 = Meta_I + altgr alt shiftl ctrll keycode 23 = Meta_i + shift altgr alt shiftl ctrll keycode 23 = Meta_I + control alt shiftl ctrll keycode 23 = Meta_Tab + shift control alt shiftl ctrll keycode 23 = Meta_Tab + altgr control alt shiftl ctrll keycode 23 = Meta_Tab + shift altgr control alt shiftl ctrll keycode 23 = Meta_Tab + shiftr ctrll keycode 23 = +I + altgr shiftr ctrll keycode 23 = U+2192 + shift altgr shiftr ctrll keycode 23 = +I + control shiftr ctrll keycode 23 = Tab + shift control shiftr ctrll keycode 23 = Tab + altgr control shiftr ctrll keycode 23 = Tab + shift altgr control shiftr ctrll keycode 23 = Tab + alt shiftr ctrll keycode 23 = Meta_i + shift alt shiftr ctrll keycode 23 = Meta_I + altgr alt shiftr ctrll keycode 23 = Meta_i + shift altgr alt shiftr ctrll keycode 23 = Meta_I + control alt shiftr ctrll keycode 23 = Meta_Tab + shift control alt shiftr ctrll keycode 23 = Meta_Tab + altgr control alt shiftr ctrll keycode 23 = Meta_Tab + shift altgr control alt shiftr ctrll keycode 23 = Meta_Tab + shiftl shiftr ctrll keycode 23 = +I + altgr shiftl shiftr ctrll keycode 23 = U+2192 + shift altgr shiftl shiftr ctrll keycode 23 = +I + control shiftl shiftr ctrll keycode 23 = Tab + shift control shiftl shiftr ctrll keycode 23 = Tab + altgr control shiftl shiftr ctrll keycode 23 = Tab + shift altgr control shiftl shiftr ctrll keycode 23 = Tab + alt shiftl shiftr ctrll keycode 23 = Meta_i + shift alt shiftl shiftr ctrll keycode 23 = Meta_I + altgr alt shiftl shiftr ctrll keycode 23 = Meta_i + shift altgr alt shiftl shiftr ctrll keycode 23 = Meta_I + control alt shiftl shiftr ctrll keycode 23 = Meta_Tab + shift control alt shiftl shiftr ctrll keycode 23 = Meta_Tab + altgr control alt shiftl shiftr ctrll keycode 23 = Meta_Tab + shift altgr control alt shiftl shiftr ctrll keycode 23 = Meta_Tab +keycode 24 = +o + shift keycode 24 = +O + altgr keycode 24 = +oslash + shift altgr keycode 24 = +Ooblique + control keycode 24 = Control_o + shift control keycode 24 = Control_o + altgr control keycode 24 = Control_o + shift altgr control keycode 24 = Control_o + alt keycode 24 = Meta_o + shift alt keycode 24 = Meta_O + altgr alt keycode 24 = Meta_o + shift altgr alt keycode 24 = Meta_O + control alt keycode 24 = Meta_Control_o + shift control alt keycode 24 = Meta_Control_o + altgr control alt keycode 24 = Meta_Control_o + shift altgr control alt keycode 24 = Meta_Control_o + shift shiftl keycode 24 = +O + altgr shiftl keycode 24 = +oslash + shift altgr shiftl keycode 24 = +Ooblique + control shiftl keycode 24 = Control_o + shift control shiftl keycode 24 = Control_o + altgr control shiftl keycode 24 = Control_o + shift altgr control shiftl keycode 24 = Control_o + alt shiftl keycode 24 = Meta_o + shift alt shiftl keycode 24 = Meta_O + altgr alt shiftl keycode 24 = Meta_o + shift altgr alt shiftl keycode 24 = Meta_O + control alt shiftl keycode 24 = Meta_Control_o + shift control alt shiftl keycode 24 = Meta_Control_o + altgr control alt shiftl keycode 24 = Meta_Control_o + shift altgr control alt shiftl keycode 24 = Meta_Control_o + shift shiftr keycode 24 = +O + altgr shiftr keycode 24 = +oslash + shift altgr shiftr keycode 24 = +Ooblique + control shiftr keycode 24 = Control_o + shift control shiftr keycode 24 = Control_o + altgr control shiftr keycode 24 = Control_o + shift altgr control shiftr keycode 24 = Control_o + alt shiftr keycode 24 = Meta_o + shift alt shiftr keycode 24 = Meta_O + altgr alt shiftr keycode 24 = Meta_o + shift altgr alt shiftr keycode 24 = Meta_O + control alt shiftr keycode 24 = Meta_Control_o + shift control alt shiftr keycode 24 = Meta_Control_o + altgr control alt shiftr keycode 24 = Meta_Control_o + shift altgr control alt shiftr keycode 24 = Meta_Control_o + shift shiftl shiftr keycode 24 = +O + altgr shiftl shiftr keycode 24 = +oslash + shift altgr shiftl shiftr keycode 24 = +Ooblique + control shiftl shiftr keycode 24 = Control_o + shift control shiftl shiftr keycode 24 = Control_o + altgr control shiftl shiftr keycode 24 = Control_o + shift altgr control shiftl shiftr keycode 24 = Control_o + alt shiftl shiftr keycode 24 = Meta_o + shift alt shiftl shiftr keycode 24 = Meta_O + altgr alt shiftl shiftr keycode 24 = Meta_o + shift altgr alt shiftl shiftr keycode 24 = Meta_O + control alt shiftl shiftr keycode 24 = Meta_Control_o + shift control alt shiftl shiftr keycode 24 = Meta_Control_o + altgr control alt shiftl shiftr keycode 24 = Meta_Control_o + shift altgr control alt shiftl shiftr keycode 24 = Meta_Control_o + ctrll keycode 24 = +O + altgr ctrll keycode 24 = +Ooblique + shift altgr ctrll keycode 24 = +oslash + control ctrll keycode 24 = Control_o + shift control ctrll keycode 24 = Control_o + altgr control ctrll keycode 24 = Control_o + shift altgr control ctrll keycode 24 = Control_o + alt ctrll keycode 24 = Meta_o + shift alt ctrll keycode 24 = Meta_O + altgr alt ctrll keycode 24 = Meta_o + shift altgr alt ctrll keycode 24 = Meta_O + control alt ctrll keycode 24 = Meta_Control_o + shift control alt ctrll keycode 24 = Meta_Control_o + altgr control alt ctrll keycode 24 = Meta_Control_o + shift altgr control alt ctrll keycode 24 = Meta_Control_o + shiftl ctrll keycode 24 = +O + altgr shiftl ctrll keycode 24 = +Ooblique + shift altgr shiftl ctrll keycode 24 = +oslash + control shiftl ctrll keycode 24 = Control_o + shift control shiftl ctrll keycode 24 = Control_o + altgr control shiftl ctrll keycode 24 = Control_o + shift altgr control shiftl ctrll keycode 24 = Control_o + alt shiftl ctrll keycode 24 = Meta_o + shift alt shiftl ctrll keycode 24 = Meta_O + altgr alt shiftl ctrll keycode 24 = Meta_o + shift altgr alt shiftl ctrll keycode 24 = Meta_O + control alt shiftl ctrll keycode 24 = Meta_Control_o + shift control alt shiftl ctrll keycode 24 = Meta_Control_o + altgr control alt shiftl ctrll keycode 24 = Meta_Control_o + shift altgr control alt shiftl ctrll keycode 24 = Meta_Control_o + shiftr ctrll keycode 24 = +O + altgr shiftr ctrll keycode 24 = +Ooblique + shift altgr shiftr ctrll keycode 24 = +oslash + control shiftr ctrll keycode 24 = Control_o + shift control shiftr ctrll keycode 24 = Control_o + altgr control shiftr ctrll keycode 24 = Control_o + shift altgr control shiftr ctrll keycode 24 = Control_o + alt shiftr ctrll keycode 24 = Meta_o + shift alt shiftr ctrll keycode 24 = Meta_O + altgr alt shiftr ctrll keycode 24 = Meta_o + shift altgr alt shiftr ctrll keycode 24 = Meta_O + control alt shiftr ctrll keycode 24 = Meta_Control_o + shift control alt shiftr ctrll keycode 24 = Meta_Control_o + altgr control alt shiftr ctrll keycode 24 = Meta_Control_o + shift altgr control alt shiftr ctrll keycode 24 = Meta_Control_o + shiftl shiftr ctrll keycode 24 = +O + altgr shiftl shiftr ctrll keycode 24 = +Ooblique + shift altgr shiftl shiftr ctrll keycode 24 = +oslash + control shiftl shiftr ctrll keycode 24 = Control_o + shift control shiftl shiftr ctrll keycode 24 = Control_o + altgr control shiftl shiftr ctrll keycode 24 = Control_o + shift altgr control shiftl shiftr ctrll keycode 24 = Control_o + alt shiftl shiftr ctrll keycode 24 = Meta_o + shift alt shiftl shiftr ctrll keycode 24 = Meta_O + altgr alt shiftl shiftr ctrll keycode 24 = Meta_o + shift altgr alt shiftl shiftr ctrll keycode 24 = Meta_O + control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o + shift control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o + altgr control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o + shift altgr control alt shiftl shiftr ctrll keycode 24 = Meta_Control_o +keycode 25 = +p + shift keycode 25 = +P + altgr keycode 25 = +thorn + shift altgr keycode 25 = +THORN + control keycode 25 = Control_p + shift control keycode 25 = Control_p + altgr control keycode 25 = Control_p + shift altgr control keycode 25 = Control_p + alt keycode 25 = Meta_p + shift alt keycode 25 = Meta_P + altgr alt keycode 25 = Meta_p + shift altgr alt keycode 25 = Meta_P + control alt keycode 25 = Meta_Control_p + shift control alt keycode 25 = Meta_Control_p + altgr control alt keycode 25 = Meta_Control_p + shift altgr control alt keycode 25 = Meta_Control_p + shift shiftl keycode 25 = +P + altgr shiftl keycode 25 = +thorn + shift altgr shiftl keycode 25 = +THORN + control shiftl keycode 25 = Control_p + shift control shiftl keycode 25 = Control_p + altgr control shiftl keycode 25 = Control_p + shift altgr control shiftl keycode 25 = Control_p + alt shiftl keycode 25 = Meta_p + shift alt shiftl keycode 25 = Meta_P + altgr alt shiftl keycode 25 = Meta_p + shift altgr alt shiftl keycode 25 = Meta_P + control alt shiftl keycode 25 = Meta_Control_p + shift control alt shiftl keycode 25 = Meta_Control_p + altgr control alt shiftl keycode 25 = Meta_Control_p + shift altgr control alt shiftl keycode 25 = Meta_Control_p + shift shiftr keycode 25 = +P + altgr shiftr keycode 25 = +thorn + shift altgr shiftr keycode 25 = +THORN + control shiftr keycode 25 = Control_p + shift control shiftr keycode 25 = Control_p + altgr control shiftr keycode 25 = Control_p + shift altgr control shiftr keycode 25 = Control_p + alt shiftr keycode 25 = Meta_p + shift alt shiftr keycode 25 = Meta_P + altgr alt shiftr keycode 25 = Meta_p + shift altgr alt shiftr keycode 25 = Meta_P + control alt shiftr keycode 25 = Meta_Control_p + shift control alt shiftr keycode 25 = Meta_Control_p + altgr control alt shiftr keycode 25 = Meta_Control_p + shift altgr control alt shiftr keycode 25 = Meta_Control_p + shift shiftl shiftr keycode 25 = +P + altgr shiftl shiftr keycode 25 = +thorn + shift altgr shiftl shiftr keycode 25 = +THORN + control shiftl shiftr keycode 25 = Control_p + shift control shiftl shiftr keycode 25 = Control_p + altgr control shiftl shiftr keycode 25 = Control_p + shift altgr control shiftl shiftr keycode 25 = Control_p + alt shiftl shiftr keycode 25 = Meta_p + shift alt shiftl shiftr keycode 25 = Meta_P + altgr alt shiftl shiftr keycode 25 = Meta_p + shift altgr alt shiftl shiftr keycode 25 = Meta_P + control alt shiftl shiftr keycode 25 = Meta_Control_p + shift control alt shiftl shiftr keycode 25 = Meta_Control_p + altgr control alt shiftl shiftr keycode 25 = Meta_Control_p + shift altgr control alt shiftl shiftr keycode 25 = Meta_Control_p + ctrll keycode 25 = +P + altgr ctrll keycode 25 = +THORN + shift altgr ctrll keycode 25 = +thorn + control ctrll keycode 25 = Control_p + shift control ctrll keycode 25 = Control_p + altgr control ctrll keycode 25 = Control_p + shift altgr control ctrll keycode 25 = Control_p + alt ctrll keycode 25 = Meta_p + shift alt ctrll keycode 25 = Meta_P + altgr alt ctrll keycode 25 = Meta_p + shift altgr alt ctrll keycode 25 = Meta_P + control alt ctrll keycode 25 = Meta_Control_p + shift control alt ctrll keycode 25 = Meta_Control_p + altgr control alt ctrll keycode 25 = Meta_Control_p + shift altgr control alt ctrll keycode 25 = Meta_Control_p + shiftl ctrll keycode 25 = +P + altgr shiftl ctrll keycode 25 = +THORN + shift altgr shiftl ctrll keycode 25 = +thorn + control shiftl ctrll keycode 25 = Control_p + shift control shiftl ctrll keycode 25 = Control_p + altgr control shiftl ctrll keycode 25 = Control_p + shift altgr control shiftl ctrll keycode 25 = Control_p + alt shiftl ctrll keycode 25 = Meta_p + shift alt shiftl ctrll keycode 25 = Meta_P + altgr alt shiftl ctrll keycode 25 = Meta_p + shift altgr alt shiftl ctrll keycode 25 = Meta_P + control alt shiftl ctrll keycode 25 = Meta_Control_p + shift control alt shiftl ctrll keycode 25 = Meta_Control_p + altgr control alt shiftl ctrll keycode 25 = Meta_Control_p + shift altgr control alt shiftl ctrll keycode 25 = Meta_Control_p + shiftr ctrll keycode 25 = +P + altgr shiftr ctrll keycode 25 = +THORN + shift altgr shiftr ctrll keycode 25 = +thorn + control shiftr ctrll keycode 25 = Control_p + shift control shiftr ctrll keycode 25 = Control_p + altgr control shiftr ctrll keycode 25 = Control_p + shift altgr control shiftr ctrll keycode 25 = Control_p + alt shiftr ctrll keycode 25 = Meta_p + shift alt shiftr ctrll keycode 25 = Meta_P + altgr alt shiftr ctrll keycode 25 = Meta_p + shift altgr alt shiftr ctrll keycode 25 = Meta_P + control alt shiftr ctrll keycode 25 = Meta_Control_p + shift control alt shiftr ctrll keycode 25 = Meta_Control_p + altgr control alt shiftr ctrll keycode 25 = Meta_Control_p + shift altgr control alt shiftr ctrll keycode 25 = Meta_Control_p + shiftl shiftr ctrll keycode 25 = +P + altgr shiftl shiftr ctrll keycode 25 = +THORN + shift altgr shiftl shiftr ctrll keycode 25 = +thorn + control shiftl shiftr ctrll keycode 25 = Control_p + shift control shiftl shiftr ctrll keycode 25 = Control_p + altgr control shiftl shiftr ctrll keycode 25 = Control_p + shift altgr control shiftl shiftr ctrll keycode 25 = Control_p + alt shiftl shiftr ctrll keycode 25 = Meta_p + shift alt shiftl shiftr ctrll keycode 25 = Meta_P + altgr alt shiftl shiftr ctrll keycode 25 = Meta_p + shift altgr alt shiftl shiftr ctrll keycode 25 = Meta_P + control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p + shift control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p + altgr control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p + shift altgr control alt shiftl shiftr ctrll keycode 25 = Meta_Control_p +keycode 26 = dead_acute + shift keycode 26 = dead_grave + altgr keycode 26 = apostrophe + shift altgr keycode 26 = grave + shift control keycode 26 = dead_grave + altgr control keycode 26 = Control_g + shift altgr control keycode 26 = nul + shift alt keycode 26 = dead_grave + altgr alt keycode 26 = Meta_apostrophe + shift altgr alt keycode 26 = Meta_grave + shift control alt keycode 26 = dead_grave + altgr control alt keycode 26 = Meta_Control_g + shift altgr control alt keycode 26 = Meta_nul + shift shiftl keycode 26 = dead_grave + altgr shiftl keycode 26 = apostrophe + shift altgr shiftl keycode 26 = grave + shift control shiftl keycode 26 = dead_grave + altgr control shiftl keycode 26 = Control_g + shift altgr control shiftl keycode 26 = nul + shift alt shiftl keycode 26 = dead_grave + altgr alt shiftl keycode 26 = Meta_apostrophe + shift altgr alt shiftl keycode 26 = Meta_grave + shift control alt shiftl keycode 26 = dead_grave + altgr control alt shiftl keycode 26 = Meta_Control_g + shift altgr control alt shiftl keycode 26 = Meta_nul + shift shiftr keycode 26 = dead_grave + altgr shiftr keycode 26 = apostrophe + shift altgr shiftr keycode 26 = grave + shift control shiftr keycode 26 = dead_grave + altgr control shiftr keycode 26 = Control_g + shift altgr control shiftr keycode 26 = nul + shift alt shiftr keycode 26 = dead_grave + altgr alt shiftr keycode 26 = Meta_apostrophe + shift altgr alt shiftr keycode 26 = Meta_grave + shift control alt shiftr keycode 26 = dead_grave + altgr control alt shiftr keycode 26 = Meta_Control_g + shift altgr control alt shiftr keycode 26 = Meta_nul + shift shiftl shiftr keycode 26 = dead_grave + altgr shiftl shiftr keycode 26 = apostrophe + shift altgr shiftl shiftr keycode 26 = grave + shift control shiftl shiftr keycode 26 = dead_grave + altgr control shiftl shiftr keycode 26 = Control_g + shift altgr control shiftl shiftr keycode 26 = nul + shift alt shiftl shiftr keycode 26 = dead_grave + altgr alt shiftl shiftr keycode 26 = Meta_apostrophe + shift altgr alt shiftl shiftr keycode 26 = Meta_grave + shift control alt shiftl shiftr keycode 26 = dead_grave + altgr control alt shiftl shiftr keycode 26 = Meta_Control_g + shift altgr control alt shiftl shiftr keycode 26 = Meta_nul + shift ctrll keycode 26 = dead_grave + altgr ctrll keycode 26 = apostrophe + shift altgr ctrll keycode 26 = grave + shift control ctrll keycode 26 = dead_grave + altgr control ctrll keycode 26 = Control_g + shift altgr control ctrll keycode 26 = nul + shift alt ctrll keycode 26 = dead_grave + altgr alt ctrll keycode 26 = Meta_apostrophe + shift altgr alt ctrll keycode 26 = Meta_grave + shift control alt ctrll keycode 26 = dead_grave + altgr control alt ctrll keycode 26 = Meta_Control_g + shift altgr control alt ctrll keycode 26 = Meta_nul + shift shiftl ctrll keycode 26 = dead_grave + altgr shiftl ctrll keycode 26 = apostrophe + shift altgr shiftl ctrll keycode 26 = grave + shift control shiftl ctrll keycode 26 = dead_grave + altgr control shiftl ctrll keycode 26 = Control_g + shift altgr control shiftl ctrll keycode 26 = nul + shift alt shiftl ctrll keycode 26 = dead_grave + altgr alt shiftl ctrll keycode 26 = Meta_apostrophe + shift altgr alt shiftl ctrll keycode 26 = Meta_grave + shift control alt shiftl ctrll keycode 26 = dead_grave + altgr control alt shiftl ctrll keycode 26 = Meta_Control_g + shift altgr control alt shiftl ctrll keycode 26 = Meta_nul + shift shiftr ctrll keycode 26 = dead_grave + altgr shiftr ctrll keycode 26 = apostrophe + shift altgr shiftr ctrll keycode 26 = grave + shift control shiftr ctrll keycode 26 = dead_grave + altgr control shiftr ctrll keycode 26 = Control_g + shift altgr control shiftr ctrll keycode 26 = nul + shift alt shiftr ctrll keycode 26 = dead_grave + altgr alt shiftr ctrll keycode 26 = Meta_apostrophe + shift altgr alt shiftr ctrll keycode 26 = Meta_grave + shift control alt shiftr ctrll keycode 26 = dead_grave + altgr control alt shiftr ctrll keycode 26 = Meta_Control_g + shift altgr control alt shiftr ctrll keycode 26 = Meta_nul + shift shiftl shiftr ctrll keycode 26 = dead_grave + altgr shiftl shiftr ctrll keycode 26 = apostrophe + shift altgr shiftl shiftr ctrll keycode 26 = grave + shift control shiftl shiftr ctrll keycode 26 = dead_grave + altgr control shiftl shiftr ctrll keycode 26 = Control_g + shift altgr control shiftl shiftr ctrll keycode 26 = nul + shift alt shiftl shiftr ctrll keycode 26 = dead_grave + altgr alt shiftl shiftr ctrll keycode 26 = Meta_apostrophe + shift altgr alt shiftl shiftr ctrll keycode 26 = Meta_grave + shift control alt shiftl shiftr ctrll keycode 26 = dead_grave + altgr control alt shiftl shiftr ctrll keycode 26 = Meta_Control_g + shift altgr control alt shiftl shiftr ctrll keycode 26 = Meta_nul +keycode 27 = bracketleft + shift keycode 27 = braceleft + altgr keycode 27 = +ordfeminine + shift altgr keycode 27 = underscore + control keycode 27 = Escape + shift control keycode 27 = Escape + altgr control keycode 27 = Escape + shift altgr control keycode 27 = Control_underscore + alt keycode 27 = Meta_bracketleft + shift alt keycode 27 = Meta_braceleft + altgr alt keycode 27 = Meta_bracketleft + shift altgr alt keycode 27 = Meta_underscore + control alt keycode 27 = Meta_Escape + shift control alt keycode 27 = Meta_Escape + altgr control alt keycode 27 = Meta_Escape + shift altgr control alt keycode 27 = Meta_Control_underscore + shift shiftl keycode 27 = braceleft + altgr shiftl keycode 27 = +ordfeminine + shift altgr shiftl keycode 27 = underscore + control shiftl keycode 27 = Escape + shift control shiftl keycode 27 = Escape + altgr control shiftl keycode 27 = Escape + shift altgr control shiftl keycode 27 = Control_underscore + alt shiftl keycode 27 = Meta_bracketleft + shift alt shiftl keycode 27 = Meta_braceleft + altgr alt shiftl keycode 27 = Meta_bracketleft + shift altgr alt shiftl keycode 27 = Meta_underscore + control alt shiftl keycode 27 = Meta_Escape + shift control alt shiftl keycode 27 = Meta_Escape + altgr control alt shiftl keycode 27 = Meta_Escape + shift altgr control alt shiftl keycode 27 = Meta_Control_underscore + shift shiftr keycode 27 = braceleft + altgr shiftr keycode 27 = +ordfeminine + shift altgr shiftr keycode 27 = underscore + control shiftr keycode 27 = Escape + shift control shiftr keycode 27 = Escape + altgr control shiftr keycode 27 = Escape + shift altgr control shiftr keycode 27 = Control_underscore + alt shiftr keycode 27 = Meta_bracketleft + shift alt shiftr keycode 27 = Meta_braceleft + altgr alt shiftr keycode 27 = Meta_bracketleft + shift altgr alt shiftr keycode 27 = Meta_underscore + control alt shiftr keycode 27 = Meta_Escape + shift control alt shiftr keycode 27 = Meta_Escape + altgr control alt shiftr keycode 27 = Meta_Escape + shift altgr control alt shiftr keycode 27 = Meta_Control_underscore + shift shiftl shiftr keycode 27 = braceleft + altgr shiftl shiftr keycode 27 = +ordfeminine + shift altgr shiftl shiftr keycode 27 = underscore + control shiftl shiftr keycode 27 = Escape + shift control shiftl shiftr keycode 27 = Escape + altgr control shiftl shiftr keycode 27 = Escape + shift altgr control shiftl shiftr keycode 27 = Control_underscore + alt shiftl shiftr keycode 27 = Meta_bracketleft + shift alt shiftl shiftr keycode 27 = Meta_braceleft + altgr alt shiftl shiftr keycode 27 = Meta_bracketleft + shift altgr alt shiftl shiftr keycode 27 = Meta_underscore + control alt shiftl shiftr keycode 27 = Meta_Escape + shift control alt shiftl shiftr keycode 27 = Meta_Escape + altgr control alt shiftl shiftr keycode 27 = Meta_Escape + shift altgr control alt shiftl shiftr keycode 27 = Meta_Control_underscore + shift ctrll keycode 27 = braceleft + altgr ctrll keycode 27 = +ordfeminine + shift altgr ctrll keycode 27 = underscore + control ctrll keycode 27 = Escape + shift control ctrll keycode 27 = Escape + altgr control ctrll keycode 27 = Escape + shift altgr control ctrll keycode 27 = Control_underscore + alt ctrll keycode 27 = Meta_bracketleft + shift alt ctrll keycode 27 = Meta_braceleft + altgr alt ctrll keycode 27 = Meta_bracketleft + shift altgr alt ctrll keycode 27 = Meta_underscore + control alt ctrll keycode 27 = Meta_Escape + shift control alt ctrll keycode 27 = Meta_Escape + altgr control alt ctrll keycode 27 = Meta_Escape + shift altgr control alt ctrll keycode 27 = Meta_Control_underscore + shift shiftl ctrll keycode 27 = braceleft + altgr shiftl ctrll keycode 27 = +ordfeminine + shift altgr shiftl ctrll keycode 27 = underscore + control shiftl ctrll keycode 27 = Escape + shift control shiftl ctrll keycode 27 = Escape + altgr control shiftl ctrll keycode 27 = Escape + shift altgr control shiftl ctrll keycode 27 = Control_underscore + alt shiftl ctrll keycode 27 = Meta_bracketleft + shift alt shiftl ctrll keycode 27 = Meta_braceleft + altgr alt shiftl ctrll keycode 27 = Meta_bracketleft + shift altgr alt shiftl ctrll keycode 27 = Meta_underscore + control alt shiftl ctrll keycode 27 = Meta_Escape + shift control alt shiftl ctrll keycode 27 = Meta_Escape + altgr control alt shiftl ctrll keycode 27 = Meta_Escape + shift altgr control alt shiftl ctrll keycode 27 = Meta_Control_underscore + shift shiftr ctrll keycode 27 = braceleft + altgr shiftr ctrll keycode 27 = +ordfeminine + shift altgr shiftr ctrll keycode 27 = underscore + control shiftr ctrll keycode 27 = Escape + shift control shiftr ctrll keycode 27 = Escape + altgr control shiftr ctrll keycode 27 = Escape + shift altgr control shiftr ctrll keycode 27 = Control_underscore + alt shiftr ctrll keycode 27 = Meta_bracketleft + shift alt shiftr ctrll keycode 27 = Meta_braceleft + altgr alt shiftr ctrll keycode 27 = Meta_bracketleft + shift altgr alt shiftr ctrll keycode 27 = Meta_underscore + control alt shiftr ctrll keycode 27 = Meta_Escape + shift control alt shiftr ctrll keycode 27 = Meta_Escape + altgr control alt shiftr ctrll keycode 27 = Meta_Escape + shift altgr control alt shiftr ctrll keycode 27 = Meta_Control_underscore + shift shiftl shiftr ctrll keycode 27 = braceleft + altgr shiftl shiftr ctrll keycode 27 = +ordfeminine + shift altgr shiftl shiftr ctrll keycode 27 = underscore + control shiftl shiftr ctrll keycode 27 = Escape + shift control shiftl shiftr ctrll keycode 27 = Escape + altgr control shiftl shiftr ctrll keycode 27 = Escape + shift altgr control shiftl shiftr ctrll keycode 27 = Control_underscore + alt shiftl shiftr ctrll keycode 27 = Meta_bracketleft + shift alt shiftl shiftr ctrll keycode 27 = Meta_braceleft + altgr alt shiftl shiftr ctrll keycode 27 = Meta_bracketleft + shift altgr alt shiftl shiftr ctrll keycode 27 = Meta_underscore + control alt shiftl shiftr ctrll keycode 27 = Meta_Escape + shift control alt shiftl shiftr ctrll keycode 27 = Meta_Escape + altgr control alt shiftl shiftr ctrll keycode 27 = Meta_Escape + shift altgr control alt shiftl shiftr ctrll keycode 27 = Meta_Control_underscore +keycode 28 = Return + control keycode 28 = Control_m + shift control keycode 28 = Control_m + altgr control keycode 28 = Control_m + shift altgr control keycode 28 = Control_m + alt keycode 28 = Meta_Control_m + shift alt keycode 28 = Meta_Control_m + altgr alt keycode 28 = Meta_Control_m + shift altgr alt keycode 28 = Meta_Control_m + control alt keycode 28 = Meta_Control_m + shift control alt keycode 28 = Meta_Control_m + altgr control alt keycode 28 = Meta_Control_m + shift altgr control alt keycode 28 = Meta_Control_m + control shiftl keycode 28 = Control_m + shift control shiftl keycode 28 = Control_m + altgr control shiftl keycode 28 = Control_m + shift altgr control shiftl keycode 28 = Control_m + alt shiftl keycode 28 = Meta_Control_m + shift alt shiftl keycode 28 = Meta_Control_m + altgr alt shiftl keycode 28 = Meta_Control_m + shift altgr alt shiftl keycode 28 = Meta_Control_m + control alt shiftl keycode 28 = Meta_Control_m + shift control alt shiftl keycode 28 = Meta_Control_m + altgr control alt shiftl keycode 28 = Meta_Control_m + shift altgr control alt shiftl keycode 28 = Meta_Control_m + control shiftr keycode 28 = Control_m + shift control shiftr keycode 28 = Control_m + altgr control shiftr keycode 28 = Control_m + shift altgr control shiftr keycode 28 = Control_m + alt shiftr keycode 28 = Meta_Control_m + shift alt shiftr keycode 28 = Meta_Control_m + altgr alt shiftr keycode 28 = Meta_Control_m + shift altgr alt shiftr keycode 28 = Meta_Control_m + control alt shiftr keycode 28 = Meta_Control_m + shift control alt shiftr keycode 28 = Meta_Control_m + altgr control alt shiftr keycode 28 = Meta_Control_m + shift altgr control alt shiftr keycode 28 = Meta_Control_m + control shiftl shiftr keycode 28 = Control_m + shift control shiftl shiftr keycode 28 = Control_m + altgr control shiftl shiftr keycode 28 = Control_m + shift altgr control shiftl shiftr keycode 28 = Control_m + alt shiftl shiftr keycode 28 = Meta_Control_m + shift alt shiftl shiftr keycode 28 = Meta_Control_m + altgr alt shiftl shiftr keycode 28 = Meta_Control_m + shift altgr alt shiftl shiftr keycode 28 = Meta_Control_m + control alt shiftl shiftr keycode 28 = Meta_Control_m + shift control alt shiftl shiftr keycode 28 = Meta_Control_m + altgr control alt shiftl shiftr keycode 28 = Meta_Control_m + shift altgr control alt shiftl shiftr keycode 28 = Meta_Control_m + control ctrll keycode 28 = Control_m + shift control ctrll keycode 28 = Control_m + altgr control ctrll keycode 28 = Control_m + shift altgr control ctrll keycode 28 = Control_m + alt ctrll keycode 28 = Meta_Control_m + shift alt ctrll keycode 28 = Meta_Control_m + altgr alt ctrll keycode 28 = Meta_Control_m + shift altgr alt ctrll keycode 28 = Meta_Control_m + control alt ctrll keycode 28 = Meta_Control_m + shift control alt ctrll keycode 28 = Meta_Control_m + altgr control alt ctrll keycode 28 = Meta_Control_m + shift altgr control alt ctrll keycode 28 = Meta_Control_m + control shiftl ctrll keycode 28 = Control_m + shift control shiftl ctrll keycode 28 = Control_m + altgr control shiftl ctrll keycode 28 = Control_m + shift altgr control shiftl ctrll keycode 28 = Control_m + alt shiftl ctrll keycode 28 = Meta_Control_m + shift alt shiftl ctrll keycode 28 = Meta_Control_m + altgr alt shiftl ctrll keycode 28 = Meta_Control_m + shift altgr alt shiftl ctrll keycode 28 = Meta_Control_m + control alt shiftl ctrll keycode 28 = Meta_Control_m + shift control alt shiftl ctrll keycode 28 = Meta_Control_m + altgr control alt shiftl ctrll keycode 28 = Meta_Control_m + shift altgr control alt shiftl ctrll keycode 28 = Meta_Control_m + control shiftr ctrll keycode 28 = Control_m + shift control shiftr ctrll keycode 28 = Control_m + altgr control shiftr ctrll keycode 28 = Control_m + shift altgr control shiftr ctrll keycode 28 = Control_m + alt shiftr ctrll keycode 28 = Meta_Control_m + shift alt shiftr ctrll keycode 28 = Meta_Control_m + altgr alt shiftr ctrll keycode 28 = Meta_Control_m + shift altgr alt shiftr ctrll keycode 28 = Meta_Control_m + control alt shiftr ctrll keycode 28 = Meta_Control_m + shift control alt shiftr ctrll keycode 28 = Meta_Control_m + altgr control alt shiftr ctrll keycode 28 = Meta_Control_m + shift altgr control alt shiftr ctrll keycode 28 = Meta_Control_m + control shiftl shiftr ctrll keycode 28 = Control_m + shift control shiftl shiftr ctrll keycode 28 = Control_m + altgr control shiftl shiftr ctrll keycode 28 = Control_m + shift altgr control shiftl shiftr ctrll keycode 28 = Control_m + alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + altgr alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift altgr alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + altgr control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m + shift altgr control alt shiftl shiftr ctrll keycode 28 = Meta_Control_m +keycode 29 = Control +keycode 30 = +a + shift keycode 30 = +A + altgr keycode 30 = +ae + shift altgr keycode 30 = +AE + control keycode 30 = Control_a + shift control keycode 30 = Control_a + altgr control keycode 30 = Control_a + shift altgr control keycode 30 = Control_a + alt keycode 30 = Meta_a + shift alt keycode 30 = Meta_A + altgr alt keycode 30 = Meta_a + shift altgr alt keycode 30 = Meta_A + control alt keycode 30 = Meta_Control_a + shift control alt keycode 30 = Meta_Control_a + altgr control alt keycode 30 = Meta_Control_a + shift altgr control alt keycode 30 = Meta_Control_a + shift shiftl keycode 30 = +A + altgr shiftl keycode 30 = +ae + shift altgr shiftl keycode 30 = +AE + control shiftl keycode 30 = Control_a + shift control shiftl keycode 30 = Control_a + altgr control shiftl keycode 30 = Control_a + shift altgr control shiftl keycode 30 = Control_a + alt shiftl keycode 30 = Meta_a + shift alt shiftl keycode 30 = Meta_A + altgr alt shiftl keycode 30 = Meta_a + shift altgr alt shiftl keycode 30 = Meta_A + control alt shiftl keycode 30 = Meta_Control_a + shift control alt shiftl keycode 30 = Meta_Control_a + altgr control alt shiftl keycode 30 = Meta_Control_a + shift altgr control alt shiftl keycode 30 = Meta_Control_a + shift shiftr keycode 30 = +A + altgr shiftr keycode 30 = +ae + shift altgr shiftr keycode 30 = +AE + control shiftr keycode 30 = Control_a + shift control shiftr keycode 30 = Control_a + altgr control shiftr keycode 30 = Control_a + shift altgr control shiftr keycode 30 = Control_a + alt shiftr keycode 30 = Meta_a + shift alt shiftr keycode 30 = Meta_A + altgr alt shiftr keycode 30 = Meta_a + shift altgr alt shiftr keycode 30 = Meta_A + control alt shiftr keycode 30 = Meta_Control_a + shift control alt shiftr keycode 30 = Meta_Control_a + altgr control alt shiftr keycode 30 = Meta_Control_a + shift altgr control alt shiftr keycode 30 = Meta_Control_a + shift shiftl shiftr keycode 30 = +A + altgr shiftl shiftr keycode 30 = +ae + shift altgr shiftl shiftr keycode 30 = +AE + control shiftl shiftr keycode 30 = Control_a + shift control shiftl shiftr keycode 30 = Control_a + altgr control shiftl shiftr keycode 30 = Control_a + shift altgr control shiftl shiftr keycode 30 = Control_a + alt shiftl shiftr keycode 30 = Meta_a + shift alt shiftl shiftr keycode 30 = Meta_A + altgr alt shiftl shiftr keycode 30 = Meta_a + shift altgr alt shiftl shiftr keycode 30 = Meta_A + control alt shiftl shiftr keycode 30 = Meta_Control_a + shift control alt shiftl shiftr keycode 30 = Meta_Control_a + altgr control alt shiftl shiftr keycode 30 = Meta_Control_a + shift altgr control alt shiftl shiftr keycode 30 = Meta_Control_a + ctrll keycode 30 = +A + altgr ctrll keycode 30 = +AE + shift altgr ctrll keycode 30 = +ae + control ctrll keycode 30 = Control_a + shift control ctrll keycode 30 = Control_a + altgr control ctrll keycode 30 = Control_a + shift altgr control ctrll keycode 30 = Control_a + alt ctrll keycode 30 = Meta_a + shift alt ctrll keycode 30 = Meta_A + altgr alt ctrll keycode 30 = Meta_a + shift altgr alt ctrll keycode 30 = Meta_A + control alt ctrll keycode 30 = Meta_Control_a + shift control alt ctrll keycode 30 = Meta_Control_a + altgr control alt ctrll keycode 30 = Meta_Control_a + shift altgr control alt ctrll keycode 30 = Meta_Control_a + shiftl ctrll keycode 30 = +A + altgr shiftl ctrll keycode 30 = +AE + shift altgr shiftl ctrll keycode 30 = +ae + control shiftl ctrll keycode 30 = Control_a + shift control shiftl ctrll keycode 30 = Control_a + altgr control shiftl ctrll keycode 30 = Control_a + shift altgr control shiftl ctrll keycode 30 = Control_a + alt shiftl ctrll keycode 30 = Meta_a + shift alt shiftl ctrll keycode 30 = Meta_A + altgr alt shiftl ctrll keycode 30 = Meta_a + shift altgr alt shiftl ctrll keycode 30 = Meta_A + control alt shiftl ctrll keycode 30 = Meta_Control_a + shift control alt shiftl ctrll keycode 30 = Meta_Control_a + altgr control alt shiftl ctrll keycode 30 = Meta_Control_a + shift altgr control alt shiftl ctrll keycode 30 = Meta_Control_a + shiftr ctrll keycode 30 = +A + altgr shiftr ctrll keycode 30 = +AE + shift altgr shiftr ctrll keycode 30 = +ae + control shiftr ctrll keycode 30 = Control_a + shift control shiftr ctrll keycode 30 = Control_a + altgr control shiftr ctrll keycode 30 = Control_a + shift altgr control shiftr ctrll keycode 30 = Control_a + alt shiftr ctrll keycode 30 = Meta_a + shift alt shiftr ctrll keycode 30 = Meta_A + altgr alt shiftr ctrll keycode 30 = Meta_a + shift altgr alt shiftr ctrll keycode 30 = Meta_A + control alt shiftr ctrll keycode 30 = Meta_Control_a + shift control alt shiftr ctrll keycode 30 = Meta_Control_a + altgr control alt shiftr ctrll keycode 30 = Meta_Control_a + shift altgr control alt shiftr ctrll keycode 30 = Meta_Control_a + shiftl shiftr ctrll keycode 30 = +A + altgr shiftl shiftr ctrll keycode 30 = +AE + shift altgr shiftl shiftr ctrll keycode 30 = +ae + control shiftl shiftr ctrll keycode 30 = Control_a + shift control shiftl shiftr ctrll keycode 30 = Control_a + altgr control shiftl shiftr ctrll keycode 30 = Control_a + shift altgr control shiftl shiftr ctrll keycode 30 = Control_a + alt shiftl shiftr ctrll keycode 30 = Meta_a + shift alt shiftl shiftr ctrll keycode 30 = Meta_A + altgr alt shiftl shiftr ctrll keycode 30 = Meta_a + shift altgr alt shiftl shiftr ctrll keycode 30 = Meta_A + control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a + shift control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a + altgr control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a + shift altgr control alt shiftl shiftr ctrll keycode 30 = Meta_Control_a +keycode 31 = +s + shift keycode 31 = +S + altgr keycode 31 = +ssharp + shift altgr keycode 31 = section + control keycode 31 = Control_s + shift control keycode 31 = Control_s + altgr control keycode 31 = Control_s + shift altgr control keycode 31 = Control_s + alt keycode 31 = Meta_s + shift alt keycode 31 = Meta_S + altgr alt keycode 31 = Meta_s + shift altgr alt keycode 31 = Meta_S + control alt keycode 31 = Meta_Control_s + shift control alt keycode 31 = Meta_Control_s + altgr control alt keycode 31 = Meta_Control_s + shift altgr control alt keycode 31 = Meta_Control_s + shift shiftl keycode 31 = +S + altgr shiftl keycode 31 = +ssharp + shift altgr shiftl keycode 31 = section + control shiftl keycode 31 = Control_s + shift control shiftl keycode 31 = Control_s + altgr control shiftl keycode 31 = Control_s + shift altgr control shiftl keycode 31 = Control_s + alt shiftl keycode 31 = Meta_s + shift alt shiftl keycode 31 = Meta_S + altgr alt shiftl keycode 31 = Meta_s + shift altgr alt shiftl keycode 31 = Meta_S + control alt shiftl keycode 31 = Meta_Control_s + shift control alt shiftl keycode 31 = Meta_Control_s + altgr control alt shiftl keycode 31 = Meta_Control_s + shift altgr control alt shiftl keycode 31 = Meta_Control_s + shift shiftr keycode 31 = +S + altgr shiftr keycode 31 = +ssharp + shift altgr shiftr keycode 31 = section + control shiftr keycode 31 = Control_s + shift control shiftr keycode 31 = Control_s + altgr control shiftr keycode 31 = Control_s + shift altgr control shiftr keycode 31 = Control_s + alt shiftr keycode 31 = Meta_s + shift alt shiftr keycode 31 = Meta_S + altgr alt shiftr keycode 31 = Meta_s + shift altgr alt shiftr keycode 31 = Meta_S + control alt shiftr keycode 31 = Meta_Control_s + shift control alt shiftr keycode 31 = Meta_Control_s + altgr control alt shiftr keycode 31 = Meta_Control_s + shift altgr control alt shiftr keycode 31 = Meta_Control_s + shift shiftl shiftr keycode 31 = +S + altgr shiftl shiftr keycode 31 = +ssharp + shift altgr shiftl shiftr keycode 31 = section + control shiftl shiftr keycode 31 = Control_s + shift control shiftl shiftr keycode 31 = Control_s + altgr control shiftl shiftr keycode 31 = Control_s + shift altgr control shiftl shiftr keycode 31 = Control_s + alt shiftl shiftr keycode 31 = Meta_s + shift alt shiftl shiftr keycode 31 = Meta_S + altgr alt shiftl shiftr keycode 31 = Meta_s + shift altgr alt shiftl shiftr keycode 31 = Meta_S + control alt shiftl shiftr keycode 31 = Meta_Control_s + shift control alt shiftl shiftr keycode 31 = Meta_Control_s + altgr control alt shiftl shiftr keycode 31 = Meta_Control_s + shift altgr control alt shiftl shiftr keycode 31 = Meta_Control_s + ctrll keycode 31 = +S + altgr ctrll keycode 31 = +S + shift altgr ctrll keycode 31 = section + control ctrll keycode 31 = Control_s + shift control ctrll keycode 31 = Control_s + altgr control ctrll keycode 31 = Control_s + shift altgr control ctrll keycode 31 = Control_s + alt ctrll keycode 31 = Meta_s + shift alt ctrll keycode 31 = Meta_S + altgr alt ctrll keycode 31 = Meta_s + shift altgr alt ctrll keycode 31 = Meta_S + control alt ctrll keycode 31 = Meta_Control_s + shift control alt ctrll keycode 31 = Meta_Control_s + altgr control alt ctrll keycode 31 = Meta_Control_s + shift altgr control alt ctrll keycode 31 = Meta_Control_s + shiftl ctrll keycode 31 = +S + altgr shiftl ctrll keycode 31 = +S + shift altgr shiftl ctrll keycode 31 = section + control shiftl ctrll keycode 31 = Control_s + shift control shiftl ctrll keycode 31 = Control_s + altgr control shiftl ctrll keycode 31 = Control_s + shift altgr control shiftl ctrll keycode 31 = Control_s + alt shiftl ctrll keycode 31 = Meta_s + shift alt shiftl ctrll keycode 31 = Meta_S + altgr alt shiftl ctrll keycode 31 = Meta_s + shift altgr alt shiftl ctrll keycode 31 = Meta_S + control alt shiftl ctrll keycode 31 = Meta_Control_s + shift control alt shiftl ctrll keycode 31 = Meta_Control_s + altgr control alt shiftl ctrll keycode 31 = Meta_Control_s + shift altgr control alt shiftl ctrll keycode 31 = Meta_Control_s + shiftr ctrll keycode 31 = +S + altgr shiftr ctrll keycode 31 = +S + shift altgr shiftr ctrll keycode 31 = section + control shiftr ctrll keycode 31 = Control_s + shift control shiftr ctrll keycode 31 = Control_s + altgr control shiftr ctrll keycode 31 = Control_s + shift altgr control shiftr ctrll keycode 31 = Control_s + alt shiftr ctrll keycode 31 = Meta_s + shift alt shiftr ctrll keycode 31 = Meta_S + altgr alt shiftr ctrll keycode 31 = Meta_s + shift altgr alt shiftr ctrll keycode 31 = Meta_S + control alt shiftr ctrll keycode 31 = Meta_Control_s + shift control alt shiftr ctrll keycode 31 = Meta_Control_s + altgr control alt shiftr ctrll keycode 31 = Meta_Control_s + shift altgr control alt shiftr ctrll keycode 31 = Meta_Control_s + shiftl shiftr ctrll keycode 31 = +S + altgr shiftl shiftr ctrll keycode 31 = +S + shift altgr shiftl shiftr ctrll keycode 31 = section + control shiftl shiftr ctrll keycode 31 = Control_s + shift control shiftl shiftr ctrll keycode 31 = Control_s + altgr control shiftl shiftr ctrll keycode 31 = Control_s + shift altgr control shiftl shiftr ctrll keycode 31 = Control_s + alt shiftl shiftr ctrll keycode 31 = Meta_s + shift alt shiftl shiftr ctrll keycode 31 = Meta_S + altgr alt shiftl shiftr ctrll keycode 31 = Meta_s + shift altgr alt shiftl shiftr ctrll keycode 31 = Meta_S + control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s + shift control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s + altgr control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s + shift altgr control alt shiftl shiftr ctrll keycode 31 = Meta_Control_s +keycode 32 = +d + shift keycode 32 = +D + altgr keycode 32 = +eth + shift altgr keycode 32 = +ETH + control keycode 32 = Control_d + shift control keycode 32 = Control_d + altgr control keycode 32 = Control_d + shift altgr control keycode 32 = Control_d + alt keycode 32 = Meta_d + shift alt keycode 32 = Meta_D + altgr alt keycode 32 = Meta_d + shift altgr alt keycode 32 = Meta_D + control alt keycode 32 = Meta_Control_d + shift control alt keycode 32 = Meta_Control_d + altgr control alt keycode 32 = Meta_Control_d + shift altgr control alt keycode 32 = Meta_Control_d + shift shiftl keycode 32 = +D + altgr shiftl keycode 32 = +eth + shift altgr shiftl keycode 32 = +ETH + control shiftl keycode 32 = Control_d + shift control shiftl keycode 32 = Control_d + altgr control shiftl keycode 32 = Control_d + shift altgr control shiftl keycode 32 = Control_d + alt shiftl keycode 32 = Meta_d + shift alt shiftl keycode 32 = Meta_D + altgr alt shiftl keycode 32 = Meta_d + shift altgr alt shiftl keycode 32 = Meta_D + control alt shiftl keycode 32 = Meta_Control_d + shift control alt shiftl keycode 32 = Meta_Control_d + altgr control alt shiftl keycode 32 = Meta_Control_d + shift altgr control alt shiftl keycode 32 = Meta_Control_d + shift shiftr keycode 32 = +D + altgr shiftr keycode 32 = +eth + shift altgr shiftr keycode 32 = +ETH + control shiftr keycode 32 = Control_d + shift control shiftr keycode 32 = Control_d + altgr control shiftr keycode 32 = Control_d + shift altgr control shiftr keycode 32 = Control_d + alt shiftr keycode 32 = Meta_d + shift alt shiftr keycode 32 = Meta_D + altgr alt shiftr keycode 32 = Meta_d + shift altgr alt shiftr keycode 32 = Meta_D + control alt shiftr keycode 32 = Meta_Control_d + shift control alt shiftr keycode 32 = Meta_Control_d + altgr control alt shiftr keycode 32 = Meta_Control_d + shift altgr control alt shiftr keycode 32 = Meta_Control_d + shift shiftl shiftr keycode 32 = +D + altgr shiftl shiftr keycode 32 = +eth + shift altgr shiftl shiftr keycode 32 = +ETH + control shiftl shiftr keycode 32 = Control_d + shift control shiftl shiftr keycode 32 = Control_d + altgr control shiftl shiftr keycode 32 = Control_d + shift altgr control shiftl shiftr keycode 32 = Control_d + alt shiftl shiftr keycode 32 = Meta_d + shift alt shiftl shiftr keycode 32 = Meta_D + altgr alt shiftl shiftr keycode 32 = Meta_d + shift altgr alt shiftl shiftr keycode 32 = Meta_D + control alt shiftl shiftr keycode 32 = Meta_Control_d + shift control alt shiftl shiftr keycode 32 = Meta_Control_d + altgr control alt shiftl shiftr keycode 32 = Meta_Control_d + shift altgr control alt shiftl shiftr keycode 32 = Meta_Control_d + ctrll keycode 32 = +D + altgr ctrll keycode 32 = +ETH + shift altgr ctrll keycode 32 = +eth + control ctrll keycode 32 = Control_d + shift control ctrll keycode 32 = Control_d + altgr control ctrll keycode 32 = Control_d + shift altgr control ctrll keycode 32 = Control_d + alt ctrll keycode 32 = Meta_d + shift alt ctrll keycode 32 = Meta_D + altgr alt ctrll keycode 32 = Meta_d + shift altgr alt ctrll keycode 32 = Meta_D + control alt ctrll keycode 32 = Meta_Control_d + shift control alt ctrll keycode 32 = Meta_Control_d + altgr control alt ctrll keycode 32 = Meta_Control_d + shift altgr control alt ctrll keycode 32 = Meta_Control_d + shiftl ctrll keycode 32 = +D + altgr shiftl ctrll keycode 32 = +ETH + shift altgr shiftl ctrll keycode 32 = +eth + control shiftl ctrll keycode 32 = Control_d + shift control shiftl ctrll keycode 32 = Control_d + altgr control shiftl ctrll keycode 32 = Control_d + shift altgr control shiftl ctrll keycode 32 = Control_d + alt shiftl ctrll keycode 32 = Meta_d + shift alt shiftl ctrll keycode 32 = Meta_D + altgr alt shiftl ctrll keycode 32 = Meta_d + shift altgr alt shiftl ctrll keycode 32 = Meta_D + control alt shiftl ctrll keycode 32 = Meta_Control_d + shift control alt shiftl ctrll keycode 32 = Meta_Control_d + altgr control alt shiftl ctrll keycode 32 = Meta_Control_d + shift altgr control alt shiftl ctrll keycode 32 = Meta_Control_d + shiftr ctrll keycode 32 = +D + altgr shiftr ctrll keycode 32 = +ETH + shift altgr shiftr ctrll keycode 32 = +eth + control shiftr ctrll keycode 32 = Control_d + shift control shiftr ctrll keycode 32 = Control_d + altgr control shiftr ctrll keycode 32 = Control_d + shift altgr control shiftr ctrll keycode 32 = Control_d + alt shiftr ctrll keycode 32 = Meta_d + shift alt shiftr ctrll keycode 32 = Meta_D + altgr alt shiftr ctrll keycode 32 = Meta_d + shift altgr alt shiftr ctrll keycode 32 = Meta_D + control alt shiftr ctrll keycode 32 = Meta_Control_d + shift control alt shiftr ctrll keycode 32 = Meta_Control_d + altgr control alt shiftr ctrll keycode 32 = Meta_Control_d + shift altgr control alt shiftr ctrll keycode 32 = Meta_Control_d + shiftl shiftr ctrll keycode 32 = +D + altgr shiftl shiftr ctrll keycode 32 = +ETH + shift altgr shiftl shiftr ctrll keycode 32 = +eth + control shiftl shiftr ctrll keycode 32 = Control_d + shift control shiftl shiftr ctrll keycode 32 = Control_d + altgr control shiftl shiftr ctrll keycode 32 = Control_d + shift altgr control shiftl shiftr ctrll keycode 32 = Control_d + alt shiftl shiftr ctrll keycode 32 = Meta_d + shift alt shiftl shiftr ctrll keycode 32 = Meta_D + altgr alt shiftl shiftr ctrll keycode 32 = Meta_d + shift altgr alt shiftl shiftr ctrll keycode 32 = Meta_D + control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d + shift control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d + altgr control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d + shift altgr control alt shiftl shiftr ctrll keycode 32 = Meta_Control_d +keycode 33 = +f + shift keycode 33 = +F + altgr keycode 33 = dstroke + shift altgr keycode 33 = +ordfeminine + control keycode 33 = Control_f + shift control keycode 33 = Control_f + altgr control keycode 33 = Control_f + shift altgr control keycode 33 = Control_f + alt keycode 33 = Meta_f + shift alt keycode 33 = Meta_F + altgr alt keycode 33 = Meta_f + shift altgr alt keycode 33 = Meta_F + control alt keycode 33 = Meta_Control_f + shift control alt keycode 33 = Meta_Control_f + altgr control alt keycode 33 = Meta_Control_f + shift altgr control alt keycode 33 = Meta_Control_f + shift shiftl keycode 33 = +F + altgr shiftl keycode 33 = dstroke + shift altgr shiftl keycode 33 = +ordfeminine + control shiftl keycode 33 = Control_f + shift control shiftl keycode 33 = Control_f + altgr control shiftl keycode 33 = Control_f + shift altgr control shiftl keycode 33 = Control_f + alt shiftl keycode 33 = Meta_f + shift alt shiftl keycode 33 = Meta_F + altgr alt shiftl keycode 33 = Meta_f + shift altgr alt shiftl keycode 33 = Meta_F + control alt shiftl keycode 33 = Meta_Control_f + shift control alt shiftl keycode 33 = Meta_Control_f + altgr control alt shiftl keycode 33 = Meta_Control_f + shift altgr control alt shiftl keycode 33 = Meta_Control_f + shift shiftr keycode 33 = +F + altgr shiftr keycode 33 = dstroke + shift altgr shiftr keycode 33 = +ordfeminine + control shiftr keycode 33 = Control_f + shift control shiftr keycode 33 = Control_f + altgr control shiftr keycode 33 = Control_f + shift altgr control shiftr keycode 33 = Control_f + alt shiftr keycode 33 = Meta_f + shift alt shiftr keycode 33 = Meta_F + altgr alt shiftr keycode 33 = Meta_f + shift altgr alt shiftr keycode 33 = Meta_F + control alt shiftr keycode 33 = Meta_Control_f + shift control alt shiftr keycode 33 = Meta_Control_f + altgr control alt shiftr keycode 33 = Meta_Control_f + shift altgr control alt shiftr keycode 33 = Meta_Control_f + shift shiftl shiftr keycode 33 = +F + altgr shiftl shiftr keycode 33 = dstroke + shift altgr shiftl shiftr keycode 33 = +ordfeminine + control shiftl shiftr keycode 33 = Control_f + shift control shiftl shiftr keycode 33 = Control_f + altgr control shiftl shiftr keycode 33 = Control_f + shift altgr control shiftl shiftr keycode 33 = Control_f + alt shiftl shiftr keycode 33 = Meta_f + shift alt shiftl shiftr keycode 33 = Meta_F + altgr alt shiftl shiftr keycode 33 = Meta_f + shift altgr alt shiftl shiftr keycode 33 = Meta_F + control alt shiftl shiftr keycode 33 = Meta_Control_f + shift control alt shiftl shiftr keycode 33 = Meta_Control_f + altgr control alt shiftl shiftr keycode 33 = Meta_Control_f + shift altgr control alt shiftl shiftr keycode 33 = Meta_Control_f + ctrll keycode 33 = +F + altgr ctrll keycode 33 = Dstroke + shift altgr ctrll keycode 33 = +ordfeminine + control ctrll keycode 33 = Control_f + shift control ctrll keycode 33 = Control_f + altgr control ctrll keycode 33 = Control_f + shift altgr control ctrll keycode 33 = Control_f + alt ctrll keycode 33 = Meta_f + shift alt ctrll keycode 33 = Meta_F + altgr alt ctrll keycode 33 = Meta_f + shift altgr alt ctrll keycode 33 = Meta_F + control alt ctrll keycode 33 = Meta_Control_f + shift control alt ctrll keycode 33 = Meta_Control_f + altgr control alt ctrll keycode 33 = Meta_Control_f + shift altgr control alt ctrll keycode 33 = Meta_Control_f + shiftl ctrll keycode 33 = +F + altgr shiftl ctrll keycode 33 = Dstroke + shift altgr shiftl ctrll keycode 33 = +ordfeminine + control shiftl ctrll keycode 33 = Control_f + shift control shiftl ctrll keycode 33 = Control_f + altgr control shiftl ctrll keycode 33 = Control_f + shift altgr control shiftl ctrll keycode 33 = Control_f + alt shiftl ctrll keycode 33 = Meta_f + shift alt shiftl ctrll keycode 33 = Meta_F + altgr alt shiftl ctrll keycode 33 = Meta_f + shift altgr alt shiftl ctrll keycode 33 = Meta_F + control alt shiftl ctrll keycode 33 = Meta_Control_f + shift control alt shiftl ctrll keycode 33 = Meta_Control_f + altgr control alt shiftl ctrll keycode 33 = Meta_Control_f + shift altgr control alt shiftl ctrll keycode 33 = Meta_Control_f + shiftr ctrll keycode 33 = +F + altgr shiftr ctrll keycode 33 = Dstroke + shift altgr shiftr ctrll keycode 33 = +ordfeminine + control shiftr ctrll keycode 33 = Control_f + shift control shiftr ctrll keycode 33 = Control_f + altgr control shiftr ctrll keycode 33 = Control_f + shift altgr control shiftr ctrll keycode 33 = Control_f + alt shiftr ctrll keycode 33 = Meta_f + shift alt shiftr ctrll keycode 33 = Meta_F + altgr alt shiftr ctrll keycode 33 = Meta_f + shift altgr alt shiftr ctrll keycode 33 = Meta_F + control alt shiftr ctrll keycode 33 = Meta_Control_f + shift control alt shiftr ctrll keycode 33 = Meta_Control_f + altgr control alt shiftr ctrll keycode 33 = Meta_Control_f + shift altgr control alt shiftr ctrll keycode 33 = Meta_Control_f + shiftl shiftr ctrll keycode 33 = +F + altgr shiftl shiftr ctrll keycode 33 = Dstroke + shift altgr shiftl shiftr ctrll keycode 33 = +ordfeminine + control shiftl shiftr ctrll keycode 33 = Control_f + shift control shiftl shiftr ctrll keycode 33 = Control_f + altgr control shiftl shiftr ctrll keycode 33 = Control_f + shift altgr control shiftl shiftr ctrll keycode 33 = Control_f + alt shiftl shiftr ctrll keycode 33 = Meta_f + shift alt shiftl shiftr ctrll keycode 33 = Meta_F + altgr alt shiftl shiftr ctrll keycode 33 = Meta_f + shift altgr alt shiftl shiftr ctrll keycode 33 = Meta_F + control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f + shift control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f + altgr control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f + shift altgr control alt shiftl shiftr ctrll keycode 33 = Meta_Control_f +keycode 34 = +g + shift keycode 34 = +G + altgr keycode 34 = eng + shift altgr keycode 34 = ENG + control keycode 34 = Control_g + shift control keycode 34 = Control_g + altgr control keycode 34 = Control_g + shift altgr control keycode 34 = Control_g + alt keycode 34 = Meta_g + shift alt keycode 34 = Meta_G + altgr alt keycode 34 = Meta_g + shift altgr alt keycode 34 = Meta_G + control alt keycode 34 = Meta_Control_g + shift control alt keycode 34 = Meta_Control_g + altgr control alt keycode 34 = Meta_Control_g + shift altgr control alt keycode 34 = Meta_Control_g + shift shiftl keycode 34 = +G + altgr shiftl keycode 34 = eng + shift altgr shiftl keycode 34 = ENG + control shiftl keycode 34 = Control_g + shift control shiftl keycode 34 = Control_g + altgr control shiftl keycode 34 = Control_g + shift altgr control shiftl keycode 34 = Control_g + alt shiftl keycode 34 = Meta_g + shift alt shiftl keycode 34 = Meta_G + altgr alt shiftl keycode 34 = Meta_g + shift altgr alt shiftl keycode 34 = Meta_G + control alt shiftl keycode 34 = Meta_Control_g + shift control alt shiftl keycode 34 = Meta_Control_g + altgr control alt shiftl keycode 34 = Meta_Control_g + shift altgr control alt shiftl keycode 34 = Meta_Control_g + shift shiftr keycode 34 = +G + altgr shiftr keycode 34 = eng + shift altgr shiftr keycode 34 = ENG + control shiftr keycode 34 = Control_g + shift control shiftr keycode 34 = Control_g + altgr control shiftr keycode 34 = Control_g + shift altgr control shiftr keycode 34 = Control_g + alt shiftr keycode 34 = Meta_g + shift alt shiftr keycode 34 = Meta_G + altgr alt shiftr keycode 34 = Meta_g + shift altgr alt shiftr keycode 34 = Meta_G + control alt shiftr keycode 34 = Meta_Control_g + shift control alt shiftr keycode 34 = Meta_Control_g + altgr control alt shiftr keycode 34 = Meta_Control_g + shift altgr control alt shiftr keycode 34 = Meta_Control_g + shift shiftl shiftr keycode 34 = +G + altgr shiftl shiftr keycode 34 = eng + shift altgr shiftl shiftr keycode 34 = ENG + control shiftl shiftr keycode 34 = Control_g + shift control shiftl shiftr keycode 34 = Control_g + altgr control shiftl shiftr keycode 34 = Control_g + shift altgr control shiftl shiftr keycode 34 = Control_g + alt shiftl shiftr keycode 34 = Meta_g + shift alt shiftl shiftr keycode 34 = Meta_G + altgr alt shiftl shiftr keycode 34 = Meta_g + shift altgr alt shiftl shiftr keycode 34 = Meta_G + control alt shiftl shiftr keycode 34 = Meta_Control_g + shift control alt shiftl shiftr keycode 34 = Meta_Control_g + altgr control alt shiftl shiftr keycode 34 = Meta_Control_g + shift altgr control alt shiftl shiftr keycode 34 = Meta_Control_g + ctrll keycode 34 = +G + altgr ctrll keycode 34 = ENG + shift altgr ctrll keycode 34 = eng + control ctrll keycode 34 = Control_g + shift control ctrll keycode 34 = Control_g + altgr control ctrll keycode 34 = Control_g + shift altgr control ctrll keycode 34 = Control_g + alt ctrll keycode 34 = Meta_g + shift alt ctrll keycode 34 = Meta_G + altgr alt ctrll keycode 34 = Meta_g + shift altgr alt ctrll keycode 34 = Meta_G + control alt ctrll keycode 34 = Meta_Control_g + shift control alt ctrll keycode 34 = Meta_Control_g + altgr control alt ctrll keycode 34 = Meta_Control_g + shift altgr control alt ctrll keycode 34 = Meta_Control_g + shiftl ctrll keycode 34 = +G + altgr shiftl ctrll keycode 34 = ENG + shift altgr shiftl ctrll keycode 34 = eng + control shiftl ctrll keycode 34 = Control_g + shift control shiftl ctrll keycode 34 = Control_g + altgr control shiftl ctrll keycode 34 = Control_g + shift altgr control shiftl ctrll keycode 34 = Control_g + alt shiftl ctrll keycode 34 = Meta_g + shift alt shiftl ctrll keycode 34 = Meta_G + altgr alt shiftl ctrll keycode 34 = Meta_g + shift altgr alt shiftl ctrll keycode 34 = Meta_G + control alt shiftl ctrll keycode 34 = Meta_Control_g + shift control alt shiftl ctrll keycode 34 = Meta_Control_g + altgr control alt shiftl ctrll keycode 34 = Meta_Control_g + shift altgr control alt shiftl ctrll keycode 34 = Meta_Control_g + shiftr ctrll keycode 34 = +G + altgr shiftr ctrll keycode 34 = ENG + shift altgr shiftr ctrll keycode 34 = eng + control shiftr ctrll keycode 34 = Control_g + shift control shiftr ctrll keycode 34 = Control_g + altgr control shiftr ctrll keycode 34 = Control_g + shift altgr control shiftr ctrll keycode 34 = Control_g + alt shiftr ctrll keycode 34 = Meta_g + shift alt shiftr ctrll keycode 34 = Meta_G + altgr alt shiftr ctrll keycode 34 = Meta_g + shift altgr alt shiftr ctrll keycode 34 = Meta_G + control alt shiftr ctrll keycode 34 = Meta_Control_g + shift control alt shiftr ctrll keycode 34 = Meta_Control_g + altgr control alt shiftr ctrll keycode 34 = Meta_Control_g + shift altgr control alt shiftr ctrll keycode 34 = Meta_Control_g + shiftl shiftr ctrll keycode 34 = +G + altgr shiftl shiftr ctrll keycode 34 = ENG + shift altgr shiftl shiftr ctrll keycode 34 = eng + control shiftl shiftr ctrll keycode 34 = Control_g + shift control shiftl shiftr ctrll keycode 34 = Control_g + altgr control shiftl shiftr ctrll keycode 34 = Control_g + shift altgr control shiftl shiftr ctrll keycode 34 = Control_g + alt shiftl shiftr ctrll keycode 34 = Meta_g + shift alt shiftl shiftr ctrll keycode 34 = Meta_G + altgr alt shiftl shiftr ctrll keycode 34 = Meta_g + shift altgr alt shiftl shiftr ctrll keycode 34 = Meta_G + control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g + shift control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g + altgr control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g + shift altgr control alt shiftl shiftr ctrll keycode 34 = Meta_Control_g +keycode 35 = +h + shift keycode 35 = +H + altgr keycode 35 = hstroke + shift altgr keycode 35 = Hstroke + control keycode 35 = BackSpace + shift control keycode 35 = BackSpace + altgr control keycode 35 = BackSpace + shift altgr control keycode 35 = BackSpace + alt keycode 35 = Meta_h + shift alt keycode 35 = Meta_H + altgr alt keycode 35 = Meta_h + shift altgr alt keycode 35 = Meta_H + control alt keycode 35 = Meta_BackSpace + shift control alt keycode 35 = Meta_BackSpace + altgr control alt keycode 35 = Meta_BackSpace + shift altgr control alt keycode 35 = Meta_BackSpace + shift shiftl keycode 35 = +H + altgr shiftl keycode 35 = hstroke + shift altgr shiftl keycode 35 = Hstroke + control shiftl keycode 35 = BackSpace + shift control shiftl keycode 35 = BackSpace + altgr control shiftl keycode 35 = BackSpace + shift altgr control shiftl keycode 35 = BackSpace + alt shiftl keycode 35 = Meta_h + shift alt shiftl keycode 35 = Meta_H + altgr alt shiftl keycode 35 = Meta_h + shift altgr alt shiftl keycode 35 = Meta_H + control alt shiftl keycode 35 = Meta_BackSpace + shift control alt shiftl keycode 35 = Meta_BackSpace + altgr control alt shiftl keycode 35 = Meta_BackSpace + shift altgr control alt shiftl keycode 35 = Meta_BackSpace + shift shiftr keycode 35 = +H + altgr shiftr keycode 35 = hstroke + shift altgr shiftr keycode 35 = Hstroke + control shiftr keycode 35 = BackSpace + shift control shiftr keycode 35 = BackSpace + altgr control shiftr keycode 35 = BackSpace + shift altgr control shiftr keycode 35 = BackSpace + alt shiftr keycode 35 = Meta_h + shift alt shiftr keycode 35 = Meta_H + altgr alt shiftr keycode 35 = Meta_h + shift altgr alt shiftr keycode 35 = Meta_H + control alt shiftr keycode 35 = Meta_BackSpace + shift control alt shiftr keycode 35 = Meta_BackSpace + altgr control alt shiftr keycode 35 = Meta_BackSpace + shift altgr control alt shiftr keycode 35 = Meta_BackSpace + shift shiftl shiftr keycode 35 = +H + altgr shiftl shiftr keycode 35 = hstroke + shift altgr shiftl shiftr keycode 35 = Hstroke + control shiftl shiftr keycode 35 = BackSpace + shift control shiftl shiftr keycode 35 = BackSpace + altgr control shiftl shiftr keycode 35 = BackSpace + shift altgr control shiftl shiftr keycode 35 = BackSpace + alt shiftl shiftr keycode 35 = Meta_h + shift alt shiftl shiftr keycode 35 = Meta_H + altgr alt shiftl shiftr keycode 35 = Meta_h + shift altgr alt shiftl shiftr keycode 35 = Meta_H + control alt shiftl shiftr keycode 35 = Meta_BackSpace + shift control alt shiftl shiftr keycode 35 = Meta_BackSpace + altgr control alt shiftl shiftr keycode 35 = Meta_BackSpace + shift altgr control alt shiftl shiftr keycode 35 = Meta_BackSpace + ctrll keycode 35 = +H + altgr ctrll keycode 35 = Hstroke + shift altgr ctrll keycode 35 = hstroke + control ctrll keycode 35 = BackSpace + shift control ctrll keycode 35 = BackSpace + altgr control ctrll keycode 35 = BackSpace + shift altgr control ctrll keycode 35 = BackSpace + alt ctrll keycode 35 = Meta_h + shift alt ctrll keycode 35 = Meta_H + altgr alt ctrll keycode 35 = Meta_h + shift altgr alt ctrll keycode 35 = Meta_H + control alt ctrll keycode 35 = Meta_BackSpace + shift control alt ctrll keycode 35 = Meta_BackSpace + altgr control alt ctrll keycode 35 = Meta_BackSpace + shift altgr control alt ctrll keycode 35 = Meta_BackSpace + shiftl ctrll keycode 35 = +H + altgr shiftl ctrll keycode 35 = Hstroke + shift altgr shiftl ctrll keycode 35 = hstroke + control shiftl ctrll keycode 35 = BackSpace + shift control shiftl ctrll keycode 35 = BackSpace + altgr control shiftl ctrll keycode 35 = BackSpace + shift altgr control shiftl ctrll keycode 35 = BackSpace + alt shiftl ctrll keycode 35 = Meta_h + shift alt shiftl ctrll keycode 35 = Meta_H + altgr alt shiftl ctrll keycode 35 = Meta_h + shift altgr alt shiftl ctrll keycode 35 = Meta_H + control alt shiftl ctrll keycode 35 = Meta_BackSpace + shift control alt shiftl ctrll keycode 35 = Meta_BackSpace + altgr control alt shiftl ctrll keycode 35 = Meta_BackSpace + shift altgr control alt shiftl ctrll keycode 35 = Meta_BackSpace + shiftr ctrll keycode 35 = +H + altgr shiftr ctrll keycode 35 = Hstroke + shift altgr shiftr ctrll keycode 35 = hstroke + control shiftr ctrll keycode 35 = BackSpace + shift control shiftr ctrll keycode 35 = BackSpace + altgr control shiftr ctrll keycode 35 = BackSpace + shift altgr control shiftr ctrll keycode 35 = BackSpace + alt shiftr ctrll keycode 35 = Meta_h + shift alt shiftr ctrll keycode 35 = Meta_H + altgr alt shiftr ctrll keycode 35 = Meta_h + shift altgr alt shiftr ctrll keycode 35 = Meta_H + control alt shiftr ctrll keycode 35 = Meta_BackSpace + shift control alt shiftr ctrll keycode 35 = Meta_BackSpace + altgr control alt shiftr ctrll keycode 35 = Meta_BackSpace + shift altgr control alt shiftr ctrll keycode 35 = Meta_BackSpace + shiftl shiftr ctrll keycode 35 = +H + altgr shiftl shiftr ctrll keycode 35 = Hstroke + shift altgr shiftl shiftr ctrll keycode 35 = hstroke + control shiftl shiftr ctrll keycode 35 = BackSpace + shift control shiftl shiftr ctrll keycode 35 = BackSpace + altgr control shiftl shiftr ctrll keycode 35 = BackSpace + shift altgr control shiftl shiftr ctrll keycode 35 = BackSpace + alt shiftl shiftr ctrll keycode 35 = Meta_h + shift alt shiftl shiftr ctrll keycode 35 = Meta_H + altgr alt shiftl shiftr ctrll keycode 35 = Meta_h + shift altgr alt shiftl shiftr ctrll keycode 35 = Meta_H + control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace + shift control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace + altgr control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace + shift altgr control alt shiftl shiftr ctrll keycode 35 = Meta_BackSpace +keycode 36 = +j + shift keycode 36 = +J + altgr keycode 36 = U+0309 + shift altgr keycode 36 = U+031b + control keycode 36 = Linefeed + shift control keycode 36 = Linefeed + altgr control keycode 36 = Linefeed + shift altgr control keycode 36 = Linefeed + alt keycode 36 = Meta_j + shift alt keycode 36 = Meta_J + altgr alt keycode 36 = Meta_j + shift altgr alt keycode 36 = Meta_J + control alt keycode 36 = Meta_Linefeed + shift control alt keycode 36 = Meta_Linefeed + altgr control alt keycode 36 = Meta_Linefeed + shift altgr control alt keycode 36 = Meta_Linefeed + shift shiftl keycode 36 = +J + altgr shiftl keycode 36 = U+0309 + shift altgr shiftl keycode 36 = U+031b + control shiftl keycode 36 = Linefeed + shift control shiftl keycode 36 = Linefeed + altgr control shiftl keycode 36 = Linefeed + shift altgr control shiftl keycode 36 = Linefeed + alt shiftl keycode 36 = Meta_j + shift alt shiftl keycode 36 = Meta_J + altgr alt shiftl keycode 36 = Meta_j + shift altgr alt shiftl keycode 36 = Meta_J + control alt shiftl keycode 36 = Meta_Linefeed + shift control alt shiftl keycode 36 = Meta_Linefeed + altgr control alt shiftl keycode 36 = Meta_Linefeed + shift altgr control alt shiftl keycode 36 = Meta_Linefeed + shift shiftr keycode 36 = +J + altgr shiftr keycode 36 = U+0309 + shift altgr shiftr keycode 36 = U+031b + control shiftr keycode 36 = Linefeed + shift control shiftr keycode 36 = Linefeed + altgr control shiftr keycode 36 = Linefeed + shift altgr control shiftr keycode 36 = Linefeed + alt shiftr keycode 36 = Meta_j + shift alt shiftr keycode 36 = Meta_J + altgr alt shiftr keycode 36 = Meta_j + shift altgr alt shiftr keycode 36 = Meta_J + control alt shiftr keycode 36 = Meta_Linefeed + shift control alt shiftr keycode 36 = Meta_Linefeed + altgr control alt shiftr keycode 36 = Meta_Linefeed + shift altgr control alt shiftr keycode 36 = Meta_Linefeed + shift shiftl shiftr keycode 36 = +J + altgr shiftl shiftr keycode 36 = U+0309 + shift altgr shiftl shiftr keycode 36 = U+031b + control shiftl shiftr keycode 36 = Linefeed + shift control shiftl shiftr keycode 36 = Linefeed + altgr control shiftl shiftr keycode 36 = Linefeed + shift altgr control shiftl shiftr keycode 36 = Linefeed + alt shiftl shiftr keycode 36 = Meta_j + shift alt shiftl shiftr keycode 36 = Meta_J + altgr alt shiftl shiftr keycode 36 = Meta_j + shift altgr alt shiftl shiftr keycode 36 = Meta_J + control alt shiftl shiftr keycode 36 = Meta_Linefeed + shift control alt shiftl shiftr keycode 36 = Meta_Linefeed + altgr control alt shiftl shiftr keycode 36 = Meta_Linefeed + shift altgr control alt shiftl shiftr keycode 36 = Meta_Linefeed + ctrll keycode 36 = +J + altgr ctrll keycode 36 = U+0309 + shift altgr ctrll keycode 36 = U+031b + control ctrll keycode 36 = Linefeed + shift control ctrll keycode 36 = Linefeed + altgr control ctrll keycode 36 = Linefeed + shift altgr control ctrll keycode 36 = Linefeed + alt ctrll keycode 36 = Meta_j + shift alt ctrll keycode 36 = Meta_J + altgr alt ctrll keycode 36 = Meta_j + shift altgr alt ctrll keycode 36 = Meta_J + control alt ctrll keycode 36 = Meta_Linefeed + shift control alt ctrll keycode 36 = Meta_Linefeed + altgr control alt ctrll keycode 36 = Meta_Linefeed + shift altgr control alt ctrll keycode 36 = Meta_Linefeed + shiftl ctrll keycode 36 = +J + altgr shiftl ctrll keycode 36 = U+0309 + shift altgr shiftl ctrll keycode 36 = U+031b + control shiftl ctrll keycode 36 = Linefeed + shift control shiftl ctrll keycode 36 = Linefeed + altgr control shiftl ctrll keycode 36 = Linefeed + shift altgr control shiftl ctrll keycode 36 = Linefeed + alt shiftl ctrll keycode 36 = Meta_j + shift alt shiftl ctrll keycode 36 = Meta_J + altgr alt shiftl ctrll keycode 36 = Meta_j + shift altgr alt shiftl ctrll keycode 36 = Meta_J + control alt shiftl ctrll keycode 36 = Meta_Linefeed + shift control alt shiftl ctrll keycode 36 = Meta_Linefeed + altgr control alt shiftl ctrll keycode 36 = Meta_Linefeed + shift altgr control alt shiftl ctrll keycode 36 = Meta_Linefeed + shiftr ctrll keycode 36 = +J + altgr shiftr ctrll keycode 36 = U+0309 + shift altgr shiftr ctrll keycode 36 = U+031b + control shiftr ctrll keycode 36 = Linefeed + shift control shiftr ctrll keycode 36 = Linefeed + altgr control shiftr ctrll keycode 36 = Linefeed + shift altgr control shiftr ctrll keycode 36 = Linefeed + alt shiftr ctrll keycode 36 = Meta_j + shift alt shiftr ctrll keycode 36 = Meta_J + altgr alt shiftr ctrll keycode 36 = Meta_j + shift altgr alt shiftr ctrll keycode 36 = Meta_J + control alt shiftr ctrll keycode 36 = Meta_Linefeed + shift control alt shiftr ctrll keycode 36 = Meta_Linefeed + altgr control alt shiftr ctrll keycode 36 = Meta_Linefeed + shift altgr control alt shiftr ctrll keycode 36 = Meta_Linefeed + shiftl shiftr ctrll keycode 36 = +J + altgr shiftl shiftr ctrll keycode 36 = U+0309 + shift altgr shiftl shiftr ctrll keycode 36 = U+031b + control shiftl shiftr ctrll keycode 36 = Linefeed + shift control shiftl shiftr ctrll keycode 36 = Linefeed + altgr control shiftl shiftr ctrll keycode 36 = Linefeed + shift altgr control shiftl shiftr ctrll keycode 36 = Linefeed + alt shiftl shiftr ctrll keycode 36 = Meta_j + shift alt shiftl shiftr ctrll keycode 36 = Meta_J + altgr alt shiftl shiftr ctrll keycode 36 = Meta_j + shift altgr alt shiftl shiftr ctrll keycode 36 = Meta_J + control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed + shift control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed + altgr control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed + shift altgr control alt shiftl shiftr ctrll keycode 36 = Meta_Linefeed +keycode 37 = +k + shift keycode 37 = +K + altgr keycode 37 = kra + shift altgr keycode 37 = ampersand + control keycode 37 = Control_k + shift control keycode 37 = Control_k + altgr control keycode 37 = Control_k + shift altgr control keycode 37 = Control_k + alt keycode 37 = Meta_k + shift alt keycode 37 = Meta_K + altgr alt keycode 37 = Meta_k + shift altgr alt keycode 37 = Meta_ampersand + control alt keycode 37 = Meta_Control_k + shift control alt keycode 37 = Meta_Control_k + altgr control alt keycode 37 = Meta_Control_k + shift altgr control alt keycode 37 = Meta_Control_k + shift shiftl keycode 37 = +K + altgr shiftl keycode 37 = kra + shift altgr shiftl keycode 37 = ampersand + control shiftl keycode 37 = Control_k + shift control shiftl keycode 37 = Control_k + altgr control shiftl keycode 37 = Control_k + shift altgr control shiftl keycode 37 = Control_k + alt shiftl keycode 37 = Meta_k + shift alt shiftl keycode 37 = Meta_K + altgr alt shiftl keycode 37 = Meta_k + shift altgr alt shiftl keycode 37 = Meta_ampersand + control alt shiftl keycode 37 = Meta_Control_k + shift control alt shiftl keycode 37 = Meta_Control_k + altgr control alt shiftl keycode 37 = Meta_Control_k + shift altgr control alt shiftl keycode 37 = Meta_Control_k + shift shiftr keycode 37 = +K + altgr shiftr keycode 37 = kra + shift altgr shiftr keycode 37 = ampersand + control shiftr keycode 37 = Control_k + shift control shiftr keycode 37 = Control_k + altgr control shiftr keycode 37 = Control_k + shift altgr control shiftr keycode 37 = Control_k + alt shiftr keycode 37 = Meta_k + shift alt shiftr keycode 37 = Meta_K + altgr alt shiftr keycode 37 = Meta_k + shift altgr alt shiftr keycode 37 = Meta_ampersand + control alt shiftr keycode 37 = Meta_Control_k + shift control alt shiftr keycode 37 = Meta_Control_k + altgr control alt shiftr keycode 37 = Meta_Control_k + shift altgr control alt shiftr keycode 37 = Meta_Control_k + shift shiftl shiftr keycode 37 = +K + altgr shiftl shiftr keycode 37 = kra + shift altgr shiftl shiftr keycode 37 = ampersand + control shiftl shiftr keycode 37 = Control_k + shift control shiftl shiftr keycode 37 = Control_k + altgr control shiftl shiftr keycode 37 = Control_k + shift altgr control shiftl shiftr keycode 37 = Control_k + alt shiftl shiftr keycode 37 = Meta_k + shift alt shiftl shiftr keycode 37 = Meta_K + altgr alt shiftl shiftr keycode 37 = Meta_k + shift altgr alt shiftl shiftr keycode 37 = Meta_ampersand + control alt shiftl shiftr keycode 37 = Meta_Control_k + shift control alt shiftl shiftr keycode 37 = Meta_Control_k + altgr control alt shiftl shiftr keycode 37 = Meta_Control_k + shift altgr control alt shiftl shiftr keycode 37 = Meta_Control_k + ctrll keycode 37 = +K + altgr ctrll keycode 37 = kra + shift altgr ctrll keycode 37 = ampersand + control ctrll keycode 37 = Control_k + shift control ctrll keycode 37 = Control_k + altgr control ctrll keycode 37 = Control_k + shift altgr control ctrll keycode 37 = Control_k + alt ctrll keycode 37 = Meta_k + shift alt ctrll keycode 37 = Meta_K + altgr alt ctrll keycode 37 = Meta_k + shift altgr alt ctrll keycode 37 = Meta_ampersand + control alt ctrll keycode 37 = Meta_Control_k + shift control alt ctrll keycode 37 = Meta_Control_k + altgr control alt ctrll keycode 37 = Meta_Control_k + shift altgr control alt ctrll keycode 37 = Meta_Control_k + shiftl ctrll keycode 37 = +K + altgr shiftl ctrll keycode 37 = kra + shift altgr shiftl ctrll keycode 37 = ampersand + control shiftl ctrll keycode 37 = Control_k + shift control shiftl ctrll keycode 37 = Control_k + altgr control shiftl ctrll keycode 37 = Control_k + shift altgr control shiftl ctrll keycode 37 = Control_k + alt shiftl ctrll keycode 37 = Meta_k + shift alt shiftl ctrll keycode 37 = Meta_K + altgr alt shiftl ctrll keycode 37 = Meta_k + shift altgr alt shiftl ctrll keycode 37 = Meta_ampersand + control alt shiftl ctrll keycode 37 = Meta_Control_k + shift control alt shiftl ctrll keycode 37 = Meta_Control_k + altgr control alt shiftl ctrll keycode 37 = Meta_Control_k + shift altgr control alt shiftl ctrll keycode 37 = Meta_Control_k + shiftr ctrll keycode 37 = +K + altgr shiftr ctrll keycode 37 = kra + shift altgr shiftr ctrll keycode 37 = ampersand + control shiftr ctrll keycode 37 = Control_k + shift control shiftr ctrll keycode 37 = Control_k + altgr control shiftr ctrll keycode 37 = Control_k + shift altgr control shiftr ctrll keycode 37 = Control_k + alt shiftr ctrll keycode 37 = Meta_k + shift alt shiftr ctrll keycode 37 = Meta_K + altgr alt shiftr ctrll keycode 37 = Meta_k + shift altgr alt shiftr ctrll keycode 37 = Meta_ampersand + control alt shiftr ctrll keycode 37 = Meta_Control_k + shift control alt shiftr ctrll keycode 37 = Meta_Control_k + altgr control alt shiftr ctrll keycode 37 = Meta_Control_k + shift altgr control alt shiftr ctrll keycode 37 = Meta_Control_k + shiftl shiftr ctrll keycode 37 = +K + altgr shiftl shiftr ctrll keycode 37 = kra + shift altgr shiftl shiftr ctrll keycode 37 = ampersand + control shiftl shiftr ctrll keycode 37 = Control_k + shift control shiftl shiftr ctrll keycode 37 = Control_k + altgr control shiftl shiftr ctrll keycode 37 = Control_k + shift altgr control shiftl shiftr ctrll keycode 37 = Control_k + alt shiftl shiftr ctrll keycode 37 = Meta_k + shift alt shiftl shiftr ctrll keycode 37 = Meta_K + altgr alt shiftl shiftr ctrll keycode 37 = Meta_k + shift altgr alt shiftl shiftr ctrll keycode 37 = Meta_ampersand + control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k + shift control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k + altgr control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k + shift altgr control alt shiftl shiftr ctrll keycode 37 = Meta_Control_k +keycode 38 = +l + shift keycode 38 = +L + altgr keycode 38 = lstroke + shift altgr keycode 38 = Lstroke + control keycode 38 = Control_l + shift control keycode 38 = Control_l + altgr control keycode 38 = Control_l + shift altgr control keycode 38 = Control_l + alt keycode 38 = Meta_l + shift alt keycode 38 = Meta_L + altgr alt keycode 38 = Meta_l + shift altgr alt keycode 38 = Meta_L + control alt keycode 38 = Meta_Control_l + shift control alt keycode 38 = Meta_Control_l + altgr control alt keycode 38 = Meta_Control_l + shift altgr control alt keycode 38 = Meta_Control_l + shift shiftl keycode 38 = +L + altgr shiftl keycode 38 = lstroke + shift altgr shiftl keycode 38 = Lstroke + control shiftl keycode 38 = Control_l + shift control shiftl keycode 38 = Control_l + altgr control shiftl keycode 38 = Control_l + shift altgr control shiftl keycode 38 = Control_l + alt shiftl keycode 38 = Meta_l + shift alt shiftl keycode 38 = Meta_L + altgr alt shiftl keycode 38 = Meta_l + shift altgr alt shiftl keycode 38 = Meta_L + control alt shiftl keycode 38 = Meta_Control_l + shift control alt shiftl keycode 38 = Meta_Control_l + altgr control alt shiftl keycode 38 = Meta_Control_l + shift altgr control alt shiftl keycode 38 = Meta_Control_l + shift shiftr keycode 38 = +L + altgr shiftr keycode 38 = lstroke + shift altgr shiftr keycode 38 = Lstroke + control shiftr keycode 38 = Control_l + shift control shiftr keycode 38 = Control_l + altgr control shiftr keycode 38 = Control_l + shift altgr control shiftr keycode 38 = Control_l + alt shiftr keycode 38 = Meta_l + shift alt shiftr keycode 38 = Meta_L + altgr alt shiftr keycode 38 = Meta_l + shift altgr alt shiftr keycode 38 = Meta_L + control alt shiftr keycode 38 = Meta_Control_l + shift control alt shiftr keycode 38 = Meta_Control_l + altgr control alt shiftr keycode 38 = Meta_Control_l + shift altgr control alt shiftr keycode 38 = Meta_Control_l + shift shiftl shiftr keycode 38 = +L + altgr shiftl shiftr keycode 38 = lstroke + shift altgr shiftl shiftr keycode 38 = Lstroke + control shiftl shiftr keycode 38 = Control_l + shift control shiftl shiftr keycode 38 = Control_l + altgr control shiftl shiftr keycode 38 = Control_l + shift altgr control shiftl shiftr keycode 38 = Control_l + alt shiftl shiftr keycode 38 = Meta_l + shift alt shiftl shiftr keycode 38 = Meta_L + altgr alt shiftl shiftr keycode 38 = Meta_l + shift altgr alt shiftl shiftr keycode 38 = Meta_L + control alt shiftl shiftr keycode 38 = Meta_Control_l + shift control alt shiftl shiftr keycode 38 = Meta_Control_l + altgr control alt shiftl shiftr keycode 38 = Meta_Control_l + shift altgr control alt shiftl shiftr keycode 38 = Meta_Control_l + ctrll keycode 38 = +L + altgr ctrll keycode 38 = Lstroke + shift altgr ctrll keycode 38 = lstroke + control ctrll keycode 38 = Control_l + shift control ctrll keycode 38 = Control_l + altgr control ctrll keycode 38 = Control_l + shift altgr control ctrll keycode 38 = Control_l + alt ctrll keycode 38 = Meta_l + shift alt ctrll keycode 38 = Meta_L + altgr alt ctrll keycode 38 = Meta_l + shift altgr alt ctrll keycode 38 = Meta_L + control alt ctrll keycode 38 = Meta_Control_l + shift control alt ctrll keycode 38 = Meta_Control_l + altgr control alt ctrll keycode 38 = Meta_Control_l + shift altgr control alt ctrll keycode 38 = Meta_Control_l + shiftl ctrll keycode 38 = +L + altgr shiftl ctrll keycode 38 = Lstroke + shift altgr shiftl ctrll keycode 38 = lstroke + control shiftl ctrll keycode 38 = Control_l + shift control shiftl ctrll keycode 38 = Control_l + altgr control shiftl ctrll keycode 38 = Control_l + shift altgr control shiftl ctrll keycode 38 = Control_l + alt shiftl ctrll keycode 38 = Meta_l + shift alt shiftl ctrll keycode 38 = Meta_L + altgr alt shiftl ctrll keycode 38 = Meta_l + shift altgr alt shiftl ctrll keycode 38 = Meta_L + control alt shiftl ctrll keycode 38 = Meta_Control_l + shift control alt shiftl ctrll keycode 38 = Meta_Control_l + altgr control alt shiftl ctrll keycode 38 = Meta_Control_l + shift altgr control alt shiftl ctrll keycode 38 = Meta_Control_l + shiftr ctrll keycode 38 = +L + altgr shiftr ctrll keycode 38 = Lstroke + shift altgr shiftr ctrll keycode 38 = lstroke + control shiftr ctrll keycode 38 = Control_l + shift control shiftr ctrll keycode 38 = Control_l + altgr control shiftr ctrll keycode 38 = Control_l + shift altgr control shiftr ctrll keycode 38 = Control_l + alt shiftr ctrll keycode 38 = Meta_l + shift alt shiftr ctrll keycode 38 = Meta_L + altgr alt shiftr ctrll keycode 38 = Meta_l + shift altgr alt shiftr ctrll keycode 38 = Meta_L + control alt shiftr ctrll keycode 38 = Meta_Control_l + shift control alt shiftr ctrll keycode 38 = Meta_Control_l + altgr control alt shiftr ctrll keycode 38 = Meta_Control_l + shift altgr control alt shiftr ctrll keycode 38 = Meta_Control_l + shiftl shiftr ctrll keycode 38 = +L + altgr shiftl shiftr ctrll keycode 38 = Lstroke + shift altgr shiftl shiftr ctrll keycode 38 = lstroke + control shiftl shiftr ctrll keycode 38 = Control_l + shift control shiftl shiftr ctrll keycode 38 = Control_l + altgr control shiftl shiftr ctrll keycode 38 = Control_l + shift altgr control shiftl shiftr ctrll keycode 38 = Control_l + alt shiftl shiftr ctrll keycode 38 = Meta_l + shift alt shiftl shiftr ctrll keycode 38 = Meta_L + altgr alt shiftl shiftr ctrll keycode 38 = Meta_l + shift altgr alt shiftl shiftr ctrll keycode 38 = Meta_L + control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l + shift control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l + altgr control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l + shift altgr control alt shiftl shiftr ctrll keycode 38 = Meta_Control_l +keycode 39 = +ccedilla + shift keycode 39 = +Ccedilla + altgr keycode 39 = dead_acute + shift altgr keycode 39 = dead_tilde + control keycode 39 = dead_acute + shift control keycode 39 = dead_tilde + altgr control keycode 39 = dead_acute + shift altgr control keycode 39 = dead_tilde + alt keycode 39 = dead_acute + shift alt keycode 39 = dead_tilde + altgr alt keycode 39 = dead_acute + shift altgr alt keycode 39 = dead_tilde + control alt keycode 39 = dead_acute + shift control alt keycode 39 = dead_tilde + altgr control alt keycode 39 = dead_acute + shift altgr control alt keycode 39 = dead_tilde + shift shiftl keycode 39 = +Ccedilla + altgr shiftl keycode 39 = dead_acute + shift altgr shiftl keycode 39 = dead_tilde + control shiftl keycode 39 = dead_acute + shift control shiftl keycode 39 = dead_tilde + altgr control shiftl keycode 39 = dead_acute + shift altgr control shiftl keycode 39 = dead_tilde + alt shiftl keycode 39 = dead_acute + shift alt shiftl keycode 39 = dead_tilde + altgr alt shiftl keycode 39 = dead_acute + shift altgr alt shiftl keycode 39 = dead_tilde + control alt shiftl keycode 39 = dead_acute + shift control alt shiftl keycode 39 = dead_tilde + altgr control alt shiftl keycode 39 = dead_acute + shift altgr control alt shiftl keycode 39 = dead_tilde + shift shiftr keycode 39 = +Ccedilla + altgr shiftr keycode 39 = dead_acute + shift altgr shiftr keycode 39 = dead_tilde + control shiftr keycode 39 = dead_acute + shift control shiftr keycode 39 = dead_tilde + altgr control shiftr keycode 39 = dead_acute + shift altgr control shiftr keycode 39 = dead_tilde + alt shiftr keycode 39 = dead_acute + shift alt shiftr keycode 39 = dead_tilde + altgr alt shiftr keycode 39 = dead_acute + shift altgr alt shiftr keycode 39 = dead_tilde + control alt shiftr keycode 39 = dead_acute + shift control alt shiftr keycode 39 = dead_tilde + altgr control alt shiftr keycode 39 = dead_acute + shift altgr control alt shiftr keycode 39 = dead_tilde + shift shiftl shiftr keycode 39 = +Ccedilla + altgr shiftl shiftr keycode 39 = dead_acute + shift altgr shiftl shiftr keycode 39 = dead_tilde + control shiftl shiftr keycode 39 = dead_acute + shift control shiftl shiftr keycode 39 = dead_tilde + altgr control shiftl shiftr keycode 39 = dead_acute + shift altgr control shiftl shiftr keycode 39 = dead_tilde + alt shiftl shiftr keycode 39 = dead_acute + shift alt shiftl shiftr keycode 39 = dead_tilde + altgr alt shiftl shiftr keycode 39 = dead_acute + shift altgr alt shiftl shiftr keycode 39 = dead_tilde + control alt shiftl shiftr keycode 39 = dead_acute + shift control alt shiftl shiftr keycode 39 = dead_tilde + altgr control alt shiftl shiftr keycode 39 = dead_acute + shift altgr control alt shiftl shiftr keycode 39 = dead_tilde + ctrll keycode 39 = +Ccedilla + altgr ctrll keycode 39 = dead_acute + shift altgr ctrll keycode 39 = dead_tilde + control ctrll keycode 39 = dead_acute + shift control ctrll keycode 39 = dead_tilde + altgr control ctrll keycode 39 = dead_acute + shift altgr control ctrll keycode 39 = dead_tilde + alt ctrll keycode 39 = dead_acute + shift alt ctrll keycode 39 = dead_tilde + altgr alt ctrll keycode 39 = dead_acute + shift altgr alt ctrll keycode 39 = dead_tilde + control alt ctrll keycode 39 = dead_acute + shift control alt ctrll keycode 39 = dead_tilde + altgr control alt ctrll keycode 39 = dead_acute + shift altgr control alt ctrll keycode 39 = dead_tilde + shiftl ctrll keycode 39 = +Ccedilla + altgr shiftl ctrll keycode 39 = dead_acute + shift altgr shiftl ctrll keycode 39 = dead_tilde + control shiftl ctrll keycode 39 = dead_acute + shift control shiftl ctrll keycode 39 = dead_tilde + altgr control shiftl ctrll keycode 39 = dead_acute + shift altgr control shiftl ctrll keycode 39 = dead_tilde + alt shiftl ctrll keycode 39 = dead_acute + shift alt shiftl ctrll keycode 39 = dead_tilde + altgr alt shiftl ctrll keycode 39 = dead_acute + shift altgr alt shiftl ctrll keycode 39 = dead_tilde + control alt shiftl ctrll keycode 39 = dead_acute + shift control alt shiftl ctrll keycode 39 = dead_tilde + altgr control alt shiftl ctrll keycode 39 = dead_acute + shift altgr control alt shiftl ctrll keycode 39 = dead_tilde + shiftr ctrll keycode 39 = +Ccedilla + altgr shiftr ctrll keycode 39 = dead_acute + shift altgr shiftr ctrll keycode 39 = dead_tilde + control shiftr ctrll keycode 39 = dead_acute + shift control shiftr ctrll keycode 39 = dead_tilde + altgr control shiftr ctrll keycode 39 = dead_acute + shift altgr control shiftr ctrll keycode 39 = dead_tilde + alt shiftr ctrll keycode 39 = dead_acute + shift alt shiftr ctrll keycode 39 = dead_tilde + altgr alt shiftr ctrll keycode 39 = dead_acute + shift altgr alt shiftr ctrll keycode 39 = dead_tilde + control alt shiftr ctrll keycode 39 = dead_acute + shift control alt shiftr ctrll keycode 39 = dead_tilde + altgr control alt shiftr ctrll keycode 39 = dead_acute + shift altgr control alt shiftr ctrll keycode 39 = dead_tilde + shiftl shiftr ctrll keycode 39 = +Ccedilla + altgr shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr shiftl shiftr ctrll keycode 39 = dead_tilde + control shiftl shiftr ctrll keycode 39 = dead_acute + shift control shiftl shiftr ctrll keycode 39 = dead_tilde + altgr control shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr control shiftl shiftr ctrll keycode 39 = dead_tilde + alt shiftl shiftr ctrll keycode 39 = dead_acute + shift alt shiftl shiftr ctrll keycode 39 = dead_tilde + altgr alt shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr alt shiftl shiftr ctrll keycode 39 = dead_tilde + control alt shiftl shiftr ctrll keycode 39 = dead_acute + shift control alt shiftl shiftr ctrll keycode 39 = dead_tilde + altgr control alt shiftl shiftr ctrll keycode 39 = dead_acute + shift altgr control alt shiftl shiftr ctrll keycode 39 = dead_tilde +keycode 40 = dead_tilde + shift keycode 40 = dead_circumflex + altgr keycode 40 = asciitilde + shift altgr keycode 40 = asciicircum + shift control keycode 40 = dead_circumflex + shift altgr control keycode 40 = Control_asciicircum + shift alt keycode 40 = dead_circumflex + altgr alt keycode 40 = Meta_asciitilde + shift altgr alt keycode 40 = Meta_asciicircum + shift control alt keycode 40 = dead_circumflex + shift altgr control alt keycode 40 = Meta_Control_asciicircum + shift shiftl keycode 40 = dead_circumflex + altgr shiftl keycode 40 = asciitilde + shift altgr shiftl keycode 40 = asciicircum + shift control shiftl keycode 40 = dead_circumflex + shift altgr control shiftl keycode 40 = Control_asciicircum + shift alt shiftl keycode 40 = dead_circumflex + altgr alt shiftl keycode 40 = Meta_asciitilde + shift altgr alt shiftl keycode 40 = Meta_asciicircum + shift control alt shiftl keycode 40 = dead_circumflex + shift altgr control alt shiftl keycode 40 = Meta_Control_asciicircum + shift shiftr keycode 40 = dead_circumflex + altgr shiftr keycode 40 = asciitilde + shift altgr shiftr keycode 40 = asciicircum + shift control shiftr keycode 40 = dead_circumflex + shift altgr control shiftr keycode 40 = Control_asciicircum + shift alt shiftr keycode 40 = dead_circumflex + altgr alt shiftr keycode 40 = Meta_asciitilde + shift altgr alt shiftr keycode 40 = Meta_asciicircum + shift control alt shiftr keycode 40 = dead_circumflex + shift altgr control alt shiftr keycode 40 = Meta_Control_asciicircum + shift shiftl shiftr keycode 40 = dead_circumflex + altgr shiftl shiftr keycode 40 = asciitilde + shift altgr shiftl shiftr keycode 40 = asciicircum + shift control shiftl shiftr keycode 40 = dead_circumflex + shift altgr control shiftl shiftr keycode 40 = Control_asciicircum + shift alt shiftl shiftr keycode 40 = dead_circumflex + altgr alt shiftl shiftr keycode 40 = Meta_asciitilde + shift altgr alt shiftl shiftr keycode 40 = Meta_asciicircum + shift control alt shiftl shiftr keycode 40 = dead_circumflex + shift altgr control alt shiftl shiftr keycode 40 = Meta_Control_asciicircum + shift ctrll keycode 40 = dead_circumflex + altgr ctrll keycode 40 = asciitilde + shift altgr ctrll keycode 40 = asciicircum + shift control ctrll keycode 40 = dead_circumflex + shift altgr control ctrll keycode 40 = Control_asciicircum + shift alt ctrll keycode 40 = dead_circumflex + altgr alt ctrll keycode 40 = Meta_asciitilde + shift altgr alt ctrll keycode 40 = Meta_asciicircum + shift control alt ctrll keycode 40 = dead_circumflex + shift altgr control alt ctrll keycode 40 = Meta_Control_asciicircum + shift shiftl ctrll keycode 40 = dead_circumflex + altgr shiftl ctrll keycode 40 = asciitilde + shift altgr shiftl ctrll keycode 40 = asciicircum + shift control shiftl ctrll keycode 40 = dead_circumflex + shift altgr control shiftl ctrll keycode 40 = Control_asciicircum + shift alt shiftl ctrll keycode 40 = dead_circumflex + altgr alt shiftl ctrll keycode 40 = Meta_asciitilde + shift altgr alt shiftl ctrll keycode 40 = Meta_asciicircum + shift control alt shiftl ctrll keycode 40 = dead_circumflex + shift altgr control alt shiftl ctrll keycode 40 = Meta_Control_asciicircum + shift shiftr ctrll keycode 40 = dead_circumflex + altgr shiftr ctrll keycode 40 = asciitilde + shift altgr shiftr ctrll keycode 40 = asciicircum + shift control shiftr ctrll keycode 40 = dead_circumflex + shift altgr control shiftr ctrll keycode 40 = Control_asciicircum + shift alt shiftr ctrll keycode 40 = dead_circumflex + altgr alt shiftr ctrll keycode 40 = Meta_asciitilde + shift altgr alt shiftr ctrll keycode 40 = Meta_asciicircum + shift control alt shiftr ctrll keycode 40 = dead_circumflex + shift altgr control alt shiftr ctrll keycode 40 = Meta_Control_asciicircum + shift shiftl shiftr ctrll keycode 40 = dead_circumflex + altgr shiftl shiftr ctrll keycode 40 = asciitilde + shift altgr shiftl shiftr ctrll keycode 40 = asciicircum + shift control shiftl shiftr ctrll keycode 40 = dead_circumflex + shift altgr control shiftl shiftr ctrll keycode 40 = Control_asciicircum + shift alt shiftl shiftr ctrll keycode 40 = dead_circumflex + altgr alt shiftl shiftr ctrll keycode 40 = Meta_asciitilde + shift altgr alt shiftl shiftr ctrll keycode 40 = Meta_asciicircum + shift control alt shiftl shiftr ctrll keycode 40 = dead_circumflex + shift altgr control alt shiftl shiftr ctrll keycode 40 = Meta_Control_asciicircum +keycode 41 = apostrophe + shift keycode 41 = quotedbl + altgr keycode 41 = notsign + shift altgr keycode 41 = notsign + control keycode 41 = Control_g + shift control keycode 41 = Control_g + altgr control keycode 41 = Control_g + shift altgr control keycode 41 = Control_g + alt keycode 41 = Meta_apostrophe + shift alt keycode 41 = Meta_quotedbl + altgr alt keycode 41 = Meta_apostrophe + shift altgr alt keycode 41 = Meta_quotedbl + control alt keycode 41 = Meta_Control_g + shift control alt keycode 41 = Meta_Control_g + altgr control alt keycode 41 = Meta_Control_g + shift altgr control alt keycode 41 = Meta_Control_g + shift shiftl keycode 41 = quotedbl + altgr shiftl keycode 41 = notsign + shift altgr shiftl keycode 41 = notsign + control shiftl keycode 41 = Control_g + shift control shiftl keycode 41 = Control_g + altgr control shiftl keycode 41 = Control_g + shift altgr control shiftl keycode 41 = Control_g + alt shiftl keycode 41 = Meta_apostrophe + shift alt shiftl keycode 41 = Meta_quotedbl + altgr alt shiftl keycode 41 = Meta_apostrophe + shift altgr alt shiftl keycode 41 = Meta_quotedbl + control alt shiftl keycode 41 = Meta_Control_g + shift control alt shiftl keycode 41 = Meta_Control_g + altgr control alt shiftl keycode 41 = Meta_Control_g + shift altgr control alt shiftl keycode 41 = Meta_Control_g + shift shiftr keycode 41 = quotedbl + altgr shiftr keycode 41 = notsign + shift altgr shiftr keycode 41 = notsign + control shiftr keycode 41 = Control_g + shift control shiftr keycode 41 = Control_g + altgr control shiftr keycode 41 = Control_g + shift altgr control shiftr keycode 41 = Control_g + alt shiftr keycode 41 = Meta_apostrophe + shift alt shiftr keycode 41 = Meta_quotedbl + altgr alt shiftr keycode 41 = Meta_apostrophe + shift altgr alt shiftr keycode 41 = Meta_quotedbl + control alt shiftr keycode 41 = Meta_Control_g + shift control alt shiftr keycode 41 = Meta_Control_g + altgr control alt shiftr keycode 41 = Meta_Control_g + shift altgr control alt shiftr keycode 41 = Meta_Control_g + shift shiftl shiftr keycode 41 = quotedbl + altgr shiftl shiftr keycode 41 = notsign + shift altgr shiftl shiftr keycode 41 = notsign + control shiftl shiftr keycode 41 = Control_g + shift control shiftl shiftr keycode 41 = Control_g + altgr control shiftl shiftr keycode 41 = Control_g + shift altgr control shiftl shiftr keycode 41 = Control_g + alt shiftl shiftr keycode 41 = Meta_apostrophe + shift alt shiftl shiftr keycode 41 = Meta_quotedbl + altgr alt shiftl shiftr keycode 41 = Meta_apostrophe + shift altgr alt shiftl shiftr keycode 41 = Meta_quotedbl + control alt shiftl shiftr keycode 41 = Meta_Control_g + shift control alt shiftl shiftr keycode 41 = Meta_Control_g + altgr control alt shiftl shiftr keycode 41 = Meta_Control_g + shift altgr control alt shiftl shiftr keycode 41 = Meta_Control_g + shift ctrll keycode 41 = quotedbl + altgr ctrll keycode 41 = notsign + shift altgr ctrll keycode 41 = notsign + control ctrll keycode 41 = Control_g + shift control ctrll keycode 41 = Control_g + altgr control ctrll keycode 41 = Control_g + shift altgr control ctrll keycode 41 = Control_g + alt ctrll keycode 41 = Meta_apostrophe + shift alt ctrll keycode 41 = Meta_quotedbl + altgr alt ctrll keycode 41 = Meta_apostrophe + shift altgr alt ctrll keycode 41 = Meta_quotedbl + control alt ctrll keycode 41 = Meta_Control_g + shift control alt ctrll keycode 41 = Meta_Control_g + altgr control alt ctrll keycode 41 = Meta_Control_g + shift altgr control alt ctrll keycode 41 = Meta_Control_g + shift shiftl ctrll keycode 41 = quotedbl + altgr shiftl ctrll keycode 41 = notsign + shift altgr shiftl ctrll keycode 41 = notsign + control shiftl ctrll keycode 41 = Control_g + shift control shiftl ctrll keycode 41 = Control_g + altgr control shiftl ctrll keycode 41 = Control_g + shift altgr control shiftl ctrll keycode 41 = Control_g + alt shiftl ctrll keycode 41 = Meta_apostrophe + shift alt shiftl ctrll keycode 41 = Meta_quotedbl + altgr alt shiftl ctrll keycode 41 = Meta_apostrophe + shift altgr alt shiftl ctrll keycode 41 = Meta_quotedbl + control alt shiftl ctrll keycode 41 = Meta_Control_g + shift control alt shiftl ctrll keycode 41 = Meta_Control_g + altgr control alt shiftl ctrll keycode 41 = Meta_Control_g + shift altgr control alt shiftl ctrll keycode 41 = Meta_Control_g + shift shiftr ctrll keycode 41 = quotedbl + altgr shiftr ctrll keycode 41 = notsign + shift altgr shiftr ctrll keycode 41 = notsign + control shiftr ctrll keycode 41 = Control_g + shift control shiftr ctrll keycode 41 = Control_g + altgr control shiftr ctrll keycode 41 = Control_g + shift altgr control shiftr ctrll keycode 41 = Control_g + alt shiftr ctrll keycode 41 = Meta_apostrophe + shift alt shiftr ctrll keycode 41 = Meta_quotedbl + altgr alt shiftr ctrll keycode 41 = Meta_apostrophe + shift altgr alt shiftr ctrll keycode 41 = Meta_quotedbl + control alt shiftr ctrll keycode 41 = Meta_Control_g + shift control alt shiftr ctrll keycode 41 = Meta_Control_g + altgr control alt shiftr ctrll keycode 41 = Meta_Control_g + shift altgr control alt shiftr ctrll keycode 41 = Meta_Control_g + shift shiftl shiftr ctrll keycode 41 = quotedbl + altgr shiftl shiftr ctrll keycode 41 = notsign + shift altgr shiftl shiftr ctrll keycode 41 = notsign + control shiftl shiftr ctrll keycode 41 = Control_g + shift control shiftl shiftr ctrll keycode 41 = Control_g + altgr control shiftl shiftr ctrll keycode 41 = Control_g + shift altgr control shiftl shiftr ctrll keycode 41 = Control_g + alt shiftl shiftr ctrll keycode 41 = Meta_apostrophe + shift alt shiftl shiftr ctrll keycode 41 = Meta_quotedbl + altgr alt shiftl shiftr ctrll keycode 41 = Meta_apostrophe + shift altgr alt shiftl shiftr ctrll keycode 41 = Meta_quotedbl + control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g + shift control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g + altgr control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g + shift altgr control alt shiftl shiftr ctrll keycode 41 = Meta_Control_g +keycode 42 = Shift +keycode 43 = bracketright + shift keycode 43 = braceright + altgr keycode 43 = +masculine + shift altgr keycode 43 = +masculine + control keycode 43 = Control_bracketright + shift control keycode 43 = Control_bracketright + altgr control keycode 43 = Control_bracketright + shift altgr control keycode 43 = Control_bracketright + alt keycode 43 = Meta_bracketright + shift alt keycode 43 = Meta_braceright + altgr alt keycode 43 = Meta_bracketright + shift altgr alt keycode 43 = Meta_braceright + control alt keycode 43 = Meta_Control_bracketright + shift control alt keycode 43 = Meta_Control_bracketright + altgr control alt keycode 43 = Meta_Control_bracketright + shift altgr control alt keycode 43 = Meta_Control_bracketright + shift shiftl keycode 43 = braceright + altgr shiftl keycode 43 = +masculine + shift altgr shiftl keycode 43 = +masculine + control shiftl keycode 43 = Control_bracketright + shift control shiftl keycode 43 = Control_bracketright + altgr control shiftl keycode 43 = Control_bracketright + shift altgr control shiftl keycode 43 = Control_bracketright + alt shiftl keycode 43 = Meta_bracketright + shift alt shiftl keycode 43 = Meta_braceright + altgr alt shiftl keycode 43 = Meta_bracketright + shift altgr alt shiftl keycode 43 = Meta_braceright + control alt shiftl keycode 43 = Meta_Control_bracketright + shift control alt shiftl keycode 43 = Meta_Control_bracketright + altgr control alt shiftl keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl keycode 43 = Meta_Control_bracketright + shift shiftr keycode 43 = braceright + altgr shiftr keycode 43 = +masculine + shift altgr shiftr keycode 43 = +masculine + control shiftr keycode 43 = Control_bracketright + shift control shiftr keycode 43 = Control_bracketright + altgr control shiftr keycode 43 = Control_bracketright + shift altgr control shiftr keycode 43 = Control_bracketright + alt shiftr keycode 43 = Meta_bracketright + shift alt shiftr keycode 43 = Meta_braceright + altgr alt shiftr keycode 43 = Meta_bracketright + shift altgr alt shiftr keycode 43 = Meta_braceright + control alt shiftr keycode 43 = Meta_Control_bracketright + shift control alt shiftr keycode 43 = Meta_Control_bracketright + altgr control alt shiftr keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftr keycode 43 = Meta_Control_bracketright + shift shiftl shiftr keycode 43 = braceright + altgr shiftl shiftr keycode 43 = +masculine + shift altgr shiftl shiftr keycode 43 = +masculine + control shiftl shiftr keycode 43 = Control_bracketright + shift control shiftl shiftr keycode 43 = Control_bracketright + altgr control shiftl shiftr keycode 43 = Control_bracketright + shift altgr control shiftl shiftr keycode 43 = Control_bracketright + alt shiftl shiftr keycode 43 = Meta_bracketright + shift alt shiftl shiftr keycode 43 = Meta_braceright + altgr alt shiftl shiftr keycode 43 = Meta_bracketright + shift altgr alt shiftl shiftr keycode 43 = Meta_braceright + control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + shift control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + altgr control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr keycode 43 = Meta_Control_bracketright + shift ctrll keycode 43 = braceright + altgr ctrll keycode 43 = +masculine + shift altgr ctrll keycode 43 = +masculine + control ctrll keycode 43 = Control_bracketright + shift control ctrll keycode 43 = Control_bracketright + altgr control ctrll keycode 43 = Control_bracketright + shift altgr control ctrll keycode 43 = Control_bracketright + alt ctrll keycode 43 = Meta_bracketright + shift alt ctrll keycode 43 = Meta_braceright + altgr alt ctrll keycode 43 = Meta_bracketright + shift altgr alt ctrll keycode 43 = Meta_braceright + control alt ctrll keycode 43 = Meta_Control_bracketright + shift control alt ctrll keycode 43 = Meta_Control_bracketright + altgr control alt ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt ctrll keycode 43 = Meta_Control_bracketright + shift shiftl ctrll keycode 43 = braceright + altgr shiftl ctrll keycode 43 = +masculine + shift altgr shiftl ctrll keycode 43 = +masculine + control shiftl ctrll keycode 43 = Control_bracketright + shift control shiftl ctrll keycode 43 = Control_bracketright + altgr control shiftl ctrll keycode 43 = Control_bracketright + shift altgr control shiftl ctrll keycode 43 = Control_bracketright + alt shiftl ctrll keycode 43 = Meta_bracketright + shift alt shiftl ctrll keycode 43 = Meta_braceright + altgr alt shiftl ctrll keycode 43 = Meta_bracketright + shift altgr alt shiftl ctrll keycode 43 = Meta_braceright + control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + shift control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + altgr control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl ctrll keycode 43 = Meta_Control_bracketright + shift shiftr ctrll keycode 43 = braceright + altgr shiftr ctrll keycode 43 = +masculine + shift altgr shiftr ctrll keycode 43 = +masculine + control shiftr ctrll keycode 43 = Control_bracketright + shift control shiftr ctrll keycode 43 = Control_bracketright + altgr control shiftr ctrll keycode 43 = Control_bracketright + shift altgr control shiftr ctrll keycode 43 = Control_bracketright + alt shiftr ctrll keycode 43 = Meta_bracketright + shift alt shiftr ctrll keycode 43 = Meta_braceright + altgr alt shiftr ctrll keycode 43 = Meta_bracketright + shift altgr alt shiftr ctrll keycode 43 = Meta_braceright + control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + shift control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + altgr control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftr ctrll keycode 43 = Meta_Control_bracketright + shift shiftl shiftr ctrll keycode 43 = braceright + altgr shiftl shiftr ctrll keycode 43 = +masculine + shift altgr shiftl shiftr ctrll keycode 43 = +masculine + control shiftl shiftr ctrll keycode 43 = Control_bracketright + shift control shiftl shiftr ctrll keycode 43 = Control_bracketright + altgr control shiftl shiftr ctrll keycode 43 = Control_bracketright + shift altgr control shiftl shiftr ctrll keycode 43 = Control_bracketright + alt shiftl shiftr ctrll keycode 43 = Meta_bracketright + shift alt shiftl shiftr ctrll keycode 43 = Meta_braceright + altgr alt shiftl shiftr ctrll keycode 43 = Meta_bracketright + shift altgr alt shiftl shiftr ctrll keycode 43 = Meta_braceright + control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright + shift control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright + altgr control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright + shift altgr control alt shiftl shiftr ctrll keycode 43 = Meta_Control_bracketright +keycode 44 = +z + shift keycode 44 = +Z + altgr keycode 44 = guillemotleft + shift altgr keycode 44 = less + control keycode 44 = Control_z + shift control keycode 44 = Control_z + altgr control keycode 44 = Control_z + shift altgr control keycode 44 = Control_z + alt keycode 44 = Meta_z + shift alt keycode 44 = Meta_Z + altgr alt keycode 44 = Meta_z + shift altgr alt keycode 44 = Meta_less + control alt keycode 44 = Meta_Control_z + shift control alt keycode 44 = Meta_Control_z + altgr control alt keycode 44 = Meta_Control_z + shift altgr control alt keycode 44 = Meta_Control_z + shift shiftl keycode 44 = +Z + altgr shiftl keycode 44 = guillemotleft + shift altgr shiftl keycode 44 = less + control shiftl keycode 44 = Control_z + shift control shiftl keycode 44 = Control_z + altgr control shiftl keycode 44 = Control_z + shift altgr control shiftl keycode 44 = Control_z + alt shiftl keycode 44 = Meta_z + shift alt shiftl keycode 44 = Meta_Z + altgr alt shiftl keycode 44 = Meta_z + shift altgr alt shiftl keycode 44 = Meta_less + control alt shiftl keycode 44 = Meta_Control_z + shift control alt shiftl keycode 44 = Meta_Control_z + altgr control alt shiftl keycode 44 = Meta_Control_z + shift altgr control alt shiftl keycode 44 = Meta_Control_z + shift shiftr keycode 44 = +Z + altgr shiftr keycode 44 = guillemotleft + shift altgr shiftr keycode 44 = less + control shiftr keycode 44 = Control_z + shift control shiftr keycode 44 = Control_z + altgr control shiftr keycode 44 = Control_z + shift altgr control shiftr keycode 44 = Control_z + alt shiftr keycode 44 = Meta_z + shift alt shiftr keycode 44 = Meta_Z + altgr alt shiftr keycode 44 = Meta_z + shift altgr alt shiftr keycode 44 = Meta_less + control alt shiftr keycode 44 = Meta_Control_z + shift control alt shiftr keycode 44 = Meta_Control_z + altgr control alt shiftr keycode 44 = Meta_Control_z + shift altgr control alt shiftr keycode 44 = Meta_Control_z + shift shiftl shiftr keycode 44 = +Z + altgr shiftl shiftr keycode 44 = guillemotleft + shift altgr shiftl shiftr keycode 44 = less + control shiftl shiftr keycode 44 = Control_z + shift control shiftl shiftr keycode 44 = Control_z + altgr control shiftl shiftr keycode 44 = Control_z + shift altgr control shiftl shiftr keycode 44 = Control_z + alt shiftl shiftr keycode 44 = Meta_z + shift alt shiftl shiftr keycode 44 = Meta_Z + altgr alt shiftl shiftr keycode 44 = Meta_z + shift altgr alt shiftl shiftr keycode 44 = Meta_less + control alt shiftl shiftr keycode 44 = Meta_Control_z + shift control alt shiftl shiftr keycode 44 = Meta_Control_z + altgr control alt shiftl shiftr keycode 44 = Meta_Control_z + shift altgr control alt shiftl shiftr keycode 44 = Meta_Control_z + ctrll keycode 44 = +Z + altgr ctrll keycode 44 = guillemotleft + shift altgr ctrll keycode 44 = less + control ctrll keycode 44 = Control_z + shift control ctrll keycode 44 = Control_z + altgr control ctrll keycode 44 = Control_z + shift altgr control ctrll keycode 44 = Control_z + alt ctrll keycode 44 = Meta_z + shift alt ctrll keycode 44 = Meta_Z + altgr alt ctrll keycode 44 = Meta_z + shift altgr alt ctrll keycode 44 = Meta_less + control alt ctrll keycode 44 = Meta_Control_z + shift control alt ctrll keycode 44 = Meta_Control_z + altgr control alt ctrll keycode 44 = Meta_Control_z + shift altgr control alt ctrll keycode 44 = Meta_Control_z + shiftl ctrll keycode 44 = +Z + altgr shiftl ctrll keycode 44 = guillemotleft + shift altgr shiftl ctrll keycode 44 = less + control shiftl ctrll keycode 44 = Control_z + shift control shiftl ctrll keycode 44 = Control_z + altgr control shiftl ctrll keycode 44 = Control_z + shift altgr control shiftl ctrll keycode 44 = Control_z + alt shiftl ctrll keycode 44 = Meta_z + shift alt shiftl ctrll keycode 44 = Meta_Z + altgr alt shiftl ctrll keycode 44 = Meta_z + shift altgr alt shiftl ctrll keycode 44 = Meta_less + control alt shiftl ctrll keycode 44 = Meta_Control_z + shift control alt shiftl ctrll keycode 44 = Meta_Control_z + altgr control alt shiftl ctrll keycode 44 = Meta_Control_z + shift altgr control alt shiftl ctrll keycode 44 = Meta_Control_z + shiftr ctrll keycode 44 = +Z + altgr shiftr ctrll keycode 44 = guillemotleft + shift altgr shiftr ctrll keycode 44 = less + control shiftr ctrll keycode 44 = Control_z + shift control shiftr ctrll keycode 44 = Control_z + altgr control shiftr ctrll keycode 44 = Control_z + shift altgr control shiftr ctrll keycode 44 = Control_z + alt shiftr ctrll keycode 44 = Meta_z + shift alt shiftr ctrll keycode 44 = Meta_Z + altgr alt shiftr ctrll keycode 44 = Meta_z + shift altgr alt shiftr ctrll keycode 44 = Meta_less + control alt shiftr ctrll keycode 44 = Meta_Control_z + shift control alt shiftr ctrll keycode 44 = Meta_Control_z + altgr control alt shiftr ctrll keycode 44 = Meta_Control_z + shift altgr control alt shiftr ctrll keycode 44 = Meta_Control_z + shiftl shiftr ctrll keycode 44 = +Z + altgr shiftl shiftr ctrll keycode 44 = guillemotleft + shift altgr shiftl shiftr ctrll keycode 44 = less + control shiftl shiftr ctrll keycode 44 = Control_z + shift control shiftl shiftr ctrll keycode 44 = Control_z + altgr control shiftl shiftr ctrll keycode 44 = Control_z + shift altgr control shiftl shiftr ctrll keycode 44 = Control_z + alt shiftl shiftr ctrll keycode 44 = Meta_z + shift alt shiftl shiftr ctrll keycode 44 = Meta_Z + altgr alt shiftl shiftr ctrll keycode 44 = Meta_z + shift altgr alt shiftl shiftr ctrll keycode 44 = Meta_less + control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z + shift control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z + altgr control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z + shift altgr control alt shiftl shiftr ctrll keycode 44 = Meta_Control_z +keycode 45 = +x + shift keycode 45 = +X + altgr keycode 45 = guillemotright + shift altgr keycode 45 = greater + control keycode 45 = Control_x + shift control keycode 45 = Control_x + altgr control keycode 45 = Control_x + shift altgr control keycode 45 = Control_x + alt keycode 45 = Meta_x + shift alt keycode 45 = Meta_X + altgr alt keycode 45 = Meta_x + shift altgr alt keycode 45 = Meta_greater + control alt keycode 45 = Meta_Control_x + shift control alt keycode 45 = Meta_Control_x + altgr control alt keycode 45 = Meta_Control_x + shift altgr control alt keycode 45 = Meta_Control_x + shift shiftl keycode 45 = +X + altgr shiftl keycode 45 = guillemotright + shift altgr shiftl keycode 45 = greater + control shiftl keycode 45 = Control_x + shift control shiftl keycode 45 = Control_x + altgr control shiftl keycode 45 = Control_x + shift altgr control shiftl keycode 45 = Control_x + alt shiftl keycode 45 = Meta_x + shift alt shiftl keycode 45 = Meta_X + altgr alt shiftl keycode 45 = Meta_x + shift altgr alt shiftl keycode 45 = Meta_greater + control alt shiftl keycode 45 = Meta_Control_x + shift control alt shiftl keycode 45 = Meta_Control_x + altgr control alt shiftl keycode 45 = Meta_Control_x + shift altgr control alt shiftl keycode 45 = Meta_Control_x + shift shiftr keycode 45 = +X + altgr shiftr keycode 45 = guillemotright + shift altgr shiftr keycode 45 = greater + control shiftr keycode 45 = Control_x + shift control shiftr keycode 45 = Control_x + altgr control shiftr keycode 45 = Control_x + shift altgr control shiftr keycode 45 = Control_x + alt shiftr keycode 45 = Meta_x + shift alt shiftr keycode 45 = Meta_X + altgr alt shiftr keycode 45 = Meta_x + shift altgr alt shiftr keycode 45 = Meta_greater + control alt shiftr keycode 45 = Meta_Control_x + shift control alt shiftr keycode 45 = Meta_Control_x + altgr control alt shiftr keycode 45 = Meta_Control_x + shift altgr control alt shiftr keycode 45 = Meta_Control_x + shift shiftl shiftr keycode 45 = +X + altgr shiftl shiftr keycode 45 = guillemotright + shift altgr shiftl shiftr keycode 45 = greater + control shiftl shiftr keycode 45 = Control_x + shift control shiftl shiftr keycode 45 = Control_x + altgr control shiftl shiftr keycode 45 = Control_x + shift altgr control shiftl shiftr keycode 45 = Control_x + alt shiftl shiftr keycode 45 = Meta_x + shift alt shiftl shiftr keycode 45 = Meta_X + altgr alt shiftl shiftr keycode 45 = Meta_x + shift altgr alt shiftl shiftr keycode 45 = Meta_greater + control alt shiftl shiftr keycode 45 = Meta_Control_x + shift control alt shiftl shiftr keycode 45 = Meta_Control_x + altgr control alt shiftl shiftr keycode 45 = Meta_Control_x + shift altgr control alt shiftl shiftr keycode 45 = Meta_Control_x + ctrll keycode 45 = +X + altgr ctrll keycode 45 = guillemotright + shift altgr ctrll keycode 45 = greater + control ctrll keycode 45 = Control_x + shift control ctrll keycode 45 = Control_x + altgr control ctrll keycode 45 = Control_x + shift altgr control ctrll keycode 45 = Control_x + alt ctrll keycode 45 = Meta_x + shift alt ctrll keycode 45 = Meta_X + altgr alt ctrll keycode 45 = Meta_x + shift altgr alt ctrll keycode 45 = Meta_greater + control alt ctrll keycode 45 = Meta_Control_x + shift control alt ctrll keycode 45 = Meta_Control_x + altgr control alt ctrll keycode 45 = Meta_Control_x + shift altgr control alt ctrll keycode 45 = Meta_Control_x + shiftl ctrll keycode 45 = +X + altgr shiftl ctrll keycode 45 = guillemotright + shift altgr shiftl ctrll keycode 45 = greater + control shiftl ctrll keycode 45 = Control_x + shift control shiftl ctrll keycode 45 = Control_x + altgr control shiftl ctrll keycode 45 = Control_x + shift altgr control shiftl ctrll keycode 45 = Control_x + alt shiftl ctrll keycode 45 = Meta_x + shift alt shiftl ctrll keycode 45 = Meta_X + altgr alt shiftl ctrll keycode 45 = Meta_x + shift altgr alt shiftl ctrll keycode 45 = Meta_greater + control alt shiftl ctrll keycode 45 = Meta_Control_x + shift control alt shiftl ctrll keycode 45 = Meta_Control_x + altgr control alt shiftl ctrll keycode 45 = Meta_Control_x + shift altgr control alt shiftl ctrll keycode 45 = Meta_Control_x + shiftr ctrll keycode 45 = +X + altgr shiftr ctrll keycode 45 = guillemotright + shift altgr shiftr ctrll keycode 45 = greater + control shiftr ctrll keycode 45 = Control_x + shift control shiftr ctrll keycode 45 = Control_x + altgr control shiftr ctrll keycode 45 = Control_x + shift altgr control shiftr ctrll keycode 45 = Control_x + alt shiftr ctrll keycode 45 = Meta_x + shift alt shiftr ctrll keycode 45 = Meta_X + altgr alt shiftr ctrll keycode 45 = Meta_x + shift altgr alt shiftr ctrll keycode 45 = Meta_greater + control alt shiftr ctrll keycode 45 = Meta_Control_x + shift control alt shiftr ctrll keycode 45 = Meta_Control_x + altgr control alt shiftr ctrll keycode 45 = Meta_Control_x + shift altgr control alt shiftr ctrll keycode 45 = Meta_Control_x + shiftl shiftr ctrll keycode 45 = +X + altgr shiftl shiftr ctrll keycode 45 = guillemotright + shift altgr shiftl shiftr ctrll keycode 45 = greater + control shiftl shiftr ctrll keycode 45 = Control_x + shift control shiftl shiftr ctrll keycode 45 = Control_x + altgr control shiftl shiftr ctrll keycode 45 = Control_x + shift altgr control shiftl shiftr ctrll keycode 45 = Control_x + alt shiftl shiftr ctrll keycode 45 = Meta_x + shift alt shiftl shiftr ctrll keycode 45 = Meta_X + altgr alt shiftl shiftr ctrll keycode 45 = Meta_x + shift altgr alt shiftl shiftr ctrll keycode 45 = Meta_greater + control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x + shift control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x + altgr control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x + shift altgr control alt shiftl shiftr ctrll keycode 45 = Meta_Control_x +keycode 46 = +c + shift keycode 46 = +C + altgr keycode 46 = copyright + shift altgr keycode 46 = copyright + control keycode 46 = Control_c + shift control keycode 46 = Control_c + altgr control keycode 46 = Control_c + shift altgr control keycode 46 = Control_c + alt keycode 46 = Meta_c + shift alt keycode 46 = Meta_C + altgr alt keycode 46 = Meta_c + shift altgr alt keycode 46 = Meta_C + control alt keycode 46 = Meta_Control_c + shift control alt keycode 46 = Meta_Control_c + altgr control alt keycode 46 = Meta_Control_c + shift altgr control alt keycode 46 = Meta_Control_c + shift shiftl keycode 46 = +C + altgr shiftl keycode 46 = copyright + shift altgr shiftl keycode 46 = copyright + control shiftl keycode 46 = Control_c + shift control shiftl keycode 46 = Control_c + altgr control shiftl keycode 46 = Control_c + shift altgr control shiftl keycode 46 = Control_c + alt shiftl keycode 46 = Meta_c + shift alt shiftl keycode 46 = Meta_C + altgr alt shiftl keycode 46 = Meta_c + shift altgr alt shiftl keycode 46 = Meta_C + control alt shiftl keycode 46 = Meta_Control_c + shift control alt shiftl keycode 46 = Meta_Control_c + altgr control alt shiftl keycode 46 = Meta_Control_c + shift altgr control alt shiftl keycode 46 = Meta_Control_c + shift shiftr keycode 46 = +C + altgr shiftr keycode 46 = copyright + shift altgr shiftr keycode 46 = copyright + control shiftr keycode 46 = Control_c + shift control shiftr keycode 46 = Control_c + altgr control shiftr keycode 46 = Control_c + shift altgr control shiftr keycode 46 = Control_c + alt shiftr keycode 46 = Meta_c + shift alt shiftr keycode 46 = Meta_C + altgr alt shiftr keycode 46 = Meta_c + shift altgr alt shiftr keycode 46 = Meta_C + control alt shiftr keycode 46 = Meta_Control_c + shift control alt shiftr keycode 46 = Meta_Control_c + altgr control alt shiftr keycode 46 = Meta_Control_c + shift altgr control alt shiftr keycode 46 = Meta_Control_c + shift shiftl shiftr keycode 46 = +C + altgr shiftl shiftr keycode 46 = copyright + shift altgr shiftl shiftr keycode 46 = copyright + control shiftl shiftr keycode 46 = Control_c + shift control shiftl shiftr keycode 46 = Control_c + altgr control shiftl shiftr keycode 46 = Control_c + shift altgr control shiftl shiftr keycode 46 = Control_c + alt shiftl shiftr keycode 46 = Meta_c + shift alt shiftl shiftr keycode 46 = Meta_C + altgr alt shiftl shiftr keycode 46 = Meta_c + shift altgr alt shiftl shiftr keycode 46 = Meta_C + control alt shiftl shiftr keycode 46 = Meta_Control_c + shift control alt shiftl shiftr keycode 46 = Meta_Control_c + altgr control alt shiftl shiftr keycode 46 = Meta_Control_c + shift altgr control alt shiftl shiftr keycode 46 = Meta_Control_c + ctrll keycode 46 = +C + altgr ctrll keycode 46 = copyright + shift altgr ctrll keycode 46 = copyright + control ctrll keycode 46 = Control_c + shift control ctrll keycode 46 = Control_c + altgr control ctrll keycode 46 = Control_c + shift altgr control ctrll keycode 46 = Control_c + alt ctrll keycode 46 = Meta_c + shift alt ctrll keycode 46 = Meta_C + altgr alt ctrll keycode 46 = Meta_c + shift altgr alt ctrll keycode 46 = Meta_C + control alt ctrll keycode 46 = Meta_Control_c + shift control alt ctrll keycode 46 = Meta_Control_c + altgr control alt ctrll keycode 46 = Meta_Control_c + shift altgr control alt ctrll keycode 46 = Meta_Control_c + shiftl ctrll keycode 46 = +C + altgr shiftl ctrll keycode 46 = copyright + shift altgr shiftl ctrll keycode 46 = copyright + control shiftl ctrll keycode 46 = Control_c + shift control shiftl ctrll keycode 46 = Control_c + altgr control shiftl ctrll keycode 46 = Control_c + shift altgr control shiftl ctrll keycode 46 = Control_c + alt shiftl ctrll keycode 46 = Meta_c + shift alt shiftl ctrll keycode 46 = Meta_C + altgr alt shiftl ctrll keycode 46 = Meta_c + shift altgr alt shiftl ctrll keycode 46 = Meta_C + control alt shiftl ctrll keycode 46 = Meta_Control_c + shift control alt shiftl ctrll keycode 46 = Meta_Control_c + altgr control alt shiftl ctrll keycode 46 = Meta_Control_c + shift altgr control alt shiftl ctrll keycode 46 = Meta_Control_c + shiftr ctrll keycode 46 = +C + altgr shiftr ctrll keycode 46 = copyright + shift altgr shiftr ctrll keycode 46 = copyright + control shiftr ctrll keycode 46 = Control_c + shift control shiftr ctrll keycode 46 = Control_c + altgr control shiftr ctrll keycode 46 = Control_c + shift altgr control shiftr ctrll keycode 46 = Control_c + alt shiftr ctrll keycode 46 = Meta_c + shift alt shiftr ctrll keycode 46 = Meta_C + altgr alt shiftr ctrll keycode 46 = Meta_c + shift altgr alt shiftr ctrll keycode 46 = Meta_C + control alt shiftr ctrll keycode 46 = Meta_Control_c + shift control alt shiftr ctrll keycode 46 = Meta_Control_c + altgr control alt shiftr ctrll keycode 46 = Meta_Control_c + shift altgr control alt shiftr ctrll keycode 46 = Meta_Control_c + shiftl shiftr ctrll keycode 46 = +C + altgr shiftl shiftr ctrll keycode 46 = copyright + shift altgr shiftl shiftr ctrll keycode 46 = copyright + control shiftl shiftr ctrll keycode 46 = Control_c + shift control shiftl shiftr ctrll keycode 46 = Control_c + altgr control shiftl shiftr ctrll keycode 46 = Control_c + shift altgr control shiftl shiftr ctrll keycode 46 = Control_c + alt shiftl shiftr ctrll keycode 46 = Meta_c + shift alt shiftl shiftr ctrll keycode 46 = Meta_C + altgr alt shiftl shiftr ctrll keycode 46 = Meta_c + shift altgr alt shiftl shiftr ctrll keycode 46 = Meta_C + control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c + shift control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c + altgr control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c + shift altgr control alt shiftl shiftr ctrll keycode 46 = Meta_Control_c +keycode 47 = +v + shift keycode 47 = +V + altgr keycode 47 = U+201c + shift altgr keycode 47 = U+2018 + control keycode 47 = Control_v + shift control keycode 47 = Control_v + altgr control keycode 47 = Control_v + shift altgr control keycode 47 = Control_v + alt keycode 47 = Meta_v + shift alt keycode 47 = Meta_V + altgr alt keycode 47 = Meta_v + shift altgr alt keycode 47 = Meta_V + control alt keycode 47 = Meta_Control_v + shift control alt keycode 47 = Meta_Control_v + altgr control alt keycode 47 = Meta_Control_v + shift altgr control alt keycode 47 = Meta_Control_v + shift shiftl keycode 47 = +V + altgr shiftl keycode 47 = U+201c + shift altgr shiftl keycode 47 = U+2018 + control shiftl keycode 47 = Control_v + shift control shiftl keycode 47 = Control_v + altgr control shiftl keycode 47 = Control_v + shift altgr control shiftl keycode 47 = Control_v + alt shiftl keycode 47 = Meta_v + shift alt shiftl keycode 47 = Meta_V + altgr alt shiftl keycode 47 = Meta_v + shift altgr alt shiftl keycode 47 = Meta_V + control alt shiftl keycode 47 = Meta_Control_v + shift control alt shiftl keycode 47 = Meta_Control_v + altgr control alt shiftl keycode 47 = Meta_Control_v + shift altgr control alt shiftl keycode 47 = Meta_Control_v + shift shiftr keycode 47 = +V + altgr shiftr keycode 47 = U+201c + shift altgr shiftr keycode 47 = U+2018 + control shiftr keycode 47 = Control_v + shift control shiftr keycode 47 = Control_v + altgr control shiftr keycode 47 = Control_v + shift altgr control shiftr keycode 47 = Control_v + alt shiftr keycode 47 = Meta_v + shift alt shiftr keycode 47 = Meta_V + altgr alt shiftr keycode 47 = Meta_v + shift altgr alt shiftr keycode 47 = Meta_V + control alt shiftr keycode 47 = Meta_Control_v + shift control alt shiftr keycode 47 = Meta_Control_v + altgr control alt shiftr keycode 47 = Meta_Control_v + shift altgr control alt shiftr keycode 47 = Meta_Control_v + shift shiftl shiftr keycode 47 = +V + altgr shiftl shiftr keycode 47 = U+201c + shift altgr shiftl shiftr keycode 47 = U+2018 + control shiftl shiftr keycode 47 = Control_v + shift control shiftl shiftr keycode 47 = Control_v + altgr control shiftl shiftr keycode 47 = Control_v + shift altgr control shiftl shiftr keycode 47 = Control_v + alt shiftl shiftr keycode 47 = Meta_v + shift alt shiftl shiftr keycode 47 = Meta_V + altgr alt shiftl shiftr keycode 47 = Meta_v + shift altgr alt shiftl shiftr keycode 47 = Meta_V + control alt shiftl shiftr keycode 47 = Meta_Control_v + shift control alt shiftl shiftr keycode 47 = Meta_Control_v + altgr control alt shiftl shiftr keycode 47 = Meta_Control_v + shift altgr control alt shiftl shiftr keycode 47 = Meta_Control_v + ctrll keycode 47 = +V + altgr ctrll keycode 47 = U+201c + shift altgr ctrll keycode 47 = U+2018 + control ctrll keycode 47 = Control_v + shift control ctrll keycode 47 = Control_v + altgr control ctrll keycode 47 = Control_v + shift altgr control ctrll keycode 47 = Control_v + alt ctrll keycode 47 = Meta_v + shift alt ctrll keycode 47 = Meta_V + altgr alt ctrll keycode 47 = Meta_v + shift altgr alt ctrll keycode 47 = Meta_V + control alt ctrll keycode 47 = Meta_Control_v + shift control alt ctrll keycode 47 = Meta_Control_v + altgr control alt ctrll keycode 47 = Meta_Control_v + shift altgr control alt ctrll keycode 47 = Meta_Control_v + shiftl ctrll keycode 47 = +V + altgr shiftl ctrll keycode 47 = U+201c + shift altgr shiftl ctrll keycode 47 = U+2018 + control shiftl ctrll keycode 47 = Control_v + shift control shiftl ctrll keycode 47 = Control_v + altgr control shiftl ctrll keycode 47 = Control_v + shift altgr control shiftl ctrll keycode 47 = Control_v + alt shiftl ctrll keycode 47 = Meta_v + shift alt shiftl ctrll keycode 47 = Meta_V + altgr alt shiftl ctrll keycode 47 = Meta_v + shift altgr alt shiftl ctrll keycode 47 = Meta_V + control alt shiftl ctrll keycode 47 = Meta_Control_v + shift control alt shiftl ctrll keycode 47 = Meta_Control_v + altgr control alt shiftl ctrll keycode 47 = Meta_Control_v + shift altgr control alt shiftl ctrll keycode 47 = Meta_Control_v + shiftr ctrll keycode 47 = +V + altgr shiftr ctrll keycode 47 = U+201c + shift altgr shiftr ctrll keycode 47 = U+2018 + control shiftr ctrll keycode 47 = Control_v + shift control shiftr ctrll keycode 47 = Control_v + altgr control shiftr ctrll keycode 47 = Control_v + shift altgr control shiftr ctrll keycode 47 = Control_v + alt shiftr ctrll keycode 47 = Meta_v + shift alt shiftr ctrll keycode 47 = Meta_V + altgr alt shiftr ctrll keycode 47 = Meta_v + shift altgr alt shiftr ctrll keycode 47 = Meta_V + control alt shiftr ctrll keycode 47 = Meta_Control_v + shift control alt shiftr ctrll keycode 47 = Meta_Control_v + altgr control alt shiftr ctrll keycode 47 = Meta_Control_v + shift altgr control alt shiftr ctrll keycode 47 = Meta_Control_v + shiftl shiftr ctrll keycode 47 = +V + altgr shiftl shiftr ctrll keycode 47 = U+201c + shift altgr shiftl shiftr ctrll keycode 47 = U+2018 + control shiftl shiftr ctrll keycode 47 = Control_v + shift control shiftl shiftr ctrll keycode 47 = Control_v + altgr control shiftl shiftr ctrll keycode 47 = Control_v + shift altgr control shiftl shiftr ctrll keycode 47 = Control_v + alt shiftl shiftr ctrll keycode 47 = Meta_v + shift alt shiftl shiftr ctrll keycode 47 = Meta_V + altgr alt shiftl shiftr ctrll keycode 47 = Meta_v + shift altgr alt shiftl shiftr ctrll keycode 47 = Meta_V + control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v + shift control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v + altgr control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v + shift altgr control alt shiftl shiftr ctrll keycode 47 = Meta_Control_v +keycode 48 = +b + shift keycode 48 = +B + altgr keycode 48 = U+201d + shift altgr keycode 48 = U+2019 + control keycode 48 = Control_b + shift control keycode 48 = Control_b + altgr control keycode 48 = Control_b + shift altgr control keycode 48 = Control_b + alt keycode 48 = Meta_b + shift alt keycode 48 = Meta_B + altgr alt keycode 48 = Meta_b + shift altgr alt keycode 48 = Meta_B + control alt keycode 48 = Meta_Control_b + shift control alt keycode 48 = Meta_Control_b + altgr control alt keycode 48 = Meta_Control_b + shift altgr control alt keycode 48 = Meta_Control_b + shift shiftl keycode 48 = +B + altgr shiftl keycode 48 = U+201d + shift altgr shiftl keycode 48 = U+2019 + control shiftl keycode 48 = Control_b + shift control shiftl keycode 48 = Control_b + altgr control shiftl keycode 48 = Control_b + shift altgr control shiftl keycode 48 = Control_b + alt shiftl keycode 48 = Meta_b + shift alt shiftl keycode 48 = Meta_B + altgr alt shiftl keycode 48 = Meta_b + shift altgr alt shiftl keycode 48 = Meta_B + control alt shiftl keycode 48 = Meta_Control_b + shift control alt shiftl keycode 48 = Meta_Control_b + altgr control alt shiftl keycode 48 = Meta_Control_b + shift altgr control alt shiftl keycode 48 = Meta_Control_b + shift shiftr keycode 48 = +B + altgr shiftr keycode 48 = U+201d + shift altgr shiftr keycode 48 = U+2019 + control shiftr keycode 48 = Control_b + shift control shiftr keycode 48 = Control_b + altgr control shiftr keycode 48 = Control_b + shift altgr control shiftr keycode 48 = Control_b + alt shiftr keycode 48 = Meta_b + shift alt shiftr keycode 48 = Meta_B + altgr alt shiftr keycode 48 = Meta_b + shift altgr alt shiftr keycode 48 = Meta_B + control alt shiftr keycode 48 = Meta_Control_b + shift control alt shiftr keycode 48 = Meta_Control_b + altgr control alt shiftr keycode 48 = Meta_Control_b + shift altgr control alt shiftr keycode 48 = Meta_Control_b + shift shiftl shiftr keycode 48 = +B + altgr shiftl shiftr keycode 48 = U+201d + shift altgr shiftl shiftr keycode 48 = U+2019 + control shiftl shiftr keycode 48 = Control_b + shift control shiftl shiftr keycode 48 = Control_b + altgr control shiftl shiftr keycode 48 = Control_b + shift altgr control shiftl shiftr keycode 48 = Control_b + alt shiftl shiftr keycode 48 = Meta_b + shift alt shiftl shiftr keycode 48 = Meta_B + altgr alt shiftl shiftr keycode 48 = Meta_b + shift altgr alt shiftl shiftr keycode 48 = Meta_B + control alt shiftl shiftr keycode 48 = Meta_Control_b + shift control alt shiftl shiftr keycode 48 = Meta_Control_b + altgr control alt shiftl shiftr keycode 48 = Meta_Control_b + shift altgr control alt shiftl shiftr keycode 48 = Meta_Control_b + ctrll keycode 48 = +B + altgr ctrll keycode 48 = U+201d + shift altgr ctrll keycode 48 = U+2019 + control ctrll keycode 48 = Control_b + shift control ctrll keycode 48 = Control_b + altgr control ctrll keycode 48 = Control_b + shift altgr control ctrll keycode 48 = Control_b + alt ctrll keycode 48 = Meta_b + shift alt ctrll keycode 48 = Meta_B + altgr alt ctrll keycode 48 = Meta_b + shift altgr alt ctrll keycode 48 = Meta_B + control alt ctrll keycode 48 = Meta_Control_b + shift control alt ctrll keycode 48 = Meta_Control_b + altgr control alt ctrll keycode 48 = Meta_Control_b + shift altgr control alt ctrll keycode 48 = Meta_Control_b + shiftl ctrll keycode 48 = +B + altgr shiftl ctrll keycode 48 = U+201d + shift altgr shiftl ctrll keycode 48 = U+2019 + control shiftl ctrll keycode 48 = Control_b + shift control shiftl ctrll keycode 48 = Control_b + altgr control shiftl ctrll keycode 48 = Control_b + shift altgr control shiftl ctrll keycode 48 = Control_b + alt shiftl ctrll keycode 48 = Meta_b + shift alt shiftl ctrll keycode 48 = Meta_B + altgr alt shiftl ctrll keycode 48 = Meta_b + shift altgr alt shiftl ctrll keycode 48 = Meta_B + control alt shiftl ctrll keycode 48 = Meta_Control_b + shift control alt shiftl ctrll keycode 48 = Meta_Control_b + altgr control alt shiftl ctrll keycode 48 = Meta_Control_b + shift altgr control alt shiftl ctrll keycode 48 = Meta_Control_b + shiftr ctrll keycode 48 = +B + altgr shiftr ctrll keycode 48 = U+201d + shift altgr shiftr ctrll keycode 48 = U+2019 + control shiftr ctrll keycode 48 = Control_b + shift control shiftr ctrll keycode 48 = Control_b + altgr control shiftr ctrll keycode 48 = Control_b + shift altgr control shiftr ctrll keycode 48 = Control_b + alt shiftr ctrll keycode 48 = Meta_b + shift alt shiftr ctrll keycode 48 = Meta_B + altgr alt shiftr ctrll keycode 48 = Meta_b + shift altgr alt shiftr ctrll keycode 48 = Meta_B + control alt shiftr ctrll keycode 48 = Meta_Control_b + shift control alt shiftr ctrll keycode 48 = Meta_Control_b + altgr control alt shiftr ctrll keycode 48 = Meta_Control_b + shift altgr control alt shiftr ctrll keycode 48 = Meta_Control_b + shiftl shiftr ctrll keycode 48 = +B + altgr shiftl shiftr ctrll keycode 48 = U+201d + shift altgr shiftl shiftr ctrll keycode 48 = U+2019 + control shiftl shiftr ctrll keycode 48 = Control_b + shift control shiftl shiftr ctrll keycode 48 = Control_b + altgr control shiftl shiftr ctrll keycode 48 = Control_b + shift altgr control shiftl shiftr ctrll keycode 48 = Control_b + alt shiftl shiftr ctrll keycode 48 = Meta_b + shift alt shiftl shiftr ctrll keycode 48 = Meta_B + altgr alt shiftl shiftr ctrll keycode 48 = Meta_b + shift altgr alt shiftl shiftr ctrll keycode 48 = Meta_B + control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b + shift control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b + altgr control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b + shift altgr control alt shiftl shiftr ctrll keycode 48 = Meta_Control_b +keycode 49 = +n + shift keycode 49 = +N + shift altgr keycode 49 = +N + control keycode 49 = Control_n + shift control keycode 49 = Control_n + altgr control keycode 49 = Control_n + shift altgr control keycode 49 = Control_n + alt keycode 49 = Meta_n + shift alt keycode 49 = Meta_N + altgr alt keycode 49 = Meta_n + shift altgr alt keycode 49 = Meta_N + control alt keycode 49 = Meta_Control_n + shift control alt keycode 49 = Meta_Control_n + altgr control alt keycode 49 = Meta_Control_n + shift altgr control alt keycode 49 = Meta_Control_n + shift shiftl keycode 49 = +N + shift altgr shiftl keycode 49 = +N + control shiftl keycode 49 = Control_n + shift control shiftl keycode 49 = Control_n + altgr control shiftl keycode 49 = Control_n + shift altgr control shiftl keycode 49 = Control_n + alt shiftl keycode 49 = Meta_n + shift alt shiftl keycode 49 = Meta_N + altgr alt shiftl keycode 49 = Meta_n + shift altgr alt shiftl keycode 49 = Meta_N + control alt shiftl keycode 49 = Meta_Control_n + shift control alt shiftl keycode 49 = Meta_Control_n + altgr control alt shiftl keycode 49 = Meta_Control_n + shift altgr control alt shiftl keycode 49 = Meta_Control_n + shift shiftr keycode 49 = +N + shift altgr shiftr keycode 49 = +N + control shiftr keycode 49 = Control_n + shift control shiftr keycode 49 = Control_n + altgr control shiftr keycode 49 = Control_n + shift altgr control shiftr keycode 49 = Control_n + alt shiftr keycode 49 = Meta_n + shift alt shiftr keycode 49 = Meta_N + altgr alt shiftr keycode 49 = Meta_n + shift altgr alt shiftr keycode 49 = Meta_N + control alt shiftr keycode 49 = Meta_Control_n + shift control alt shiftr keycode 49 = Meta_Control_n + altgr control alt shiftr keycode 49 = Meta_Control_n + shift altgr control alt shiftr keycode 49 = Meta_Control_n + shift shiftl shiftr keycode 49 = +N + shift altgr shiftl shiftr keycode 49 = +N + control shiftl shiftr keycode 49 = Control_n + shift control shiftl shiftr keycode 49 = Control_n + altgr control shiftl shiftr keycode 49 = Control_n + shift altgr control shiftl shiftr keycode 49 = Control_n + alt shiftl shiftr keycode 49 = Meta_n + shift alt shiftl shiftr keycode 49 = Meta_N + altgr alt shiftl shiftr keycode 49 = Meta_n + shift altgr alt shiftl shiftr keycode 49 = Meta_N + control alt shiftl shiftr keycode 49 = Meta_Control_n + shift control alt shiftl shiftr keycode 49 = Meta_Control_n + altgr control alt shiftl shiftr keycode 49 = Meta_Control_n + shift altgr control alt shiftl shiftr keycode 49 = Meta_Control_n + ctrll keycode 49 = +N + altgr ctrll keycode 49 = +N + control ctrll keycode 49 = Control_n + shift control ctrll keycode 49 = Control_n + altgr control ctrll keycode 49 = Control_n + shift altgr control ctrll keycode 49 = Control_n + alt ctrll keycode 49 = Meta_n + shift alt ctrll keycode 49 = Meta_N + altgr alt ctrll keycode 49 = Meta_n + shift altgr alt ctrll keycode 49 = Meta_N + control alt ctrll keycode 49 = Meta_Control_n + shift control alt ctrll keycode 49 = Meta_Control_n + altgr control alt ctrll keycode 49 = Meta_Control_n + shift altgr control alt ctrll keycode 49 = Meta_Control_n + shiftl ctrll keycode 49 = +N + altgr shiftl ctrll keycode 49 = +N + control shiftl ctrll keycode 49 = Control_n + shift control shiftl ctrll keycode 49 = Control_n + altgr control shiftl ctrll keycode 49 = Control_n + shift altgr control shiftl ctrll keycode 49 = Control_n + alt shiftl ctrll keycode 49 = Meta_n + shift alt shiftl ctrll keycode 49 = Meta_N + altgr alt shiftl ctrll keycode 49 = Meta_n + shift altgr alt shiftl ctrll keycode 49 = Meta_N + control alt shiftl ctrll keycode 49 = Meta_Control_n + shift control alt shiftl ctrll keycode 49 = Meta_Control_n + altgr control alt shiftl ctrll keycode 49 = Meta_Control_n + shift altgr control alt shiftl ctrll keycode 49 = Meta_Control_n + shiftr ctrll keycode 49 = +N + altgr shiftr ctrll keycode 49 = +N + control shiftr ctrll keycode 49 = Control_n + shift control shiftr ctrll keycode 49 = Control_n + altgr control shiftr ctrll keycode 49 = Control_n + shift altgr control shiftr ctrll keycode 49 = Control_n + alt shiftr ctrll keycode 49 = Meta_n + shift alt shiftr ctrll keycode 49 = Meta_N + altgr alt shiftr ctrll keycode 49 = Meta_n + shift altgr alt shiftr ctrll keycode 49 = Meta_N + control alt shiftr ctrll keycode 49 = Meta_Control_n + shift control alt shiftr ctrll keycode 49 = Meta_Control_n + altgr control alt shiftr ctrll keycode 49 = Meta_Control_n + shift altgr control alt shiftr ctrll keycode 49 = Meta_Control_n + shiftl shiftr ctrll keycode 49 = +N + altgr shiftl shiftr ctrll keycode 49 = +N + control shiftl shiftr ctrll keycode 49 = Control_n + shift control shiftl shiftr ctrll keycode 49 = Control_n + altgr control shiftl shiftr ctrll keycode 49 = Control_n + shift altgr control shiftl shiftr ctrll keycode 49 = Control_n + alt shiftl shiftr ctrll keycode 49 = Meta_n + shift alt shiftl shiftr ctrll keycode 49 = Meta_N + altgr alt shiftl shiftr ctrll keycode 49 = Meta_n + shift altgr alt shiftl shiftr ctrll keycode 49 = Meta_N + control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n + shift control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n + altgr control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n + shift altgr control alt shiftl shiftr ctrll keycode 49 = Meta_Control_n +keycode 50 = +m + shift keycode 50 = +M + altgr keycode 50 = +mu + shift altgr keycode 50 = +mu + control keycode 50 = Control_m + shift control keycode 50 = Control_m + altgr control keycode 50 = Control_m + shift altgr control keycode 50 = Control_m + alt keycode 50 = Meta_m + shift alt keycode 50 = Meta_M + altgr alt keycode 50 = Meta_m + shift altgr alt keycode 50 = Meta_M + control alt keycode 50 = Meta_Control_m + shift control alt keycode 50 = Meta_Control_m + altgr control alt keycode 50 = Meta_Control_m + shift altgr control alt keycode 50 = Meta_Control_m + shift shiftl keycode 50 = +M + altgr shiftl keycode 50 = +mu + shift altgr shiftl keycode 50 = +mu + control shiftl keycode 50 = Control_m + shift control shiftl keycode 50 = Control_m + altgr control shiftl keycode 50 = Control_m + shift altgr control shiftl keycode 50 = Control_m + alt shiftl keycode 50 = Meta_m + shift alt shiftl keycode 50 = Meta_M + altgr alt shiftl keycode 50 = Meta_m + shift altgr alt shiftl keycode 50 = Meta_M + control alt shiftl keycode 50 = Meta_Control_m + shift control alt shiftl keycode 50 = Meta_Control_m + altgr control alt shiftl keycode 50 = Meta_Control_m + shift altgr control alt shiftl keycode 50 = Meta_Control_m + shift shiftr keycode 50 = +M + altgr shiftr keycode 50 = +mu + shift altgr shiftr keycode 50 = +mu + control shiftr keycode 50 = Control_m + shift control shiftr keycode 50 = Control_m + altgr control shiftr keycode 50 = Control_m + shift altgr control shiftr keycode 50 = Control_m + alt shiftr keycode 50 = Meta_m + shift alt shiftr keycode 50 = Meta_M + altgr alt shiftr keycode 50 = Meta_m + shift altgr alt shiftr keycode 50 = Meta_M + control alt shiftr keycode 50 = Meta_Control_m + shift control alt shiftr keycode 50 = Meta_Control_m + altgr control alt shiftr keycode 50 = Meta_Control_m + shift altgr control alt shiftr keycode 50 = Meta_Control_m + shift shiftl shiftr keycode 50 = +M + altgr shiftl shiftr keycode 50 = +mu + shift altgr shiftl shiftr keycode 50 = +mu + control shiftl shiftr keycode 50 = Control_m + shift control shiftl shiftr keycode 50 = Control_m + altgr control shiftl shiftr keycode 50 = Control_m + shift altgr control shiftl shiftr keycode 50 = Control_m + alt shiftl shiftr keycode 50 = Meta_m + shift alt shiftl shiftr keycode 50 = Meta_M + altgr alt shiftl shiftr keycode 50 = Meta_m + shift altgr alt shiftl shiftr keycode 50 = Meta_M + control alt shiftl shiftr keycode 50 = Meta_Control_m + shift control alt shiftl shiftr keycode 50 = Meta_Control_m + altgr control alt shiftl shiftr keycode 50 = Meta_Control_m + shift altgr control alt shiftl shiftr keycode 50 = Meta_Control_m + ctrll keycode 50 = +M + altgr ctrll keycode 50 = Mu + shift altgr ctrll keycode 50 = Mu + control ctrll keycode 50 = Control_m + shift control ctrll keycode 50 = Control_m + altgr control ctrll keycode 50 = Control_m + shift altgr control ctrll keycode 50 = Control_m + alt ctrll keycode 50 = Meta_m + shift alt ctrll keycode 50 = Meta_M + altgr alt ctrll keycode 50 = Meta_m + shift altgr alt ctrll keycode 50 = Meta_M + control alt ctrll keycode 50 = Meta_Control_m + shift control alt ctrll keycode 50 = Meta_Control_m + altgr control alt ctrll keycode 50 = Meta_Control_m + shift altgr control alt ctrll keycode 50 = Meta_Control_m + shiftl ctrll keycode 50 = +M + altgr shiftl ctrll keycode 50 = Mu + shift altgr shiftl ctrll keycode 50 = Mu + control shiftl ctrll keycode 50 = Control_m + shift control shiftl ctrll keycode 50 = Control_m + altgr control shiftl ctrll keycode 50 = Control_m + shift altgr control shiftl ctrll keycode 50 = Control_m + alt shiftl ctrll keycode 50 = Meta_m + shift alt shiftl ctrll keycode 50 = Meta_M + altgr alt shiftl ctrll keycode 50 = Meta_m + shift altgr alt shiftl ctrll keycode 50 = Meta_M + control alt shiftl ctrll keycode 50 = Meta_Control_m + shift control alt shiftl ctrll keycode 50 = Meta_Control_m + altgr control alt shiftl ctrll keycode 50 = Meta_Control_m + shift altgr control alt shiftl ctrll keycode 50 = Meta_Control_m + shiftr ctrll keycode 50 = +M + altgr shiftr ctrll keycode 50 = Mu + shift altgr shiftr ctrll keycode 50 = Mu + control shiftr ctrll keycode 50 = Control_m + shift control shiftr ctrll keycode 50 = Control_m + altgr control shiftr ctrll keycode 50 = Control_m + shift altgr control shiftr ctrll keycode 50 = Control_m + alt shiftr ctrll keycode 50 = Meta_m + shift alt shiftr ctrll keycode 50 = Meta_M + altgr alt shiftr ctrll keycode 50 = Meta_m + shift altgr alt shiftr ctrll keycode 50 = Meta_M + control alt shiftr ctrll keycode 50 = Meta_Control_m + shift control alt shiftr ctrll keycode 50 = Meta_Control_m + altgr control alt shiftr ctrll keycode 50 = Meta_Control_m + shift altgr control alt shiftr ctrll keycode 50 = Meta_Control_m + shiftl shiftr ctrll keycode 50 = +M + altgr shiftl shiftr ctrll keycode 50 = Mu + shift altgr shiftl shiftr ctrll keycode 50 = Mu + control shiftl shiftr ctrll keycode 50 = Control_m + shift control shiftl shiftr ctrll keycode 50 = Control_m + altgr control shiftl shiftr ctrll keycode 50 = Control_m + shift altgr control shiftl shiftr ctrll keycode 50 = Control_m + alt shiftl shiftr ctrll keycode 50 = Meta_m + shift alt shiftl shiftr ctrll keycode 50 = Meta_M + altgr alt shiftl shiftr ctrll keycode 50 = Meta_m + shift altgr alt shiftl shiftr ctrll keycode 50 = Meta_M + control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m + shift control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m + altgr control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m + shift altgr control alt shiftl shiftr ctrll keycode 50 = Meta_Control_m +keycode 51 = comma less U+2500 multiply + alt keycode 51 = Meta_comma + shift alt keycode 51 = Meta_less + altgr alt keycode 51 = Meta_comma + shift altgr alt keycode 51 = Meta_less + shiftl keycode 51 = comma + shift shiftl keycode 51 = less + altgr shiftl keycode 51 = U+2500 + shift altgr shiftl keycode 51 = multiply + alt shiftl keycode 51 = Meta_comma + shift alt shiftl keycode 51 = Meta_less + altgr alt shiftl keycode 51 = Meta_comma + shift altgr alt shiftl keycode 51 = Meta_less + shiftr keycode 51 = comma + shift shiftr keycode 51 = less + altgr shiftr keycode 51 = U+2500 + shift altgr shiftr keycode 51 = multiply + alt shiftr keycode 51 = Meta_comma + shift alt shiftr keycode 51 = Meta_less + altgr alt shiftr keycode 51 = Meta_comma + shift altgr alt shiftr keycode 51 = Meta_less + shiftl shiftr keycode 51 = comma + shift shiftl shiftr keycode 51 = less + altgr shiftl shiftr keycode 51 = U+2500 + shift altgr shiftl shiftr keycode 51 = multiply + alt shiftl shiftr keycode 51 = Meta_comma + shift alt shiftl shiftr keycode 51 = Meta_less + altgr alt shiftl shiftr keycode 51 = Meta_comma + shift altgr alt shiftl shiftr keycode 51 = Meta_less + ctrll keycode 51 = comma + shift ctrll keycode 51 = less + altgr ctrll keycode 51 = U+2500 + shift altgr ctrll keycode 51 = multiply + alt ctrll keycode 51 = Meta_comma + shift alt ctrll keycode 51 = Meta_less + altgr alt ctrll keycode 51 = Meta_comma + shift altgr alt ctrll keycode 51 = Meta_less + shiftl ctrll keycode 51 = comma + shift shiftl ctrll keycode 51 = less + altgr shiftl ctrll keycode 51 = U+2500 + shift altgr shiftl ctrll keycode 51 = multiply + alt shiftl ctrll keycode 51 = Meta_comma + shift alt shiftl ctrll keycode 51 = Meta_less + altgr alt shiftl ctrll keycode 51 = Meta_comma + shift altgr alt shiftl ctrll keycode 51 = Meta_less + shiftr ctrll keycode 51 = comma + shift shiftr ctrll keycode 51 = less + altgr shiftr ctrll keycode 51 = U+2500 + shift altgr shiftr ctrll keycode 51 = multiply + alt shiftr ctrll keycode 51 = Meta_comma + shift alt shiftr ctrll keycode 51 = Meta_less + altgr alt shiftr ctrll keycode 51 = Meta_comma + shift altgr alt shiftr ctrll keycode 51 = Meta_less + shiftl shiftr ctrll keycode 51 = comma + shift shiftl shiftr ctrll keycode 51 = less + altgr shiftl shiftr ctrll keycode 51 = U+2500 + shift altgr shiftl shiftr ctrll keycode 51 = multiply + alt shiftl shiftr ctrll keycode 51 = Meta_comma + shift alt shiftl shiftr ctrll keycode 51 = Meta_less + altgr alt shiftl shiftr ctrll keycode 51 = Meta_comma + shift altgr alt shiftl shiftr ctrll keycode 51 = Meta_less +keycode 52 = period + shift keycode 52 = greater + altgr keycode 52 = periodcentered + shift altgr keycode 52 = division + control keycode 52 = Compose + shift control keycode 52 = Compose + altgr control keycode 52 = Compose + shift altgr control keycode 52 = Compose + alt keycode 52 = Meta_period + shift alt keycode 52 = Meta_greater + altgr alt keycode 52 = Meta_period + shift altgr alt keycode 52 = Meta_greater + control alt keycode 52 = Compose + shift control alt keycode 52 = Compose + altgr control alt keycode 52 = Compose + shift altgr control alt keycode 52 = Compose + shift shiftl keycode 52 = greater + altgr shiftl keycode 52 = periodcentered + shift altgr shiftl keycode 52 = division + control shiftl keycode 52 = Compose + shift control shiftl keycode 52 = Compose + altgr control shiftl keycode 52 = Compose + shift altgr control shiftl keycode 52 = Compose + alt shiftl keycode 52 = Meta_period + shift alt shiftl keycode 52 = Meta_greater + altgr alt shiftl keycode 52 = Meta_period + shift altgr alt shiftl keycode 52 = Meta_greater + control alt shiftl keycode 52 = Compose + shift control alt shiftl keycode 52 = Compose + altgr control alt shiftl keycode 52 = Compose + shift altgr control alt shiftl keycode 52 = Compose + shift shiftr keycode 52 = greater + altgr shiftr keycode 52 = periodcentered + shift altgr shiftr keycode 52 = division + control shiftr keycode 52 = Compose + shift control shiftr keycode 52 = Compose + altgr control shiftr keycode 52 = Compose + shift altgr control shiftr keycode 52 = Compose + alt shiftr keycode 52 = Meta_period + shift alt shiftr keycode 52 = Meta_greater + altgr alt shiftr keycode 52 = Meta_period + shift altgr alt shiftr keycode 52 = Meta_greater + control alt shiftr keycode 52 = Compose + shift control alt shiftr keycode 52 = Compose + altgr control alt shiftr keycode 52 = Compose + shift altgr control alt shiftr keycode 52 = Compose + shift shiftl shiftr keycode 52 = greater + altgr shiftl shiftr keycode 52 = periodcentered + shift altgr shiftl shiftr keycode 52 = division + control shiftl shiftr keycode 52 = Compose + shift control shiftl shiftr keycode 52 = Compose + altgr control shiftl shiftr keycode 52 = Compose + shift altgr control shiftl shiftr keycode 52 = Compose + alt shiftl shiftr keycode 52 = Meta_period + shift alt shiftl shiftr keycode 52 = Meta_greater + altgr alt shiftl shiftr keycode 52 = Meta_period + shift altgr alt shiftl shiftr keycode 52 = Meta_greater + control alt shiftl shiftr keycode 52 = Compose + shift control alt shiftl shiftr keycode 52 = Compose + altgr control alt shiftl shiftr keycode 52 = Compose + shift altgr control alt shiftl shiftr keycode 52 = Compose + shift ctrll keycode 52 = greater + altgr ctrll keycode 52 = periodcentered + shift altgr ctrll keycode 52 = division + control ctrll keycode 52 = Compose + shift control ctrll keycode 52 = Compose + altgr control ctrll keycode 52 = Compose + shift altgr control ctrll keycode 52 = Compose + alt ctrll keycode 52 = Meta_period + shift alt ctrll keycode 52 = Meta_greater + altgr alt ctrll keycode 52 = Meta_period + shift altgr alt ctrll keycode 52 = Meta_greater + control alt ctrll keycode 52 = Compose + shift control alt ctrll keycode 52 = Compose + altgr control alt ctrll keycode 52 = Compose + shift altgr control alt ctrll keycode 52 = Compose + shift shiftl ctrll keycode 52 = greater + altgr shiftl ctrll keycode 52 = periodcentered + shift altgr shiftl ctrll keycode 52 = division + control shiftl ctrll keycode 52 = Compose + shift control shiftl ctrll keycode 52 = Compose + altgr control shiftl ctrll keycode 52 = Compose + shift altgr control shiftl ctrll keycode 52 = Compose + alt shiftl ctrll keycode 52 = Meta_period + shift alt shiftl ctrll keycode 52 = Meta_greater + altgr alt shiftl ctrll keycode 52 = Meta_period + shift altgr alt shiftl ctrll keycode 52 = Meta_greater + control alt shiftl ctrll keycode 52 = Compose + shift control alt shiftl ctrll keycode 52 = Compose + altgr control alt shiftl ctrll keycode 52 = Compose + shift altgr control alt shiftl ctrll keycode 52 = Compose + shift shiftr ctrll keycode 52 = greater + altgr shiftr ctrll keycode 52 = periodcentered + shift altgr shiftr ctrll keycode 52 = division + control shiftr ctrll keycode 52 = Compose + shift control shiftr ctrll keycode 52 = Compose + altgr control shiftr ctrll keycode 52 = Compose + shift altgr control shiftr ctrll keycode 52 = Compose + alt shiftr ctrll keycode 52 = Meta_period + shift alt shiftr ctrll keycode 52 = Meta_greater + altgr alt shiftr ctrll keycode 52 = Meta_period + shift altgr alt shiftr ctrll keycode 52 = Meta_greater + control alt shiftr ctrll keycode 52 = Compose + shift control alt shiftr ctrll keycode 52 = Compose + altgr control alt shiftr ctrll keycode 52 = Compose + shift altgr control alt shiftr ctrll keycode 52 = Compose + shift shiftl shiftr ctrll keycode 52 = greater + altgr shiftl shiftr ctrll keycode 52 = periodcentered + shift altgr shiftl shiftr ctrll keycode 52 = division + control shiftl shiftr ctrll keycode 52 = Compose + shift control shiftl shiftr ctrll keycode 52 = Compose + altgr control shiftl shiftr ctrll keycode 52 = Compose + shift altgr control shiftl shiftr ctrll keycode 52 = Compose + alt shiftl shiftr ctrll keycode 52 = Meta_period + shift alt shiftl shiftr ctrll keycode 52 = Meta_greater + altgr alt shiftl shiftr ctrll keycode 52 = Meta_period + shift altgr alt shiftl shiftr ctrll keycode 52 = Meta_greater + control alt shiftl shiftr ctrll keycode 52 = Compose + shift control alt shiftl shiftr ctrll keycode 52 = Compose + altgr control alt shiftl shiftr ctrll keycode 52 = Compose + shift altgr control alt shiftl shiftr ctrll keycode 52 = Compose +keycode 53 = semicolon + shift keycode 53 = colon + altgr keycode 53 = U+0323 + shift altgr keycode 53 = period + control keycode 53 = Compose + shift control keycode 53 = Compose + altgr control keycode 53 = Compose + shift altgr control keycode 53 = Compose + alt keycode 53 = Meta_semicolon + shift alt keycode 53 = Meta_colon + altgr alt keycode 53 = Meta_semicolon + shift altgr alt keycode 53 = Meta_period + control alt keycode 53 = Compose + shift control alt keycode 53 = Compose + altgr control alt keycode 53 = Compose + shift altgr control alt keycode 53 = Compose + shift shiftl keycode 53 = colon + altgr shiftl keycode 53 = U+0323 + shift altgr shiftl keycode 53 = period + control shiftl keycode 53 = Compose + shift control shiftl keycode 53 = Compose + altgr control shiftl keycode 53 = Compose + shift altgr control shiftl keycode 53 = Compose + alt shiftl keycode 53 = Meta_semicolon + shift alt shiftl keycode 53 = Meta_colon + altgr alt shiftl keycode 53 = Meta_semicolon + shift altgr alt shiftl keycode 53 = Meta_period + control alt shiftl keycode 53 = Compose + shift control alt shiftl keycode 53 = Compose + altgr control alt shiftl keycode 53 = Compose + shift altgr control alt shiftl keycode 53 = Compose + shift shiftr keycode 53 = colon + altgr shiftr keycode 53 = U+0323 + shift altgr shiftr keycode 53 = period + control shiftr keycode 53 = Compose + shift control shiftr keycode 53 = Compose + altgr control shiftr keycode 53 = Compose + shift altgr control shiftr keycode 53 = Compose + alt shiftr keycode 53 = Meta_semicolon + shift alt shiftr keycode 53 = Meta_colon + altgr alt shiftr keycode 53 = Meta_semicolon + shift altgr alt shiftr keycode 53 = Meta_period + control alt shiftr keycode 53 = Compose + shift control alt shiftr keycode 53 = Compose + altgr control alt shiftr keycode 53 = Compose + shift altgr control alt shiftr keycode 53 = Compose + shift shiftl shiftr keycode 53 = colon + altgr shiftl shiftr keycode 53 = U+0323 + shift altgr shiftl shiftr keycode 53 = period + control shiftl shiftr keycode 53 = Compose + shift control shiftl shiftr keycode 53 = Compose + altgr control shiftl shiftr keycode 53 = Compose + shift altgr control shiftl shiftr keycode 53 = Compose + alt shiftl shiftr keycode 53 = Meta_semicolon + shift alt shiftl shiftr keycode 53 = Meta_colon + altgr alt shiftl shiftr keycode 53 = Meta_semicolon + shift altgr alt shiftl shiftr keycode 53 = Meta_period + control alt shiftl shiftr keycode 53 = Compose + shift control alt shiftl shiftr keycode 53 = Compose + altgr control alt shiftl shiftr keycode 53 = Compose + shift altgr control alt shiftl shiftr keycode 53 = Compose + shift ctrll keycode 53 = colon + altgr ctrll keycode 53 = U+0323 + shift altgr ctrll keycode 53 = period + control ctrll keycode 53 = Compose + shift control ctrll keycode 53 = Compose + altgr control ctrll keycode 53 = Compose + shift altgr control ctrll keycode 53 = Compose + alt ctrll keycode 53 = Meta_semicolon + shift alt ctrll keycode 53 = Meta_colon + altgr alt ctrll keycode 53 = Meta_semicolon + shift altgr alt ctrll keycode 53 = Meta_period + control alt ctrll keycode 53 = Compose + shift control alt ctrll keycode 53 = Compose + altgr control alt ctrll keycode 53 = Compose + shift altgr control alt ctrll keycode 53 = Compose + shift shiftl ctrll keycode 53 = colon + altgr shiftl ctrll keycode 53 = U+0323 + shift altgr shiftl ctrll keycode 53 = period + control shiftl ctrll keycode 53 = Compose + shift control shiftl ctrll keycode 53 = Compose + altgr control shiftl ctrll keycode 53 = Compose + shift altgr control shiftl ctrll keycode 53 = Compose + alt shiftl ctrll keycode 53 = Meta_semicolon + shift alt shiftl ctrll keycode 53 = Meta_colon + altgr alt shiftl ctrll keycode 53 = Meta_semicolon + shift altgr alt shiftl ctrll keycode 53 = Meta_period + control alt shiftl ctrll keycode 53 = Compose + shift control alt shiftl ctrll keycode 53 = Compose + altgr control alt shiftl ctrll keycode 53 = Compose + shift altgr control alt shiftl ctrll keycode 53 = Compose + shift shiftr ctrll keycode 53 = colon + altgr shiftr ctrll keycode 53 = U+0323 + shift altgr shiftr ctrll keycode 53 = period + control shiftr ctrll keycode 53 = Compose + shift control shiftr ctrll keycode 53 = Compose + altgr control shiftr ctrll keycode 53 = Compose + shift altgr control shiftr ctrll keycode 53 = Compose + alt shiftr ctrll keycode 53 = Meta_semicolon + shift alt shiftr ctrll keycode 53 = Meta_colon + altgr alt shiftr ctrll keycode 53 = Meta_semicolon + shift altgr alt shiftr ctrll keycode 53 = Meta_period + control alt shiftr ctrll keycode 53 = Compose + shift control alt shiftr ctrll keycode 53 = Compose + altgr control alt shiftr ctrll keycode 53 = Compose + shift altgr control alt shiftr ctrll keycode 53 = Compose + shift shiftl shiftr ctrll keycode 53 = colon + altgr shiftl shiftr ctrll keycode 53 = U+0323 + shift altgr shiftl shiftr ctrll keycode 53 = period + control shiftl shiftr ctrll keycode 53 = Compose + shift control shiftl shiftr ctrll keycode 53 = Compose + altgr control shiftl shiftr ctrll keycode 53 = Compose + shift altgr control shiftl shiftr ctrll keycode 53 = Compose + alt shiftl shiftr ctrll keycode 53 = Meta_semicolon + shift alt shiftl shiftr ctrll keycode 53 = Meta_colon + altgr alt shiftl shiftr ctrll keycode 53 = Meta_semicolon + shift altgr alt shiftl shiftr ctrll keycode 53 = Meta_period + control alt shiftl shiftr ctrll keycode 53 = Compose + shift control alt shiftl shiftr ctrll keycode 53 = Compose + altgr control alt shiftl shiftr ctrll keycode 53 = Compose + shift altgr control alt shiftl shiftr ctrll keycode 53 = Compose +keycode 54 = Shift +keycode 55 = KP_Multiply + altgr keycode 55 = Hex_C + shift alt keycode 55 = Hex_C + altgr shiftl keycode 55 = Hex_C + shift alt shiftl keycode 55 = Hex_C + altgr shiftr keycode 55 = Hex_C + shift alt shiftr keycode 55 = Hex_C + altgr shiftl shiftr keycode 55 = Hex_C + shift alt shiftl shiftr keycode 55 = Hex_C + altgr ctrll keycode 55 = Hex_C + shift alt ctrll keycode 55 = Hex_C + altgr shiftl ctrll keycode 55 = Hex_C + shift alt shiftl ctrll keycode 55 = Hex_C + altgr shiftr ctrll keycode 55 = Hex_C + shift alt shiftr ctrll keycode 55 = Hex_C + altgr shiftl shiftr ctrll keycode 55 = Hex_C + shift alt shiftl shiftr ctrll keycode 55 = Hex_C +keycode 56 = Alt +keycode 57 = space + control keycode 57 = nul + shift control keycode 57 = nul + altgr control keycode 57 = nul + shift altgr control keycode 57 = nul + alt keycode 57 = Meta_space + shift alt keycode 57 = Meta_space + altgr alt keycode 57 = Meta_space + shift altgr alt keycode 57 = Meta_space + control alt keycode 57 = Meta_nul + shift control alt keycode 57 = Meta_nul + altgr control alt keycode 57 = Meta_nul + shift altgr control alt keycode 57 = Meta_nul + control shiftl keycode 57 = nul + shift control shiftl keycode 57 = nul + altgr control shiftl keycode 57 = nul + shift altgr control shiftl keycode 57 = nul + alt shiftl keycode 57 = Meta_space + shift alt shiftl keycode 57 = Meta_space + altgr alt shiftl keycode 57 = Meta_space + shift altgr alt shiftl keycode 57 = Meta_space + control alt shiftl keycode 57 = Meta_nul + shift control alt shiftl keycode 57 = Meta_nul + altgr control alt shiftl keycode 57 = Meta_nul + shift altgr control alt shiftl keycode 57 = Meta_nul + control shiftr keycode 57 = nul + shift control shiftr keycode 57 = nul + altgr control shiftr keycode 57 = nul + shift altgr control shiftr keycode 57 = nul + alt shiftr keycode 57 = Meta_space + shift alt shiftr keycode 57 = Meta_space + altgr alt shiftr keycode 57 = Meta_space + shift altgr alt shiftr keycode 57 = Meta_space + control alt shiftr keycode 57 = Meta_nul + shift control alt shiftr keycode 57 = Meta_nul + altgr control alt shiftr keycode 57 = Meta_nul + shift altgr control alt shiftr keycode 57 = Meta_nul + control shiftl shiftr keycode 57 = nul + shift control shiftl shiftr keycode 57 = nul + altgr control shiftl shiftr keycode 57 = nul + shift altgr control shiftl shiftr keycode 57 = nul + alt shiftl shiftr keycode 57 = Meta_space + shift alt shiftl shiftr keycode 57 = Meta_space + altgr alt shiftl shiftr keycode 57 = Meta_space + shift altgr alt shiftl shiftr keycode 57 = Meta_space + control alt shiftl shiftr keycode 57 = Meta_nul + shift control alt shiftl shiftr keycode 57 = Meta_nul + altgr control alt shiftl shiftr keycode 57 = Meta_nul + shift altgr control alt shiftl shiftr keycode 57 = Meta_nul + control ctrll keycode 57 = nul + shift control ctrll keycode 57 = nul + altgr control ctrll keycode 57 = nul + shift altgr control ctrll keycode 57 = nul + alt ctrll keycode 57 = Meta_space + shift alt ctrll keycode 57 = Meta_space + altgr alt ctrll keycode 57 = Meta_space + shift altgr alt ctrll keycode 57 = Meta_space + control alt ctrll keycode 57 = Meta_nul + shift control alt ctrll keycode 57 = Meta_nul + altgr control alt ctrll keycode 57 = Meta_nul + shift altgr control alt ctrll keycode 57 = Meta_nul + control shiftl ctrll keycode 57 = nul + shift control shiftl ctrll keycode 57 = nul + altgr control shiftl ctrll keycode 57 = nul + shift altgr control shiftl ctrll keycode 57 = nul + alt shiftl ctrll keycode 57 = Meta_space + shift alt shiftl ctrll keycode 57 = Meta_space + altgr alt shiftl ctrll keycode 57 = Meta_space + shift altgr alt shiftl ctrll keycode 57 = Meta_space + control alt shiftl ctrll keycode 57 = Meta_nul + shift control alt shiftl ctrll keycode 57 = Meta_nul + altgr control alt shiftl ctrll keycode 57 = Meta_nul + shift altgr control alt shiftl ctrll keycode 57 = Meta_nul + control shiftr ctrll keycode 57 = nul + shift control shiftr ctrll keycode 57 = nul + altgr control shiftr ctrll keycode 57 = nul + shift altgr control shiftr ctrll keycode 57 = nul + alt shiftr ctrll keycode 57 = Meta_space + shift alt shiftr ctrll keycode 57 = Meta_space + altgr alt shiftr ctrll keycode 57 = Meta_space + shift altgr alt shiftr ctrll keycode 57 = Meta_space + control alt shiftr ctrll keycode 57 = Meta_nul + shift control alt shiftr ctrll keycode 57 = Meta_nul + altgr control alt shiftr ctrll keycode 57 = Meta_nul + shift altgr control alt shiftr ctrll keycode 57 = Meta_nul + control shiftl shiftr ctrll keycode 57 = nul + shift control shiftl shiftr ctrll keycode 57 = nul + altgr control shiftl shiftr ctrll keycode 57 = nul + shift altgr control shiftl shiftr ctrll keycode 57 = nul + alt shiftl shiftr ctrll keycode 57 = Meta_space + shift alt shiftl shiftr ctrll keycode 57 = Meta_space + altgr alt shiftl shiftr ctrll keycode 57 = Meta_space + shift altgr alt shiftl shiftr ctrll keycode 57 = Meta_space + control alt shiftl shiftr ctrll keycode 57 = Meta_nul + shift control alt shiftl shiftr ctrll keycode 57 = Meta_nul + altgr control alt shiftl shiftr ctrll keycode 57 = Meta_nul + shift altgr control alt shiftl shiftr ctrll keycode 57 = Meta_nul +keycode 58 = CtrlL_Lock +keycode 59 = F1 + shift keycode 59 = F13 + altgr keycode 59 = Console_13 + shift altgr keycode 59 = Console_25 + control keycode 59 = F25 + shift control keycode 59 = F37 + altgr control keycode 59 = Console_13 + shift altgr control keycode 59 = Console_25 + alt keycode 59 = Console_1 + shift alt keycode 59 = Console_13 + control alt keycode 59 = Console_1 + shift control alt keycode 59 = Console_13 + shift shiftl keycode 59 = F13 + altgr shiftl keycode 59 = Console_13 + shift altgr shiftl keycode 59 = Console_25 + control shiftl keycode 59 = F25 + shift control shiftl keycode 59 = F37 + altgr control shiftl keycode 59 = Console_13 + shift altgr control shiftl keycode 59 = Console_25 + alt shiftl keycode 59 = Console_1 + shift alt shiftl keycode 59 = Console_13 + control alt shiftl keycode 59 = Console_1 + shift control alt shiftl keycode 59 = Console_13 + shift shiftr keycode 59 = F13 + altgr shiftr keycode 59 = Console_13 + shift altgr shiftr keycode 59 = Console_25 + control shiftr keycode 59 = F25 + shift control shiftr keycode 59 = F37 + altgr control shiftr keycode 59 = Console_13 + shift altgr control shiftr keycode 59 = Console_25 + alt shiftr keycode 59 = Console_1 + shift alt shiftr keycode 59 = Console_13 + control alt shiftr keycode 59 = Console_1 + shift control alt shiftr keycode 59 = Console_13 + shift shiftl shiftr keycode 59 = F13 + altgr shiftl shiftr keycode 59 = Console_13 + shift altgr shiftl shiftr keycode 59 = Console_25 + control shiftl shiftr keycode 59 = F25 + shift control shiftl shiftr keycode 59 = F37 + altgr control shiftl shiftr keycode 59 = Console_13 + shift altgr control shiftl shiftr keycode 59 = Console_25 + alt shiftl shiftr keycode 59 = Console_1 + shift alt shiftl shiftr keycode 59 = Console_13 + control alt shiftl shiftr keycode 59 = Console_1 + shift control alt shiftl shiftr keycode 59 = Console_13 + shift ctrll keycode 59 = F13 + altgr ctrll keycode 59 = Console_13 + shift altgr ctrll keycode 59 = Console_25 + control ctrll keycode 59 = F25 + shift control ctrll keycode 59 = F37 + altgr control ctrll keycode 59 = Console_13 + shift altgr control ctrll keycode 59 = Console_25 + alt ctrll keycode 59 = Console_1 + shift alt ctrll keycode 59 = Console_13 + control alt ctrll keycode 59 = Console_1 + shift control alt ctrll keycode 59 = Console_13 + shift shiftl ctrll keycode 59 = F13 + altgr shiftl ctrll keycode 59 = Console_13 + shift altgr shiftl ctrll keycode 59 = Console_25 + control shiftl ctrll keycode 59 = F25 + shift control shiftl ctrll keycode 59 = F37 + altgr control shiftl ctrll keycode 59 = Console_13 + shift altgr control shiftl ctrll keycode 59 = Console_25 + alt shiftl ctrll keycode 59 = Console_1 + shift alt shiftl ctrll keycode 59 = Console_13 + control alt shiftl ctrll keycode 59 = Console_1 + shift control alt shiftl ctrll keycode 59 = Console_13 + shift shiftr ctrll keycode 59 = F13 + altgr shiftr ctrll keycode 59 = Console_13 + shift altgr shiftr ctrll keycode 59 = Console_25 + control shiftr ctrll keycode 59 = F25 + shift control shiftr ctrll keycode 59 = F37 + altgr control shiftr ctrll keycode 59 = Console_13 + shift altgr control shiftr ctrll keycode 59 = Console_25 + alt shiftr ctrll keycode 59 = Console_1 + shift alt shiftr ctrll keycode 59 = Console_13 + control alt shiftr ctrll keycode 59 = Console_1 + shift control alt shiftr ctrll keycode 59 = Console_13 + shift shiftl shiftr ctrll keycode 59 = F13 + altgr shiftl shiftr ctrll keycode 59 = Console_13 + shift altgr shiftl shiftr ctrll keycode 59 = Console_25 + control shiftl shiftr ctrll keycode 59 = F25 + shift control shiftl shiftr ctrll keycode 59 = F37 + altgr control shiftl shiftr ctrll keycode 59 = Console_13 + shift altgr control shiftl shiftr ctrll keycode 59 = Console_25 + alt shiftl shiftr ctrll keycode 59 = Console_1 + shift alt shiftl shiftr ctrll keycode 59 = Console_13 + control alt shiftl shiftr ctrll keycode 59 = Console_1 + shift control alt shiftl shiftr ctrll keycode 59 = Console_13 +keycode 60 = F2 + shift keycode 60 = F14 + altgr keycode 60 = Console_14 + shift altgr keycode 60 = Console_26 + control keycode 60 = F26 + shift control keycode 60 = F38 + altgr control keycode 60 = Console_14 + shift altgr control keycode 60 = Console_26 + alt keycode 60 = Console_2 + shift alt keycode 60 = Console_14 + control alt keycode 60 = Console_2 + shift control alt keycode 60 = Console_14 + shift shiftl keycode 60 = F14 + altgr shiftl keycode 60 = Console_14 + shift altgr shiftl keycode 60 = Console_26 + control shiftl keycode 60 = F26 + shift control shiftl keycode 60 = F38 + altgr control shiftl keycode 60 = Console_14 + shift altgr control shiftl keycode 60 = Console_26 + alt shiftl keycode 60 = Console_2 + shift alt shiftl keycode 60 = Console_14 + control alt shiftl keycode 60 = Console_2 + shift control alt shiftl keycode 60 = Console_14 + shift shiftr keycode 60 = F14 + altgr shiftr keycode 60 = Console_14 + shift altgr shiftr keycode 60 = Console_26 + control shiftr keycode 60 = F26 + shift control shiftr keycode 60 = F38 + altgr control shiftr keycode 60 = Console_14 + shift altgr control shiftr keycode 60 = Console_26 + alt shiftr keycode 60 = Console_2 + shift alt shiftr keycode 60 = Console_14 + control alt shiftr keycode 60 = Console_2 + shift control alt shiftr keycode 60 = Console_14 + shift shiftl shiftr keycode 60 = F14 + altgr shiftl shiftr keycode 60 = Console_14 + shift altgr shiftl shiftr keycode 60 = Console_26 + control shiftl shiftr keycode 60 = F26 + shift control shiftl shiftr keycode 60 = F38 + altgr control shiftl shiftr keycode 60 = Console_14 + shift altgr control shiftl shiftr keycode 60 = Console_26 + alt shiftl shiftr keycode 60 = Console_2 + shift alt shiftl shiftr keycode 60 = Console_14 + control alt shiftl shiftr keycode 60 = Console_2 + shift control alt shiftl shiftr keycode 60 = Console_14 + shift ctrll keycode 60 = F14 + altgr ctrll keycode 60 = Console_14 + shift altgr ctrll keycode 60 = Console_26 + control ctrll keycode 60 = F26 + shift control ctrll keycode 60 = F38 + altgr control ctrll keycode 60 = Console_14 + shift altgr control ctrll keycode 60 = Console_26 + alt ctrll keycode 60 = Console_2 + shift alt ctrll keycode 60 = Console_14 + control alt ctrll keycode 60 = Console_2 + shift control alt ctrll keycode 60 = Console_14 + shift shiftl ctrll keycode 60 = F14 + altgr shiftl ctrll keycode 60 = Console_14 + shift altgr shiftl ctrll keycode 60 = Console_26 + control shiftl ctrll keycode 60 = F26 + shift control shiftl ctrll keycode 60 = F38 + altgr control shiftl ctrll keycode 60 = Console_14 + shift altgr control shiftl ctrll keycode 60 = Console_26 + alt shiftl ctrll keycode 60 = Console_2 + shift alt shiftl ctrll keycode 60 = Console_14 + control alt shiftl ctrll keycode 60 = Console_2 + shift control alt shiftl ctrll keycode 60 = Console_14 + shift shiftr ctrll keycode 60 = F14 + altgr shiftr ctrll keycode 60 = Console_14 + shift altgr shiftr ctrll keycode 60 = Console_26 + control shiftr ctrll keycode 60 = F26 + shift control shiftr ctrll keycode 60 = F38 + altgr control shiftr ctrll keycode 60 = Console_14 + shift altgr control shiftr ctrll keycode 60 = Console_26 + alt shiftr ctrll keycode 60 = Console_2 + shift alt shiftr ctrll keycode 60 = Console_14 + control alt shiftr ctrll keycode 60 = Console_2 + shift control alt shiftr ctrll keycode 60 = Console_14 + shift shiftl shiftr ctrll keycode 60 = F14 + altgr shiftl shiftr ctrll keycode 60 = Console_14 + shift altgr shiftl shiftr ctrll keycode 60 = Console_26 + control shiftl shiftr ctrll keycode 60 = F26 + shift control shiftl shiftr ctrll keycode 60 = F38 + altgr control shiftl shiftr ctrll keycode 60 = Console_14 + shift altgr control shiftl shiftr ctrll keycode 60 = Console_26 + alt shiftl shiftr ctrll keycode 60 = Console_2 + shift alt shiftl shiftr ctrll keycode 60 = Console_14 + control alt shiftl shiftr ctrll keycode 60 = Console_2 + shift control alt shiftl shiftr ctrll keycode 60 = Console_14 +keycode 61 = F3 + shift keycode 61 = F15 + altgr keycode 61 = Console_15 + shift altgr keycode 61 = Console_27 + control keycode 61 = F27 + shift control keycode 61 = F39 + altgr control keycode 61 = Console_15 + shift altgr control keycode 61 = Console_27 + alt keycode 61 = Console_3 + shift alt keycode 61 = Console_15 + control alt keycode 61 = Console_3 + shift control alt keycode 61 = Console_15 + shift shiftl keycode 61 = F15 + altgr shiftl keycode 61 = Console_15 + shift altgr shiftl keycode 61 = Console_27 + control shiftl keycode 61 = F27 + shift control shiftl keycode 61 = F39 + altgr control shiftl keycode 61 = Console_15 + shift altgr control shiftl keycode 61 = Console_27 + alt shiftl keycode 61 = Console_3 + shift alt shiftl keycode 61 = Console_15 + control alt shiftl keycode 61 = Console_3 + shift control alt shiftl keycode 61 = Console_15 + shift shiftr keycode 61 = F15 + altgr shiftr keycode 61 = Console_15 + shift altgr shiftr keycode 61 = Console_27 + control shiftr keycode 61 = F27 + shift control shiftr keycode 61 = F39 + altgr control shiftr keycode 61 = Console_15 + shift altgr control shiftr keycode 61 = Console_27 + alt shiftr keycode 61 = Console_3 + shift alt shiftr keycode 61 = Console_15 + control alt shiftr keycode 61 = Console_3 + shift control alt shiftr keycode 61 = Console_15 + shift shiftl shiftr keycode 61 = F15 + altgr shiftl shiftr keycode 61 = Console_15 + shift altgr shiftl shiftr keycode 61 = Console_27 + control shiftl shiftr keycode 61 = F27 + shift control shiftl shiftr keycode 61 = F39 + altgr control shiftl shiftr keycode 61 = Console_15 + shift altgr control shiftl shiftr keycode 61 = Console_27 + alt shiftl shiftr keycode 61 = Console_3 + shift alt shiftl shiftr keycode 61 = Console_15 + control alt shiftl shiftr keycode 61 = Console_3 + shift control alt shiftl shiftr keycode 61 = Console_15 + shift ctrll keycode 61 = F15 + altgr ctrll keycode 61 = Console_15 + shift altgr ctrll keycode 61 = Console_27 + control ctrll keycode 61 = F27 + shift control ctrll keycode 61 = F39 + altgr control ctrll keycode 61 = Console_15 + shift altgr control ctrll keycode 61 = Console_27 + alt ctrll keycode 61 = Console_3 + shift alt ctrll keycode 61 = Console_15 + control alt ctrll keycode 61 = Console_3 + shift control alt ctrll keycode 61 = Console_15 + shift shiftl ctrll keycode 61 = F15 + altgr shiftl ctrll keycode 61 = Console_15 + shift altgr shiftl ctrll keycode 61 = Console_27 + control shiftl ctrll keycode 61 = F27 + shift control shiftl ctrll keycode 61 = F39 + altgr control shiftl ctrll keycode 61 = Console_15 + shift altgr control shiftl ctrll keycode 61 = Console_27 + alt shiftl ctrll keycode 61 = Console_3 + shift alt shiftl ctrll keycode 61 = Console_15 + control alt shiftl ctrll keycode 61 = Console_3 + shift control alt shiftl ctrll keycode 61 = Console_15 + shift shiftr ctrll keycode 61 = F15 + altgr shiftr ctrll keycode 61 = Console_15 + shift altgr shiftr ctrll keycode 61 = Console_27 + control shiftr ctrll keycode 61 = F27 + shift control shiftr ctrll keycode 61 = F39 + altgr control shiftr ctrll keycode 61 = Console_15 + shift altgr control shiftr ctrll keycode 61 = Console_27 + alt shiftr ctrll keycode 61 = Console_3 + shift alt shiftr ctrll keycode 61 = Console_15 + control alt shiftr ctrll keycode 61 = Console_3 + shift control alt shiftr ctrll keycode 61 = Console_15 + shift shiftl shiftr ctrll keycode 61 = F15 + altgr shiftl shiftr ctrll keycode 61 = Console_15 + shift altgr shiftl shiftr ctrll keycode 61 = Console_27 + control shiftl shiftr ctrll keycode 61 = F27 + shift control shiftl shiftr ctrll keycode 61 = F39 + altgr control shiftl shiftr ctrll keycode 61 = Console_15 + shift altgr control shiftl shiftr ctrll keycode 61 = Console_27 + alt shiftl shiftr ctrll keycode 61 = Console_3 + shift alt shiftl shiftr ctrll keycode 61 = Console_15 + control alt shiftl shiftr ctrll keycode 61 = Console_3 + shift control alt shiftl shiftr ctrll keycode 61 = Console_15 +keycode 62 = F4 + shift keycode 62 = F16 + altgr keycode 62 = Console_16 + shift altgr keycode 62 = Console_28 + control keycode 62 = F28 + shift control keycode 62 = F40 + altgr control keycode 62 = Console_16 + shift altgr control keycode 62 = Console_28 + alt keycode 62 = Console_4 + shift alt keycode 62 = Console_16 + control alt keycode 62 = Console_4 + shift control alt keycode 62 = Console_16 + shift shiftl keycode 62 = F16 + altgr shiftl keycode 62 = Console_16 + shift altgr shiftl keycode 62 = Console_28 + control shiftl keycode 62 = F28 + shift control shiftl keycode 62 = F40 + altgr control shiftl keycode 62 = Console_16 + shift altgr control shiftl keycode 62 = Console_28 + alt shiftl keycode 62 = Console_4 + shift alt shiftl keycode 62 = Console_16 + control alt shiftl keycode 62 = Console_4 + shift control alt shiftl keycode 62 = Console_16 + shift shiftr keycode 62 = F16 + altgr shiftr keycode 62 = Console_16 + shift altgr shiftr keycode 62 = Console_28 + control shiftr keycode 62 = F28 + shift control shiftr keycode 62 = F40 + altgr control shiftr keycode 62 = Console_16 + shift altgr control shiftr keycode 62 = Console_28 + alt shiftr keycode 62 = Console_4 + shift alt shiftr keycode 62 = Console_16 + control alt shiftr keycode 62 = Console_4 + shift control alt shiftr keycode 62 = Console_16 + shift shiftl shiftr keycode 62 = F16 + altgr shiftl shiftr keycode 62 = Console_16 + shift altgr shiftl shiftr keycode 62 = Console_28 + control shiftl shiftr keycode 62 = F28 + shift control shiftl shiftr keycode 62 = F40 + altgr control shiftl shiftr keycode 62 = Console_16 + shift altgr control shiftl shiftr keycode 62 = Console_28 + alt shiftl shiftr keycode 62 = Console_4 + shift alt shiftl shiftr keycode 62 = Console_16 + control alt shiftl shiftr keycode 62 = Console_4 + shift control alt shiftl shiftr keycode 62 = Console_16 + shift ctrll keycode 62 = F16 + altgr ctrll keycode 62 = Console_16 + shift altgr ctrll keycode 62 = Console_28 + control ctrll keycode 62 = F28 + shift control ctrll keycode 62 = F40 + altgr control ctrll keycode 62 = Console_16 + shift altgr control ctrll keycode 62 = Console_28 + alt ctrll keycode 62 = Console_4 + shift alt ctrll keycode 62 = Console_16 + control alt ctrll keycode 62 = Console_4 + shift control alt ctrll keycode 62 = Console_16 + shift shiftl ctrll keycode 62 = F16 + altgr shiftl ctrll keycode 62 = Console_16 + shift altgr shiftl ctrll keycode 62 = Console_28 + control shiftl ctrll keycode 62 = F28 + shift control shiftl ctrll keycode 62 = F40 + altgr control shiftl ctrll keycode 62 = Console_16 + shift altgr control shiftl ctrll keycode 62 = Console_28 + alt shiftl ctrll keycode 62 = Console_4 + shift alt shiftl ctrll keycode 62 = Console_16 + control alt shiftl ctrll keycode 62 = Console_4 + shift control alt shiftl ctrll keycode 62 = Console_16 + shift shiftr ctrll keycode 62 = F16 + altgr shiftr ctrll keycode 62 = Console_16 + shift altgr shiftr ctrll keycode 62 = Console_28 + control shiftr ctrll keycode 62 = F28 + shift control shiftr ctrll keycode 62 = F40 + altgr control shiftr ctrll keycode 62 = Console_16 + shift altgr control shiftr ctrll keycode 62 = Console_28 + alt shiftr ctrll keycode 62 = Console_4 + shift alt shiftr ctrll keycode 62 = Console_16 + control alt shiftr ctrll keycode 62 = Console_4 + shift control alt shiftr ctrll keycode 62 = Console_16 + shift shiftl shiftr ctrll keycode 62 = F16 + altgr shiftl shiftr ctrll keycode 62 = Console_16 + shift altgr shiftl shiftr ctrll keycode 62 = Console_28 + control shiftl shiftr ctrll keycode 62 = F28 + shift control shiftl shiftr ctrll keycode 62 = F40 + altgr control shiftl shiftr ctrll keycode 62 = Console_16 + shift altgr control shiftl shiftr ctrll keycode 62 = Console_28 + alt shiftl shiftr ctrll keycode 62 = Console_4 + shift alt shiftl shiftr ctrll keycode 62 = Console_16 + control alt shiftl shiftr ctrll keycode 62 = Console_4 + shift control alt shiftl shiftr ctrll keycode 62 = Console_16 +keycode 63 = F5 + shift keycode 63 = F17 + altgr keycode 63 = Console_17 + shift altgr keycode 63 = Console_29 + control keycode 63 = F29 + shift control keycode 63 = F41 + altgr control keycode 63 = Console_17 + shift altgr control keycode 63 = Console_29 + alt keycode 63 = Console_5 + shift alt keycode 63 = Console_17 + control alt keycode 63 = Console_5 + shift control alt keycode 63 = Console_17 + shift shiftl keycode 63 = F17 + altgr shiftl keycode 63 = Console_17 + shift altgr shiftl keycode 63 = Console_29 + control shiftl keycode 63 = F29 + shift control shiftl keycode 63 = F41 + altgr control shiftl keycode 63 = Console_17 + shift altgr control shiftl keycode 63 = Console_29 + alt shiftl keycode 63 = Console_5 + shift alt shiftl keycode 63 = Console_17 + control alt shiftl keycode 63 = Console_5 + shift control alt shiftl keycode 63 = Console_17 + shift shiftr keycode 63 = F17 + altgr shiftr keycode 63 = Console_17 + shift altgr shiftr keycode 63 = Console_29 + control shiftr keycode 63 = F29 + shift control shiftr keycode 63 = F41 + altgr control shiftr keycode 63 = Console_17 + shift altgr control shiftr keycode 63 = Console_29 + alt shiftr keycode 63 = Console_5 + shift alt shiftr keycode 63 = Console_17 + control alt shiftr keycode 63 = Console_5 + shift control alt shiftr keycode 63 = Console_17 + shift shiftl shiftr keycode 63 = F17 + altgr shiftl shiftr keycode 63 = Console_17 + shift altgr shiftl shiftr keycode 63 = Console_29 + control shiftl shiftr keycode 63 = F29 + shift control shiftl shiftr keycode 63 = F41 + altgr control shiftl shiftr keycode 63 = Console_17 + shift altgr control shiftl shiftr keycode 63 = Console_29 + alt shiftl shiftr keycode 63 = Console_5 + shift alt shiftl shiftr keycode 63 = Console_17 + control alt shiftl shiftr keycode 63 = Console_5 + shift control alt shiftl shiftr keycode 63 = Console_17 + shift ctrll keycode 63 = F17 + altgr ctrll keycode 63 = Console_17 + shift altgr ctrll keycode 63 = Console_29 + control ctrll keycode 63 = F29 + shift control ctrll keycode 63 = F41 + altgr control ctrll keycode 63 = Console_17 + shift altgr control ctrll keycode 63 = Console_29 + alt ctrll keycode 63 = Console_5 + shift alt ctrll keycode 63 = Console_17 + control alt ctrll keycode 63 = Console_5 + shift control alt ctrll keycode 63 = Console_17 + shift shiftl ctrll keycode 63 = F17 + altgr shiftl ctrll keycode 63 = Console_17 + shift altgr shiftl ctrll keycode 63 = Console_29 + control shiftl ctrll keycode 63 = F29 + shift control shiftl ctrll keycode 63 = F41 + altgr control shiftl ctrll keycode 63 = Console_17 + shift altgr control shiftl ctrll keycode 63 = Console_29 + alt shiftl ctrll keycode 63 = Console_5 + shift alt shiftl ctrll keycode 63 = Console_17 + control alt shiftl ctrll keycode 63 = Console_5 + shift control alt shiftl ctrll keycode 63 = Console_17 + shift shiftr ctrll keycode 63 = F17 + altgr shiftr ctrll keycode 63 = Console_17 + shift altgr shiftr ctrll keycode 63 = Console_29 + control shiftr ctrll keycode 63 = F29 + shift control shiftr ctrll keycode 63 = F41 + altgr control shiftr ctrll keycode 63 = Console_17 + shift altgr control shiftr ctrll keycode 63 = Console_29 + alt shiftr ctrll keycode 63 = Console_5 + shift alt shiftr ctrll keycode 63 = Console_17 + control alt shiftr ctrll keycode 63 = Console_5 + shift control alt shiftr ctrll keycode 63 = Console_17 + shift shiftl shiftr ctrll keycode 63 = F17 + altgr shiftl shiftr ctrll keycode 63 = Console_17 + shift altgr shiftl shiftr ctrll keycode 63 = Console_29 + control shiftl shiftr ctrll keycode 63 = F29 + shift control shiftl shiftr ctrll keycode 63 = F41 + altgr control shiftl shiftr ctrll keycode 63 = Console_17 + shift altgr control shiftl shiftr ctrll keycode 63 = Console_29 + alt shiftl shiftr ctrll keycode 63 = Console_5 + shift alt shiftl shiftr ctrll keycode 63 = Console_17 + control alt shiftl shiftr ctrll keycode 63 = Console_5 + shift control alt shiftl shiftr ctrll keycode 63 = Console_17 +keycode 64 = F6 + shift keycode 64 = F18 + altgr keycode 64 = Console_18 + shift altgr keycode 64 = Console_30 + control keycode 64 = F30 + shift control keycode 64 = F42 + altgr control keycode 64 = Console_18 + shift altgr control keycode 64 = Console_30 + alt keycode 64 = Console_6 + shift alt keycode 64 = Console_18 + control alt keycode 64 = Console_6 + shift control alt keycode 64 = Console_18 + shift shiftl keycode 64 = F18 + altgr shiftl keycode 64 = Console_18 + shift altgr shiftl keycode 64 = Console_30 + control shiftl keycode 64 = F30 + shift control shiftl keycode 64 = F42 + altgr control shiftl keycode 64 = Console_18 + shift altgr control shiftl keycode 64 = Console_30 + alt shiftl keycode 64 = Console_6 + shift alt shiftl keycode 64 = Console_18 + control alt shiftl keycode 64 = Console_6 + shift control alt shiftl keycode 64 = Console_18 + shift shiftr keycode 64 = F18 + altgr shiftr keycode 64 = Console_18 + shift altgr shiftr keycode 64 = Console_30 + control shiftr keycode 64 = F30 + shift control shiftr keycode 64 = F42 + altgr control shiftr keycode 64 = Console_18 + shift altgr control shiftr keycode 64 = Console_30 + alt shiftr keycode 64 = Console_6 + shift alt shiftr keycode 64 = Console_18 + control alt shiftr keycode 64 = Console_6 + shift control alt shiftr keycode 64 = Console_18 + shift shiftl shiftr keycode 64 = F18 + altgr shiftl shiftr keycode 64 = Console_18 + shift altgr shiftl shiftr keycode 64 = Console_30 + control shiftl shiftr keycode 64 = F30 + shift control shiftl shiftr keycode 64 = F42 + altgr control shiftl shiftr keycode 64 = Console_18 + shift altgr control shiftl shiftr keycode 64 = Console_30 + alt shiftl shiftr keycode 64 = Console_6 + shift alt shiftl shiftr keycode 64 = Console_18 + control alt shiftl shiftr keycode 64 = Console_6 + shift control alt shiftl shiftr keycode 64 = Console_18 + shift ctrll keycode 64 = F18 + altgr ctrll keycode 64 = Console_18 + shift altgr ctrll keycode 64 = Console_30 + control ctrll keycode 64 = F30 + shift control ctrll keycode 64 = F42 + altgr control ctrll keycode 64 = Console_18 + shift altgr control ctrll keycode 64 = Console_30 + alt ctrll keycode 64 = Console_6 + shift alt ctrll keycode 64 = Console_18 + control alt ctrll keycode 64 = Console_6 + shift control alt ctrll keycode 64 = Console_18 + shift shiftl ctrll keycode 64 = F18 + altgr shiftl ctrll keycode 64 = Console_18 + shift altgr shiftl ctrll keycode 64 = Console_30 + control shiftl ctrll keycode 64 = F30 + shift control shiftl ctrll keycode 64 = F42 + altgr control shiftl ctrll keycode 64 = Console_18 + shift altgr control shiftl ctrll keycode 64 = Console_30 + alt shiftl ctrll keycode 64 = Console_6 + shift alt shiftl ctrll keycode 64 = Console_18 + control alt shiftl ctrll keycode 64 = Console_6 + shift control alt shiftl ctrll keycode 64 = Console_18 + shift shiftr ctrll keycode 64 = F18 + altgr shiftr ctrll keycode 64 = Console_18 + shift altgr shiftr ctrll keycode 64 = Console_30 + control shiftr ctrll keycode 64 = F30 + shift control shiftr ctrll keycode 64 = F42 + altgr control shiftr ctrll keycode 64 = Console_18 + shift altgr control shiftr ctrll keycode 64 = Console_30 + alt shiftr ctrll keycode 64 = Console_6 + shift alt shiftr ctrll keycode 64 = Console_18 + control alt shiftr ctrll keycode 64 = Console_6 + shift control alt shiftr ctrll keycode 64 = Console_18 + shift shiftl shiftr ctrll keycode 64 = F18 + altgr shiftl shiftr ctrll keycode 64 = Console_18 + shift altgr shiftl shiftr ctrll keycode 64 = Console_30 + control shiftl shiftr ctrll keycode 64 = F30 + shift control shiftl shiftr ctrll keycode 64 = F42 + altgr control shiftl shiftr ctrll keycode 64 = Console_18 + shift altgr control shiftl shiftr ctrll keycode 64 = Console_30 + alt shiftl shiftr ctrll keycode 64 = Console_6 + shift alt shiftl shiftr ctrll keycode 64 = Console_18 + control alt shiftl shiftr ctrll keycode 64 = Console_6 + shift control alt shiftl shiftr ctrll keycode 64 = Console_18 +keycode 65 = F7 + shift keycode 65 = F19 + altgr keycode 65 = Console_19 + shift altgr keycode 65 = Console_31 + control keycode 65 = F31 + shift control keycode 65 = F43 + altgr control keycode 65 = Console_19 + shift altgr control keycode 65 = Console_31 + alt keycode 65 = Console_7 + shift alt keycode 65 = Console_19 + control alt keycode 65 = Console_7 + shift control alt keycode 65 = Console_19 + shift shiftl keycode 65 = F19 + altgr shiftl keycode 65 = Console_19 + shift altgr shiftl keycode 65 = Console_31 + control shiftl keycode 65 = F31 + shift control shiftl keycode 65 = F43 + altgr control shiftl keycode 65 = Console_19 + shift altgr control shiftl keycode 65 = Console_31 + alt shiftl keycode 65 = Console_7 + shift alt shiftl keycode 65 = Console_19 + control alt shiftl keycode 65 = Console_7 + shift control alt shiftl keycode 65 = Console_19 + shift shiftr keycode 65 = F19 + altgr shiftr keycode 65 = Console_19 + shift altgr shiftr keycode 65 = Console_31 + control shiftr keycode 65 = F31 + shift control shiftr keycode 65 = F43 + altgr control shiftr keycode 65 = Console_19 + shift altgr control shiftr keycode 65 = Console_31 + alt shiftr keycode 65 = Console_7 + shift alt shiftr keycode 65 = Console_19 + control alt shiftr keycode 65 = Console_7 + shift control alt shiftr keycode 65 = Console_19 + shift shiftl shiftr keycode 65 = F19 + altgr shiftl shiftr keycode 65 = Console_19 + shift altgr shiftl shiftr keycode 65 = Console_31 + control shiftl shiftr keycode 65 = F31 + shift control shiftl shiftr keycode 65 = F43 + altgr control shiftl shiftr keycode 65 = Console_19 + shift altgr control shiftl shiftr keycode 65 = Console_31 + alt shiftl shiftr keycode 65 = Console_7 + shift alt shiftl shiftr keycode 65 = Console_19 + control alt shiftl shiftr keycode 65 = Console_7 + shift control alt shiftl shiftr keycode 65 = Console_19 + shift ctrll keycode 65 = F19 + altgr ctrll keycode 65 = Console_19 + shift altgr ctrll keycode 65 = Console_31 + control ctrll keycode 65 = F31 + shift control ctrll keycode 65 = F43 + altgr control ctrll keycode 65 = Console_19 + shift altgr control ctrll keycode 65 = Console_31 + alt ctrll keycode 65 = Console_7 + shift alt ctrll keycode 65 = Console_19 + control alt ctrll keycode 65 = Console_7 + shift control alt ctrll keycode 65 = Console_19 + shift shiftl ctrll keycode 65 = F19 + altgr shiftl ctrll keycode 65 = Console_19 + shift altgr shiftl ctrll keycode 65 = Console_31 + control shiftl ctrll keycode 65 = F31 + shift control shiftl ctrll keycode 65 = F43 + altgr control shiftl ctrll keycode 65 = Console_19 + shift altgr control shiftl ctrll keycode 65 = Console_31 + alt shiftl ctrll keycode 65 = Console_7 + shift alt shiftl ctrll keycode 65 = Console_19 + control alt shiftl ctrll keycode 65 = Console_7 + shift control alt shiftl ctrll keycode 65 = Console_19 + shift shiftr ctrll keycode 65 = F19 + altgr shiftr ctrll keycode 65 = Console_19 + shift altgr shiftr ctrll keycode 65 = Console_31 + control shiftr ctrll keycode 65 = F31 + shift control shiftr ctrll keycode 65 = F43 + altgr control shiftr ctrll keycode 65 = Console_19 + shift altgr control shiftr ctrll keycode 65 = Console_31 + alt shiftr ctrll keycode 65 = Console_7 + shift alt shiftr ctrll keycode 65 = Console_19 + control alt shiftr ctrll keycode 65 = Console_7 + shift control alt shiftr ctrll keycode 65 = Console_19 + shift shiftl shiftr ctrll keycode 65 = F19 + altgr shiftl shiftr ctrll keycode 65 = Console_19 + shift altgr shiftl shiftr ctrll keycode 65 = Console_31 + control shiftl shiftr ctrll keycode 65 = F31 + shift control shiftl shiftr ctrll keycode 65 = F43 + altgr control shiftl shiftr ctrll keycode 65 = Console_19 + shift altgr control shiftl shiftr ctrll keycode 65 = Console_31 + alt shiftl shiftr ctrll keycode 65 = Console_7 + shift alt shiftl shiftr ctrll keycode 65 = Console_19 + control alt shiftl shiftr ctrll keycode 65 = Console_7 + shift control alt shiftl shiftr ctrll keycode 65 = Console_19 +keycode 66 = F8 + shift keycode 66 = F20 + altgr keycode 66 = Console_20 + shift altgr keycode 66 = Console_32 + control keycode 66 = F32 + shift control keycode 66 = F44 + altgr control keycode 66 = Console_20 + shift altgr control keycode 66 = Console_32 + alt keycode 66 = Console_8 + shift alt keycode 66 = Console_20 + control alt keycode 66 = Console_8 + shift control alt keycode 66 = Console_20 + shift shiftl keycode 66 = F20 + altgr shiftl keycode 66 = Console_20 + shift altgr shiftl keycode 66 = Console_32 + control shiftl keycode 66 = F32 + shift control shiftl keycode 66 = F44 + altgr control shiftl keycode 66 = Console_20 + shift altgr control shiftl keycode 66 = Console_32 + alt shiftl keycode 66 = Console_8 + shift alt shiftl keycode 66 = Console_20 + control alt shiftl keycode 66 = Console_8 + shift control alt shiftl keycode 66 = Console_20 + shift shiftr keycode 66 = F20 + altgr shiftr keycode 66 = Console_20 + shift altgr shiftr keycode 66 = Console_32 + control shiftr keycode 66 = F32 + shift control shiftr keycode 66 = F44 + altgr control shiftr keycode 66 = Console_20 + shift altgr control shiftr keycode 66 = Console_32 + alt shiftr keycode 66 = Console_8 + shift alt shiftr keycode 66 = Console_20 + control alt shiftr keycode 66 = Console_8 + shift control alt shiftr keycode 66 = Console_20 + shift shiftl shiftr keycode 66 = F20 + altgr shiftl shiftr keycode 66 = Console_20 + shift altgr shiftl shiftr keycode 66 = Console_32 + control shiftl shiftr keycode 66 = F32 + shift control shiftl shiftr keycode 66 = F44 + altgr control shiftl shiftr keycode 66 = Console_20 + shift altgr control shiftl shiftr keycode 66 = Console_32 + alt shiftl shiftr keycode 66 = Console_8 + shift alt shiftl shiftr keycode 66 = Console_20 + control alt shiftl shiftr keycode 66 = Console_8 + shift control alt shiftl shiftr keycode 66 = Console_20 + shift ctrll keycode 66 = F20 + altgr ctrll keycode 66 = Console_20 + shift altgr ctrll keycode 66 = Console_32 + control ctrll keycode 66 = F32 + shift control ctrll keycode 66 = F44 + altgr control ctrll keycode 66 = Console_20 + shift altgr control ctrll keycode 66 = Console_32 + alt ctrll keycode 66 = Console_8 + shift alt ctrll keycode 66 = Console_20 + control alt ctrll keycode 66 = Console_8 + shift control alt ctrll keycode 66 = Console_20 + shift shiftl ctrll keycode 66 = F20 + altgr shiftl ctrll keycode 66 = Console_20 + shift altgr shiftl ctrll keycode 66 = Console_32 + control shiftl ctrll keycode 66 = F32 + shift control shiftl ctrll keycode 66 = F44 + altgr control shiftl ctrll keycode 66 = Console_20 + shift altgr control shiftl ctrll keycode 66 = Console_32 + alt shiftl ctrll keycode 66 = Console_8 + shift alt shiftl ctrll keycode 66 = Console_20 + control alt shiftl ctrll keycode 66 = Console_8 + shift control alt shiftl ctrll keycode 66 = Console_20 + shift shiftr ctrll keycode 66 = F20 + altgr shiftr ctrll keycode 66 = Console_20 + shift altgr shiftr ctrll keycode 66 = Console_32 + control shiftr ctrll keycode 66 = F32 + shift control shiftr ctrll keycode 66 = F44 + altgr control shiftr ctrll keycode 66 = Console_20 + shift altgr control shiftr ctrll keycode 66 = Console_32 + alt shiftr ctrll keycode 66 = Console_8 + shift alt shiftr ctrll keycode 66 = Console_20 + control alt shiftr ctrll keycode 66 = Console_8 + shift control alt shiftr ctrll keycode 66 = Console_20 + shift shiftl shiftr ctrll keycode 66 = F20 + altgr shiftl shiftr ctrll keycode 66 = Console_20 + shift altgr shiftl shiftr ctrll keycode 66 = Console_32 + control shiftl shiftr ctrll keycode 66 = F32 + shift control shiftl shiftr ctrll keycode 66 = F44 + altgr control shiftl shiftr ctrll keycode 66 = Console_20 + shift altgr control shiftl shiftr ctrll keycode 66 = Console_32 + alt shiftl shiftr ctrll keycode 66 = Console_8 + shift alt shiftl shiftr ctrll keycode 66 = Console_20 + control alt shiftl shiftr ctrll keycode 66 = Console_8 + shift control alt shiftl shiftr ctrll keycode 66 = Console_20 +keycode 67 = F9 + shift keycode 67 = F21 + altgr keycode 67 = Console_21 + shift altgr keycode 67 = Console_33 + control keycode 67 = F33 + shift control keycode 67 = F45 + altgr control keycode 67 = Console_21 + shift altgr control keycode 67 = Console_33 + alt keycode 67 = Console_9 + shift alt keycode 67 = Console_21 + control alt keycode 67 = Console_9 + shift control alt keycode 67 = Console_21 + shift shiftl keycode 67 = F21 + altgr shiftl keycode 67 = Console_21 + shift altgr shiftl keycode 67 = Console_33 + control shiftl keycode 67 = F33 + shift control shiftl keycode 67 = F45 + altgr control shiftl keycode 67 = Console_21 + shift altgr control shiftl keycode 67 = Console_33 + alt shiftl keycode 67 = Console_9 + shift alt shiftl keycode 67 = Console_21 + control alt shiftl keycode 67 = Console_9 + shift control alt shiftl keycode 67 = Console_21 + shift shiftr keycode 67 = F21 + altgr shiftr keycode 67 = Console_21 + shift altgr shiftr keycode 67 = Console_33 + control shiftr keycode 67 = F33 + shift control shiftr keycode 67 = F45 + altgr control shiftr keycode 67 = Console_21 + shift altgr control shiftr keycode 67 = Console_33 + alt shiftr keycode 67 = Console_9 + shift alt shiftr keycode 67 = Console_21 + control alt shiftr keycode 67 = Console_9 + shift control alt shiftr keycode 67 = Console_21 + shift shiftl shiftr keycode 67 = F21 + altgr shiftl shiftr keycode 67 = Console_21 + shift altgr shiftl shiftr keycode 67 = Console_33 + control shiftl shiftr keycode 67 = F33 + shift control shiftl shiftr keycode 67 = F45 + altgr control shiftl shiftr keycode 67 = Console_21 + shift altgr control shiftl shiftr keycode 67 = Console_33 + alt shiftl shiftr keycode 67 = Console_9 + shift alt shiftl shiftr keycode 67 = Console_21 + control alt shiftl shiftr keycode 67 = Console_9 + shift control alt shiftl shiftr keycode 67 = Console_21 + shift ctrll keycode 67 = F21 + altgr ctrll keycode 67 = Console_21 + shift altgr ctrll keycode 67 = Console_33 + control ctrll keycode 67 = F33 + shift control ctrll keycode 67 = F45 + altgr control ctrll keycode 67 = Console_21 + shift altgr control ctrll keycode 67 = Console_33 + alt ctrll keycode 67 = Console_9 + shift alt ctrll keycode 67 = Console_21 + control alt ctrll keycode 67 = Console_9 + shift control alt ctrll keycode 67 = Console_21 + shift shiftl ctrll keycode 67 = F21 + altgr shiftl ctrll keycode 67 = Console_21 + shift altgr shiftl ctrll keycode 67 = Console_33 + control shiftl ctrll keycode 67 = F33 + shift control shiftl ctrll keycode 67 = F45 + altgr control shiftl ctrll keycode 67 = Console_21 + shift altgr control shiftl ctrll keycode 67 = Console_33 + alt shiftl ctrll keycode 67 = Console_9 + shift alt shiftl ctrll keycode 67 = Console_21 + control alt shiftl ctrll keycode 67 = Console_9 + shift control alt shiftl ctrll keycode 67 = Console_21 + shift shiftr ctrll keycode 67 = F21 + altgr shiftr ctrll keycode 67 = Console_21 + shift altgr shiftr ctrll keycode 67 = Console_33 + control shiftr ctrll keycode 67 = F33 + shift control shiftr ctrll keycode 67 = F45 + altgr control shiftr ctrll keycode 67 = Console_21 + shift altgr control shiftr ctrll keycode 67 = Console_33 + alt shiftr ctrll keycode 67 = Console_9 + shift alt shiftr ctrll keycode 67 = Console_21 + control alt shiftr ctrll keycode 67 = Console_9 + shift control alt shiftr ctrll keycode 67 = Console_21 + shift shiftl shiftr ctrll keycode 67 = F21 + altgr shiftl shiftr ctrll keycode 67 = Console_21 + shift altgr shiftl shiftr ctrll keycode 67 = Console_33 + control shiftl shiftr ctrll keycode 67 = F33 + shift control shiftl shiftr ctrll keycode 67 = F45 + altgr control shiftl shiftr ctrll keycode 67 = Console_21 + shift altgr control shiftl shiftr ctrll keycode 67 = Console_33 + alt shiftl shiftr ctrll keycode 67 = Console_9 + shift alt shiftl shiftr ctrll keycode 67 = Console_21 + control alt shiftl shiftr ctrll keycode 67 = Console_9 + shift control alt shiftl shiftr ctrll keycode 67 = Console_21 +keycode 68 = F10 + shift keycode 68 = F22 + altgr keycode 68 = Console_22 + shift altgr keycode 68 = Console_34 + control keycode 68 = F34 + shift control keycode 68 = F46 + altgr control keycode 68 = Console_22 + shift altgr control keycode 68 = Console_34 + alt keycode 68 = Console_10 + shift alt keycode 68 = Console_22 + control alt keycode 68 = Console_10 + shift control alt keycode 68 = Console_22 + shift shiftl keycode 68 = F22 + altgr shiftl keycode 68 = Console_22 + shift altgr shiftl keycode 68 = Console_34 + control shiftl keycode 68 = F34 + shift control shiftl keycode 68 = F46 + altgr control shiftl keycode 68 = Console_22 + shift altgr control shiftl keycode 68 = Console_34 + alt shiftl keycode 68 = Console_10 + shift alt shiftl keycode 68 = Console_22 + control alt shiftl keycode 68 = Console_10 + shift control alt shiftl keycode 68 = Console_22 + shift shiftr keycode 68 = F22 + altgr shiftr keycode 68 = Console_22 + shift altgr shiftr keycode 68 = Console_34 + control shiftr keycode 68 = F34 + shift control shiftr keycode 68 = F46 + altgr control shiftr keycode 68 = Console_22 + shift altgr control shiftr keycode 68 = Console_34 + alt shiftr keycode 68 = Console_10 + shift alt shiftr keycode 68 = Console_22 + control alt shiftr keycode 68 = Console_10 + shift control alt shiftr keycode 68 = Console_22 + shift shiftl shiftr keycode 68 = F22 + altgr shiftl shiftr keycode 68 = Console_22 + shift altgr shiftl shiftr keycode 68 = Console_34 + control shiftl shiftr keycode 68 = F34 + shift control shiftl shiftr keycode 68 = F46 + altgr control shiftl shiftr keycode 68 = Console_22 + shift altgr control shiftl shiftr keycode 68 = Console_34 + alt shiftl shiftr keycode 68 = Console_10 + shift alt shiftl shiftr keycode 68 = Console_22 + control alt shiftl shiftr keycode 68 = Console_10 + shift control alt shiftl shiftr keycode 68 = Console_22 + shift ctrll keycode 68 = F22 + altgr ctrll keycode 68 = Console_22 + shift altgr ctrll keycode 68 = Console_34 + control ctrll keycode 68 = F34 + shift control ctrll keycode 68 = F46 + altgr control ctrll keycode 68 = Console_22 + shift altgr control ctrll keycode 68 = Console_34 + alt ctrll keycode 68 = Console_10 + shift alt ctrll keycode 68 = Console_22 + control alt ctrll keycode 68 = Console_10 + shift control alt ctrll keycode 68 = Console_22 + shift shiftl ctrll keycode 68 = F22 + altgr shiftl ctrll keycode 68 = Console_22 + shift altgr shiftl ctrll keycode 68 = Console_34 + control shiftl ctrll keycode 68 = F34 + shift control shiftl ctrll keycode 68 = F46 + altgr control shiftl ctrll keycode 68 = Console_22 + shift altgr control shiftl ctrll keycode 68 = Console_34 + alt shiftl ctrll keycode 68 = Console_10 + shift alt shiftl ctrll keycode 68 = Console_22 + control alt shiftl ctrll keycode 68 = Console_10 + shift control alt shiftl ctrll keycode 68 = Console_22 + shift shiftr ctrll keycode 68 = F22 + altgr shiftr ctrll keycode 68 = Console_22 + shift altgr shiftr ctrll keycode 68 = Console_34 + control shiftr ctrll keycode 68 = F34 + shift control shiftr ctrll keycode 68 = F46 + altgr control shiftr ctrll keycode 68 = Console_22 + shift altgr control shiftr ctrll keycode 68 = Console_34 + alt shiftr ctrll keycode 68 = Console_10 + shift alt shiftr ctrll keycode 68 = Console_22 + control alt shiftr ctrll keycode 68 = Console_10 + shift control alt shiftr ctrll keycode 68 = Console_22 + shift shiftl shiftr ctrll keycode 68 = F22 + altgr shiftl shiftr ctrll keycode 68 = Console_22 + shift altgr shiftl shiftr ctrll keycode 68 = Console_34 + control shiftl shiftr ctrll keycode 68 = F34 + shift control shiftl shiftr ctrll keycode 68 = F46 + altgr control shiftl shiftr ctrll keycode 68 = Console_22 + shift altgr control shiftl shiftr ctrll keycode 68 = Console_34 + alt shiftl shiftr ctrll keycode 68 = Console_10 + shift alt shiftl shiftr ctrll keycode 68 = Console_22 + control alt shiftl shiftr ctrll keycode 68 = Console_10 + shift control alt shiftl shiftr ctrll keycode 68 = Console_22 +keycode 69 = Num_Lock + altgr keycode 69 = Hex_A + shift alt keycode 69 = Hex_A + altgr shiftl keycode 69 = Hex_A + shift alt shiftl keycode 69 = Hex_A + altgr shiftr keycode 69 = Hex_A + shift alt shiftr keycode 69 = Hex_A + altgr shiftl shiftr keycode 69 = Hex_A + shift alt shiftl shiftr keycode 69 = Hex_A + altgr ctrll keycode 69 = Hex_A + shift alt ctrll keycode 69 = Hex_A + altgr shiftl ctrll keycode 69 = Hex_A + shift alt shiftl ctrll keycode 69 = Hex_A + altgr shiftr ctrll keycode 69 = Hex_A + shift alt shiftr ctrll keycode 69 = Hex_A + altgr shiftl shiftr ctrll keycode 69 = Hex_A + shift alt shiftl shiftr ctrll keycode 69 = Hex_A +keycode 70 = Scroll_Lock + shift keycode 70 = Show_Memory + altgr keycode 70 = Show_Registers + control keycode 70 = Show_State + alt keycode 70 = Show_Registers + shift shiftl keycode 70 = Show_Memory + altgr shiftl keycode 70 = Show_Registers + control shiftl keycode 70 = Show_State + alt shiftl keycode 70 = Show_Registers + shift shiftr keycode 70 = Show_Memory + altgr shiftr keycode 70 = Show_Registers + control shiftr keycode 70 = Show_State + alt shiftr keycode 70 = Show_Registers + shift shiftl shiftr keycode 70 = Show_Memory + altgr shiftl shiftr keycode 70 = Show_Registers + control shiftl shiftr keycode 70 = Show_State + alt shiftl shiftr keycode 70 = Show_Registers + shift ctrll keycode 70 = Show_Memory + altgr ctrll keycode 70 = Show_Registers + control ctrll keycode 70 = Show_State + alt ctrll keycode 70 = Show_Registers + shift shiftl ctrll keycode 70 = Show_Memory + altgr shiftl ctrll keycode 70 = Show_Registers + control shiftl ctrll keycode 70 = Show_State + alt shiftl ctrll keycode 70 = Show_Registers + shift shiftr ctrll keycode 70 = Show_Memory + altgr shiftr ctrll keycode 70 = Show_Registers + control shiftr ctrll keycode 70 = Show_State + alt shiftr ctrll keycode 70 = Show_Registers + shift shiftl shiftr ctrll keycode 70 = Show_Memory + altgr shiftl shiftr ctrll keycode 70 = Show_Registers + control shiftl shiftr ctrll keycode 70 = Show_State + alt shiftl shiftr ctrll keycode 70 = Show_Registers +keycode 71 = KP_7 + altgr keycode 71 = Hex_7 + alt keycode 71 = Ascii_7 + shift alt keycode 71 = Hex_7 + altgr shiftl keycode 71 = Hex_7 + alt shiftl keycode 71 = Ascii_7 + shift alt shiftl keycode 71 = Hex_7 + altgr shiftr keycode 71 = Hex_7 + alt shiftr keycode 71 = Ascii_7 + shift alt shiftr keycode 71 = Hex_7 + altgr shiftl shiftr keycode 71 = Hex_7 + alt shiftl shiftr keycode 71 = Ascii_7 + shift alt shiftl shiftr keycode 71 = Hex_7 + altgr ctrll keycode 71 = Hex_7 + alt ctrll keycode 71 = Ascii_7 + shift alt ctrll keycode 71 = Hex_7 + altgr shiftl ctrll keycode 71 = Hex_7 + alt shiftl ctrll keycode 71 = Ascii_7 + shift alt shiftl ctrll keycode 71 = Hex_7 + altgr shiftr ctrll keycode 71 = Hex_7 + alt shiftr ctrll keycode 71 = Ascii_7 + shift alt shiftr ctrll keycode 71 = Hex_7 + altgr shiftl shiftr ctrll keycode 71 = Hex_7 + alt shiftl shiftr ctrll keycode 71 = Ascii_7 + shift alt shiftl shiftr ctrll keycode 71 = Hex_7 +keycode 72 = KP_8 + altgr keycode 72 = Hex_8 + alt keycode 72 = Ascii_8 + shift alt keycode 72 = Hex_8 + altgr shiftl keycode 72 = Hex_8 + alt shiftl keycode 72 = Ascii_8 + shift alt shiftl keycode 72 = Hex_8 + altgr shiftr keycode 72 = Hex_8 + alt shiftr keycode 72 = Ascii_8 + shift alt shiftr keycode 72 = Hex_8 + altgr shiftl shiftr keycode 72 = Hex_8 + alt shiftl shiftr keycode 72 = Ascii_8 + shift alt shiftl shiftr keycode 72 = Hex_8 + altgr ctrll keycode 72 = Hex_8 + alt ctrll keycode 72 = Ascii_8 + shift alt ctrll keycode 72 = Hex_8 + altgr shiftl ctrll keycode 72 = Hex_8 + alt shiftl ctrll keycode 72 = Ascii_8 + shift alt shiftl ctrll keycode 72 = Hex_8 + altgr shiftr ctrll keycode 72 = Hex_8 + alt shiftr ctrll keycode 72 = Ascii_8 + shift alt shiftr ctrll keycode 72 = Hex_8 + altgr shiftl shiftr ctrll keycode 72 = Hex_8 + alt shiftl shiftr ctrll keycode 72 = Ascii_8 + shift alt shiftl shiftr ctrll keycode 72 = Hex_8 +keycode 73 = KP_9 + altgr keycode 73 = Hex_9 + alt keycode 73 = Ascii_9 + shift alt keycode 73 = Hex_9 + altgr shiftl keycode 73 = Hex_9 + alt shiftl keycode 73 = Ascii_9 + shift alt shiftl keycode 73 = Hex_9 + altgr shiftr keycode 73 = Hex_9 + alt shiftr keycode 73 = Ascii_9 + shift alt shiftr keycode 73 = Hex_9 + altgr shiftl shiftr keycode 73 = Hex_9 + alt shiftl shiftr keycode 73 = Ascii_9 + shift alt shiftl shiftr keycode 73 = Hex_9 + altgr ctrll keycode 73 = Hex_9 + alt ctrll keycode 73 = Ascii_9 + shift alt ctrll keycode 73 = Hex_9 + altgr shiftl ctrll keycode 73 = Hex_9 + alt shiftl ctrll keycode 73 = Ascii_9 + shift alt shiftl ctrll keycode 73 = Hex_9 + altgr shiftr ctrll keycode 73 = Hex_9 + alt shiftr ctrll keycode 73 = Ascii_9 + shift alt shiftr ctrll keycode 73 = Hex_9 + altgr shiftl shiftr ctrll keycode 73 = Hex_9 + alt shiftl shiftr ctrll keycode 73 = Ascii_9 + shift alt shiftl shiftr ctrll keycode 73 = Hex_9 +keycode 74 = KP_Subtract + altgr keycode 74 = Hex_D + shift alt keycode 74 = Hex_D + altgr shiftl keycode 74 = Hex_D + shift alt shiftl keycode 74 = Hex_D + altgr shiftr keycode 74 = Hex_D + shift alt shiftr keycode 74 = Hex_D + altgr shiftl shiftr keycode 74 = Hex_D + shift alt shiftl shiftr keycode 74 = Hex_D + altgr ctrll keycode 74 = Hex_D + shift alt ctrll keycode 74 = Hex_D + altgr shiftl ctrll keycode 74 = Hex_D + shift alt shiftl ctrll keycode 74 = Hex_D + altgr shiftr ctrll keycode 74 = Hex_D + shift alt shiftr ctrll keycode 74 = Hex_D + altgr shiftl shiftr ctrll keycode 74 = Hex_D + shift alt shiftl shiftr ctrll keycode 74 = Hex_D +keycode 75 = KP_4 + altgr keycode 75 = Hex_4 + alt keycode 75 = Ascii_4 + shift alt keycode 75 = Hex_4 + altgr shiftl keycode 75 = Hex_4 + alt shiftl keycode 75 = Ascii_4 + shift alt shiftl keycode 75 = Hex_4 + altgr shiftr keycode 75 = Hex_4 + alt shiftr keycode 75 = Ascii_4 + shift alt shiftr keycode 75 = Hex_4 + altgr shiftl shiftr keycode 75 = Hex_4 + alt shiftl shiftr keycode 75 = Ascii_4 + shift alt shiftl shiftr keycode 75 = Hex_4 + altgr ctrll keycode 75 = Hex_4 + alt ctrll keycode 75 = Ascii_4 + shift alt ctrll keycode 75 = Hex_4 + altgr shiftl ctrll keycode 75 = Hex_4 + alt shiftl ctrll keycode 75 = Ascii_4 + shift alt shiftl ctrll keycode 75 = Hex_4 + altgr shiftr ctrll keycode 75 = Hex_4 + alt shiftr ctrll keycode 75 = Ascii_4 + shift alt shiftr ctrll keycode 75 = Hex_4 + altgr shiftl shiftr ctrll keycode 75 = Hex_4 + alt shiftl shiftr ctrll keycode 75 = Ascii_4 + shift alt shiftl shiftr ctrll keycode 75 = Hex_4 +keycode 76 = KP_5 + altgr keycode 76 = Hex_5 + alt keycode 76 = Ascii_5 + shift alt keycode 76 = Hex_5 + altgr shiftl keycode 76 = Hex_5 + alt shiftl keycode 76 = Ascii_5 + shift alt shiftl keycode 76 = Hex_5 + altgr shiftr keycode 76 = Hex_5 + alt shiftr keycode 76 = Ascii_5 + shift alt shiftr keycode 76 = Hex_5 + altgr shiftl shiftr keycode 76 = Hex_5 + alt shiftl shiftr keycode 76 = Ascii_5 + shift alt shiftl shiftr keycode 76 = Hex_5 + altgr ctrll keycode 76 = Hex_5 + alt ctrll keycode 76 = Ascii_5 + shift alt ctrll keycode 76 = Hex_5 + altgr shiftl ctrll keycode 76 = Hex_5 + alt shiftl ctrll keycode 76 = Ascii_5 + shift alt shiftl ctrll keycode 76 = Hex_5 + altgr shiftr ctrll keycode 76 = Hex_5 + alt shiftr ctrll keycode 76 = Ascii_5 + shift alt shiftr ctrll keycode 76 = Hex_5 + altgr shiftl shiftr ctrll keycode 76 = Hex_5 + alt shiftl shiftr ctrll keycode 76 = Ascii_5 + shift alt shiftl shiftr ctrll keycode 76 = Hex_5 +keycode 77 = KP_6 + altgr keycode 77 = Hex_6 + alt keycode 77 = Ascii_6 + shift alt keycode 77 = Hex_6 + altgr shiftl keycode 77 = Hex_6 + alt shiftl keycode 77 = Ascii_6 + shift alt shiftl keycode 77 = Hex_6 + altgr shiftr keycode 77 = Hex_6 + alt shiftr keycode 77 = Ascii_6 + shift alt shiftr keycode 77 = Hex_6 + altgr shiftl shiftr keycode 77 = Hex_6 + alt shiftl shiftr keycode 77 = Ascii_6 + shift alt shiftl shiftr keycode 77 = Hex_6 + altgr ctrll keycode 77 = Hex_6 + alt ctrll keycode 77 = Ascii_6 + shift alt ctrll keycode 77 = Hex_6 + altgr shiftl ctrll keycode 77 = Hex_6 + alt shiftl ctrll keycode 77 = Ascii_6 + shift alt shiftl ctrll keycode 77 = Hex_6 + altgr shiftr ctrll keycode 77 = Hex_6 + alt shiftr ctrll keycode 77 = Ascii_6 + shift alt shiftr ctrll keycode 77 = Hex_6 + altgr shiftl shiftr ctrll keycode 77 = Hex_6 + alt shiftl shiftr ctrll keycode 77 = Ascii_6 + shift alt shiftl shiftr ctrll keycode 77 = Hex_6 +keycode 78 = KP_Add + altgr keycode 78 = Hex_E + shift alt keycode 78 = Hex_E + altgr shiftl keycode 78 = Hex_E + shift alt shiftl keycode 78 = Hex_E + altgr shiftr keycode 78 = Hex_E + shift alt shiftr keycode 78 = Hex_E + altgr shiftl shiftr keycode 78 = Hex_E + shift alt shiftl shiftr keycode 78 = Hex_E + altgr ctrll keycode 78 = Hex_E + shift alt ctrll keycode 78 = Hex_E + altgr shiftl ctrll keycode 78 = Hex_E + shift alt shiftl ctrll keycode 78 = Hex_E + altgr shiftr ctrll keycode 78 = Hex_E + shift alt shiftr ctrll keycode 78 = Hex_E + altgr shiftl shiftr ctrll keycode 78 = Hex_E + shift alt shiftl shiftr ctrll keycode 78 = Hex_E +keycode 79 = KP_1 + altgr keycode 79 = Hex_1 + alt keycode 79 = Ascii_1 + shift alt keycode 79 = Hex_1 + altgr shiftl keycode 79 = Hex_1 + alt shiftl keycode 79 = Ascii_1 + shift alt shiftl keycode 79 = Hex_1 + altgr shiftr keycode 79 = Hex_1 + alt shiftr keycode 79 = Ascii_1 + shift alt shiftr keycode 79 = Hex_1 + altgr shiftl shiftr keycode 79 = Hex_1 + alt shiftl shiftr keycode 79 = Ascii_1 + shift alt shiftl shiftr keycode 79 = Hex_1 + altgr ctrll keycode 79 = Hex_1 + alt ctrll keycode 79 = Ascii_1 + shift alt ctrll keycode 79 = Hex_1 + altgr shiftl ctrll keycode 79 = Hex_1 + alt shiftl ctrll keycode 79 = Ascii_1 + shift alt shiftl ctrll keycode 79 = Hex_1 + altgr shiftr ctrll keycode 79 = Hex_1 + alt shiftr ctrll keycode 79 = Ascii_1 + shift alt shiftr ctrll keycode 79 = Hex_1 + altgr shiftl shiftr ctrll keycode 79 = Hex_1 + alt shiftl shiftr ctrll keycode 79 = Ascii_1 + shift alt shiftl shiftr ctrll keycode 79 = Hex_1 +keycode 80 = KP_2 + altgr keycode 80 = Hex_2 + alt keycode 80 = Ascii_2 + shift alt keycode 80 = Hex_2 + altgr shiftl keycode 80 = Hex_2 + alt shiftl keycode 80 = Ascii_2 + shift alt shiftl keycode 80 = Hex_2 + altgr shiftr keycode 80 = Hex_2 + alt shiftr keycode 80 = Ascii_2 + shift alt shiftr keycode 80 = Hex_2 + altgr shiftl shiftr keycode 80 = Hex_2 + alt shiftl shiftr keycode 80 = Ascii_2 + shift alt shiftl shiftr keycode 80 = Hex_2 + altgr ctrll keycode 80 = Hex_2 + alt ctrll keycode 80 = Ascii_2 + shift alt ctrll keycode 80 = Hex_2 + altgr shiftl ctrll keycode 80 = Hex_2 + alt shiftl ctrll keycode 80 = Ascii_2 + shift alt shiftl ctrll keycode 80 = Hex_2 + altgr shiftr ctrll keycode 80 = Hex_2 + alt shiftr ctrll keycode 80 = Ascii_2 + shift alt shiftr ctrll keycode 80 = Hex_2 + altgr shiftl shiftr ctrll keycode 80 = Hex_2 + alt shiftl shiftr ctrll keycode 80 = Ascii_2 + shift alt shiftl shiftr ctrll keycode 80 = Hex_2 +keycode 81 = KP_3 + altgr keycode 81 = Hex_3 + alt keycode 81 = Ascii_3 + shift alt keycode 81 = Hex_3 + altgr shiftl keycode 81 = Hex_3 + alt shiftl keycode 81 = Ascii_3 + shift alt shiftl keycode 81 = Hex_3 + altgr shiftr keycode 81 = Hex_3 + alt shiftr keycode 81 = Ascii_3 + shift alt shiftr keycode 81 = Hex_3 + altgr shiftl shiftr keycode 81 = Hex_3 + alt shiftl shiftr keycode 81 = Ascii_3 + shift alt shiftl shiftr keycode 81 = Hex_3 + altgr ctrll keycode 81 = Hex_3 + alt ctrll keycode 81 = Ascii_3 + shift alt ctrll keycode 81 = Hex_3 + altgr shiftl ctrll keycode 81 = Hex_3 + alt shiftl ctrll keycode 81 = Ascii_3 + shift alt shiftl ctrll keycode 81 = Hex_3 + altgr shiftr ctrll keycode 81 = Hex_3 + alt shiftr ctrll keycode 81 = Ascii_3 + shift alt shiftr ctrll keycode 81 = Hex_3 + altgr shiftl shiftr ctrll keycode 81 = Hex_3 + alt shiftl shiftr ctrll keycode 81 = Ascii_3 + shift alt shiftl shiftr ctrll keycode 81 = Hex_3 +keycode 82 = KP_0 + altgr keycode 82 = Hex_0 + alt keycode 82 = Ascii_0 + shift alt keycode 82 = Hex_0 + altgr shiftl keycode 82 = Hex_0 + alt shiftl keycode 82 = Ascii_0 + shift alt shiftl keycode 82 = Hex_0 + altgr shiftr keycode 82 = Hex_0 + alt shiftr keycode 82 = Ascii_0 + shift alt shiftr keycode 82 = Hex_0 + altgr shiftl shiftr keycode 82 = Hex_0 + alt shiftl shiftr keycode 82 = Ascii_0 + shift alt shiftl shiftr keycode 82 = Hex_0 + altgr ctrll keycode 82 = Hex_0 + alt ctrll keycode 82 = Ascii_0 + shift alt ctrll keycode 82 = Hex_0 + altgr shiftl ctrll keycode 82 = Hex_0 + alt shiftl ctrll keycode 82 = Ascii_0 + shift alt shiftl ctrll keycode 82 = Hex_0 + altgr shiftr ctrll keycode 82 = Hex_0 + alt shiftr ctrll keycode 82 = Ascii_0 + shift alt shiftr ctrll keycode 82 = Hex_0 + altgr shiftl shiftr ctrll keycode 82 = Hex_0 + alt shiftl shiftr ctrll keycode 82 = Ascii_0 + shift alt shiftl shiftr ctrll keycode 82 = Hex_0 +keycode 83 = KP_Comma + altgr control keycode 83 = Boot + control alt keycode 83 = Boot + altgr control alt keycode 83 = Boot + altgr control shiftl keycode 83 = Boot + control alt shiftl keycode 83 = Boot + altgr control alt shiftl keycode 83 = Boot + altgr control shiftr keycode 83 = Boot + control alt shiftr keycode 83 = Boot + altgr control alt shiftr keycode 83 = Boot + altgr control shiftl shiftr keycode 83 = Boot + control alt shiftl shiftr keycode 83 = Boot + altgr control alt shiftl shiftr keycode 83 = Boot + altgr control ctrll keycode 83 = Boot + control alt ctrll keycode 83 = Boot + altgr control alt ctrll keycode 83 = Boot + altgr control shiftl ctrll keycode 83 = Boot + control alt shiftl ctrll keycode 83 = Boot + altgr control alt shiftl ctrll keycode 83 = Boot + altgr control shiftr ctrll keycode 83 = Boot + control alt shiftr ctrll keycode 83 = Boot + altgr control alt shiftr ctrll keycode 83 = Boot + altgr control shiftl shiftr ctrll keycode 83 = Boot + control alt shiftl shiftr ctrll keycode 83 = Boot + altgr control alt shiftl shiftr ctrll keycode 83 = Boot +keycode 84 = Last_Console Last_Console Last_Console + control keycode 84 = Last_Console + shift control keycode 84 = Last_Console + alt keycode 84 = Last_Console + control alt keycode 84 = Last_Console +keycode 85 = +keycode 86 = backslash + shift keycode 86 = bar + altgr keycode 86 = +masculine + shift altgr keycode 86 = dead_tilde + control keycode 86 = Control_backslash + shift control keycode 86 = Control_backslash + altgr control keycode 86 = Control_backslash + shift altgr control keycode 86 = dead_tilde + alt keycode 86 = Meta_backslash + shift alt keycode 86 = Meta_bar + altgr alt keycode 86 = Meta_backslash + shift altgr alt keycode 86 = dead_tilde + control alt keycode 86 = Meta_Control_backslash + shift control alt keycode 86 = Meta_Control_backslash + altgr control alt keycode 86 = Meta_Control_backslash + shift altgr control alt keycode 86 = dead_tilde + shift shiftl keycode 86 = bar + altgr shiftl keycode 86 = +masculine + shift altgr shiftl keycode 86 = dead_tilde + control shiftl keycode 86 = Control_backslash + shift control shiftl keycode 86 = Control_backslash + altgr control shiftl keycode 86 = Control_backslash + shift altgr control shiftl keycode 86 = dead_tilde + alt shiftl keycode 86 = Meta_backslash + shift alt shiftl keycode 86 = Meta_bar + altgr alt shiftl keycode 86 = Meta_backslash + shift altgr alt shiftl keycode 86 = dead_tilde + control alt shiftl keycode 86 = Meta_Control_backslash + shift control alt shiftl keycode 86 = Meta_Control_backslash + altgr control alt shiftl keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl keycode 86 = dead_tilde + shift shiftr keycode 86 = bar + altgr shiftr keycode 86 = +masculine + shift altgr shiftr keycode 86 = dead_tilde + control shiftr keycode 86 = Control_backslash + shift control shiftr keycode 86 = Control_backslash + altgr control shiftr keycode 86 = Control_backslash + shift altgr control shiftr keycode 86 = dead_tilde + alt shiftr keycode 86 = Meta_backslash + shift alt shiftr keycode 86 = Meta_bar + altgr alt shiftr keycode 86 = Meta_backslash + shift altgr alt shiftr keycode 86 = dead_tilde + control alt shiftr keycode 86 = Meta_Control_backslash + shift control alt shiftr keycode 86 = Meta_Control_backslash + altgr control alt shiftr keycode 86 = Meta_Control_backslash + shift altgr control alt shiftr keycode 86 = dead_tilde + shift shiftl shiftr keycode 86 = bar + altgr shiftl shiftr keycode 86 = +masculine + shift altgr shiftl shiftr keycode 86 = dead_tilde + control shiftl shiftr keycode 86 = Control_backslash + shift control shiftl shiftr keycode 86 = Control_backslash + altgr control shiftl shiftr keycode 86 = Control_backslash + shift altgr control shiftl shiftr keycode 86 = dead_tilde + alt shiftl shiftr keycode 86 = Meta_backslash + shift alt shiftl shiftr keycode 86 = Meta_bar + altgr alt shiftl shiftr keycode 86 = Meta_backslash + shift altgr alt shiftl shiftr keycode 86 = dead_tilde + control alt shiftl shiftr keycode 86 = Meta_Control_backslash + shift control alt shiftl shiftr keycode 86 = Meta_Control_backslash + altgr control alt shiftl shiftr keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl shiftr keycode 86 = dead_tilde + shift ctrll keycode 86 = bar + altgr ctrll keycode 86 = +masculine + shift altgr ctrll keycode 86 = dead_tilde + control ctrll keycode 86 = Control_backslash + shift control ctrll keycode 86 = Control_backslash + altgr control ctrll keycode 86 = Control_backslash + shift altgr control ctrll keycode 86 = dead_tilde + alt ctrll keycode 86 = Meta_backslash + shift alt ctrll keycode 86 = Meta_bar + altgr alt ctrll keycode 86 = Meta_backslash + shift altgr alt ctrll keycode 86 = dead_tilde + control alt ctrll keycode 86 = Meta_Control_backslash + shift control alt ctrll keycode 86 = Meta_Control_backslash + altgr control alt ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt ctrll keycode 86 = dead_tilde + shift shiftl ctrll keycode 86 = bar + altgr shiftl ctrll keycode 86 = +masculine + shift altgr shiftl ctrll keycode 86 = dead_tilde + control shiftl ctrll keycode 86 = Control_backslash + shift control shiftl ctrll keycode 86 = Control_backslash + altgr control shiftl ctrll keycode 86 = Control_backslash + shift altgr control shiftl ctrll keycode 86 = dead_tilde + alt shiftl ctrll keycode 86 = Meta_backslash + shift alt shiftl ctrll keycode 86 = Meta_bar + altgr alt shiftl ctrll keycode 86 = Meta_backslash + shift altgr alt shiftl ctrll keycode 86 = dead_tilde + control alt shiftl ctrll keycode 86 = Meta_Control_backslash + shift control alt shiftl ctrll keycode 86 = Meta_Control_backslash + altgr control alt shiftl ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl ctrll keycode 86 = dead_tilde + shift shiftr ctrll keycode 86 = bar + altgr shiftr ctrll keycode 86 = +masculine + shift altgr shiftr ctrll keycode 86 = dead_tilde + control shiftr ctrll keycode 86 = Control_backslash + shift control shiftr ctrll keycode 86 = Control_backslash + altgr control shiftr ctrll keycode 86 = Control_backslash + shift altgr control shiftr ctrll keycode 86 = dead_tilde + alt shiftr ctrll keycode 86 = Meta_backslash + shift alt shiftr ctrll keycode 86 = Meta_bar + altgr alt shiftr ctrll keycode 86 = Meta_backslash + shift altgr alt shiftr ctrll keycode 86 = dead_tilde + control alt shiftr ctrll keycode 86 = Meta_Control_backslash + shift control alt shiftr ctrll keycode 86 = Meta_Control_backslash + altgr control alt shiftr ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt shiftr ctrll keycode 86 = dead_tilde + shift shiftl shiftr ctrll keycode 86 = bar + altgr shiftl shiftr ctrll keycode 86 = +masculine + shift altgr shiftl shiftr ctrll keycode 86 = dead_tilde + control shiftl shiftr ctrll keycode 86 = Control_backslash + shift control shiftl shiftr ctrll keycode 86 = Control_backslash + altgr control shiftl shiftr ctrll keycode 86 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 86 = dead_tilde + alt shiftl shiftr ctrll keycode 86 = Meta_backslash + shift alt shiftl shiftr ctrll keycode 86 = Meta_bar + altgr alt shiftl shiftr ctrll keycode 86 = Meta_backslash + shift altgr alt shiftl shiftr ctrll keycode 86 = dead_tilde + control alt shiftl shiftr ctrll keycode 86 = Meta_Control_backslash + shift control alt shiftl shiftr ctrll keycode 86 = Meta_Control_backslash + altgr control alt shiftl shiftr ctrll keycode 86 = Meta_Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 86 = dead_tilde +keycode 87 = F11 + shift keycode 87 = F23 + altgr keycode 87 = Console_23 + shift altgr keycode 87 = Console_35 + control keycode 87 = F35 + shift control keycode 87 = F47 + altgr control keycode 87 = Console_23 + shift altgr control keycode 87 = Console_35 + alt keycode 87 = Console_11 + shift alt keycode 87 = Console_23 + control alt keycode 87 = Console_11 + shift control alt keycode 87 = Console_23 + shift shiftl keycode 87 = F23 + altgr shiftl keycode 87 = Console_23 + shift altgr shiftl keycode 87 = Console_35 + control shiftl keycode 87 = F35 + shift control shiftl keycode 87 = F47 + altgr control shiftl keycode 87 = Console_23 + shift altgr control shiftl keycode 87 = Console_35 + alt shiftl keycode 87 = Console_11 + shift alt shiftl keycode 87 = Console_23 + control alt shiftl keycode 87 = Console_11 + shift control alt shiftl keycode 87 = Console_23 + shift shiftr keycode 87 = F23 + altgr shiftr keycode 87 = Console_23 + shift altgr shiftr keycode 87 = Console_35 + control shiftr keycode 87 = F35 + shift control shiftr keycode 87 = F47 + altgr control shiftr keycode 87 = Console_23 + shift altgr control shiftr keycode 87 = Console_35 + alt shiftr keycode 87 = Console_11 + shift alt shiftr keycode 87 = Console_23 + control alt shiftr keycode 87 = Console_11 + shift control alt shiftr keycode 87 = Console_23 + shift shiftl shiftr keycode 87 = F23 + altgr shiftl shiftr keycode 87 = Console_23 + shift altgr shiftl shiftr keycode 87 = Console_35 + control shiftl shiftr keycode 87 = F35 + shift control shiftl shiftr keycode 87 = F47 + altgr control shiftl shiftr keycode 87 = Console_23 + shift altgr control shiftl shiftr keycode 87 = Console_35 + alt shiftl shiftr keycode 87 = Console_11 + shift alt shiftl shiftr keycode 87 = Console_23 + control alt shiftl shiftr keycode 87 = Console_11 + shift control alt shiftl shiftr keycode 87 = Console_23 + shift ctrll keycode 87 = F23 + altgr ctrll keycode 87 = Console_23 + shift altgr ctrll keycode 87 = Console_35 + control ctrll keycode 87 = F35 + shift control ctrll keycode 87 = F47 + altgr control ctrll keycode 87 = Console_23 + shift altgr control ctrll keycode 87 = Console_35 + alt ctrll keycode 87 = Console_11 + shift alt ctrll keycode 87 = Console_23 + control alt ctrll keycode 87 = Console_11 + shift control alt ctrll keycode 87 = Console_23 + shift shiftl ctrll keycode 87 = F23 + altgr shiftl ctrll keycode 87 = Console_23 + shift altgr shiftl ctrll keycode 87 = Console_35 + control shiftl ctrll keycode 87 = F35 + shift control shiftl ctrll keycode 87 = F47 + altgr control shiftl ctrll keycode 87 = Console_23 + shift altgr control shiftl ctrll keycode 87 = Console_35 + alt shiftl ctrll keycode 87 = Console_11 + shift alt shiftl ctrll keycode 87 = Console_23 + control alt shiftl ctrll keycode 87 = Console_11 + shift control alt shiftl ctrll keycode 87 = Console_23 + shift shiftr ctrll keycode 87 = F23 + altgr shiftr ctrll keycode 87 = Console_23 + shift altgr shiftr ctrll keycode 87 = Console_35 + control shiftr ctrll keycode 87 = F35 + shift control shiftr ctrll keycode 87 = F47 + altgr control shiftr ctrll keycode 87 = Console_23 + shift altgr control shiftr ctrll keycode 87 = Console_35 + alt shiftr ctrll keycode 87 = Console_11 + shift alt shiftr ctrll keycode 87 = Console_23 + control alt shiftr ctrll keycode 87 = Console_11 + shift control alt shiftr ctrll keycode 87 = Console_23 + shift shiftl shiftr ctrll keycode 87 = F23 + altgr shiftl shiftr ctrll keycode 87 = Console_23 + shift altgr shiftl shiftr ctrll keycode 87 = Console_35 + control shiftl shiftr ctrll keycode 87 = F35 + shift control shiftl shiftr ctrll keycode 87 = F47 + altgr control shiftl shiftr ctrll keycode 87 = Console_23 + shift altgr control shiftl shiftr ctrll keycode 87 = Console_35 + alt shiftl shiftr ctrll keycode 87 = Console_11 + shift alt shiftl shiftr ctrll keycode 87 = Console_23 + control alt shiftl shiftr ctrll keycode 87 = Console_11 + shift control alt shiftl shiftr ctrll keycode 87 = Console_23 +keycode 88 = F12 + shift keycode 88 = F24 + altgr keycode 88 = Console_24 + shift altgr keycode 88 = Console_36 + control keycode 88 = F36 + shift control keycode 88 = F48 + altgr control keycode 88 = Console_24 + shift altgr control keycode 88 = Console_36 + alt keycode 88 = Console_12 + shift alt keycode 88 = Console_24 + control alt keycode 88 = Console_12 + shift control alt keycode 88 = Console_24 + shift shiftl keycode 88 = F24 + altgr shiftl keycode 88 = Console_24 + shift altgr shiftl keycode 88 = Console_36 + control shiftl keycode 88 = F36 + shift control shiftl keycode 88 = F48 + altgr control shiftl keycode 88 = Console_24 + shift altgr control shiftl keycode 88 = Console_36 + alt shiftl keycode 88 = Console_12 + shift alt shiftl keycode 88 = Console_24 + control alt shiftl keycode 88 = Console_12 + shift control alt shiftl keycode 88 = Console_24 + shift shiftr keycode 88 = F24 + altgr shiftr keycode 88 = Console_24 + shift altgr shiftr keycode 88 = Console_36 + control shiftr keycode 88 = F36 + shift control shiftr keycode 88 = F48 + altgr control shiftr keycode 88 = Console_24 + shift altgr control shiftr keycode 88 = Console_36 + alt shiftr keycode 88 = Console_12 + shift alt shiftr keycode 88 = Console_24 + control alt shiftr keycode 88 = Console_12 + shift control alt shiftr keycode 88 = Console_24 + shift shiftl shiftr keycode 88 = F24 + altgr shiftl shiftr keycode 88 = Console_24 + shift altgr shiftl shiftr keycode 88 = Console_36 + control shiftl shiftr keycode 88 = F36 + shift control shiftl shiftr keycode 88 = F48 + altgr control shiftl shiftr keycode 88 = Console_24 + shift altgr control shiftl shiftr keycode 88 = Console_36 + alt shiftl shiftr keycode 88 = Console_12 + shift alt shiftl shiftr keycode 88 = Console_24 + control alt shiftl shiftr keycode 88 = Console_12 + shift control alt shiftl shiftr keycode 88 = Console_24 + shift ctrll keycode 88 = F24 + altgr ctrll keycode 88 = Console_24 + shift altgr ctrll keycode 88 = Console_36 + control ctrll keycode 88 = F36 + shift control ctrll keycode 88 = F48 + altgr control ctrll keycode 88 = Console_24 + shift altgr control ctrll keycode 88 = Console_36 + alt ctrll keycode 88 = Console_12 + shift alt ctrll keycode 88 = Console_24 + control alt ctrll keycode 88 = Console_12 + shift control alt ctrll keycode 88 = Console_24 + shift shiftl ctrll keycode 88 = F24 + altgr shiftl ctrll keycode 88 = Console_24 + shift altgr shiftl ctrll keycode 88 = Console_36 + control shiftl ctrll keycode 88 = F36 + shift control shiftl ctrll keycode 88 = F48 + altgr control shiftl ctrll keycode 88 = Console_24 + shift altgr control shiftl ctrll keycode 88 = Console_36 + alt shiftl ctrll keycode 88 = Console_12 + shift alt shiftl ctrll keycode 88 = Console_24 + control alt shiftl ctrll keycode 88 = Console_12 + shift control alt shiftl ctrll keycode 88 = Console_24 + shift shiftr ctrll keycode 88 = F24 + altgr shiftr ctrll keycode 88 = Console_24 + shift altgr shiftr ctrll keycode 88 = Console_36 + control shiftr ctrll keycode 88 = F36 + shift control shiftr ctrll keycode 88 = F48 + altgr control shiftr ctrll keycode 88 = Console_24 + shift altgr control shiftr ctrll keycode 88 = Console_36 + alt shiftr ctrll keycode 88 = Console_12 + shift alt shiftr ctrll keycode 88 = Console_24 + control alt shiftr ctrll keycode 88 = Console_12 + shift control alt shiftr ctrll keycode 88 = Console_24 + shift shiftl shiftr ctrll keycode 88 = F24 + altgr shiftl shiftr ctrll keycode 88 = Console_24 + shift altgr shiftl shiftr ctrll keycode 88 = Console_36 + control shiftl shiftr ctrll keycode 88 = F36 + shift control shiftl shiftr ctrll keycode 88 = F48 + altgr control shiftl shiftr ctrll keycode 88 = Console_24 + shift altgr control shiftl shiftr ctrll keycode 88 = Console_36 + alt shiftl shiftr ctrll keycode 88 = Console_12 + shift alt shiftl shiftr ctrll keycode 88 = Console_24 + control alt shiftl shiftr ctrll keycode 88 = Console_12 + shift control alt shiftl shiftr ctrll keycode 88 = Console_24 +keycode 89 = slash + shift keycode 89 = question + altgr keycode 89 = degree + shift altgr keycode 89 = questiondown + control keycode 89 = Delete + shift control keycode 89 = Delete + altgr control keycode 89 = Delete + shift altgr control keycode 89 = Delete + alt keycode 89 = Meta_slash + shift alt keycode 89 = Meta_question + altgr alt keycode 89 = Meta_slash + shift altgr alt keycode 89 = Meta_question + control alt keycode 89 = Meta_Delete + shift control alt keycode 89 = Meta_Delete + altgr control alt keycode 89 = Meta_Delete + shift altgr control alt keycode 89 = Meta_Delete + shift shiftl keycode 89 = question + altgr shiftl keycode 89 = degree + shift altgr shiftl keycode 89 = questiondown + control shiftl keycode 89 = Delete + shift control shiftl keycode 89 = Delete + altgr control shiftl keycode 89 = Delete + shift altgr control shiftl keycode 89 = Delete + alt shiftl keycode 89 = Meta_slash + shift alt shiftl keycode 89 = Meta_question + altgr alt shiftl keycode 89 = Meta_slash + shift altgr alt shiftl keycode 89 = Meta_question + control alt shiftl keycode 89 = Meta_Delete + shift control alt shiftl keycode 89 = Meta_Delete + altgr control alt shiftl keycode 89 = Meta_Delete + shift altgr control alt shiftl keycode 89 = Meta_Delete + shift shiftr keycode 89 = question + altgr shiftr keycode 89 = degree + shift altgr shiftr keycode 89 = questiondown + control shiftr keycode 89 = Delete + shift control shiftr keycode 89 = Delete + altgr control shiftr keycode 89 = Delete + shift altgr control shiftr keycode 89 = Delete + alt shiftr keycode 89 = Meta_slash + shift alt shiftr keycode 89 = Meta_question + altgr alt shiftr keycode 89 = Meta_slash + shift altgr alt shiftr keycode 89 = Meta_question + control alt shiftr keycode 89 = Meta_Delete + shift control alt shiftr keycode 89 = Meta_Delete + altgr control alt shiftr keycode 89 = Meta_Delete + shift altgr control alt shiftr keycode 89 = Meta_Delete + shift shiftl shiftr keycode 89 = question + altgr shiftl shiftr keycode 89 = degree + shift altgr shiftl shiftr keycode 89 = questiondown + control shiftl shiftr keycode 89 = Delete + shift control shiftl shiftr keycode 89 = Delete + altgr control shiftl shiftr keycode 89 = Delete + shift altgr control shiftl shiftr keycode 89 = Delete + alt shiftl shiftr keycode 89 = Meta_slash + shift alt shiftl shiftr keycode 89 = Meta_question + altgr alt shiftl shiftr keycode 89 = Meta_slash + shift altgr alt shiftl shiftr keycode 89 = Meta_question + control alt shiftl shiftr keycode 89 = Meta_Delete + shift control alt shiftl shiftr keycode 89 = Meta_Delete + altgr control alt shiftl shiftr keycode 89 = Meta_Delete + shift altgr control alt shiftl shiftr keycode 89 = Meta_Delete + shift ctrll keycode 89 = question + altgr ctrll keycode 89 = degree + shift altgr ctrll keycode 89 = questiondown + control ctrll keycode 89 = Delete + shift control ctrll keycode 89 = Delete + altgr control ctrll keycode 89 = Delete + shift altgr control ctrll keycode 89 = Delete + alt ctrll keycode 89 = Meta_slash + shift alt ctrll keycode 89 = Meta_question + altgr alt ctrll keycode 89 = Meta_slash + shift altgr alt ctrll keycode 89 = Meta_question + control alt ctrll keycode 89 = Meta_Delete + shift control alt ctrll keycode 89 = Meta_Delete + altgr control alt ctrll keycode 89 = Meta_Delete + shift altgr control alt ctrll keycode 89 = Meta_Delete + shift shiftl ctrll keycode 89 = question + altgr shiftl ctrll keycode 89 = degree + shift altgr shiftl ctrll keycode 89 = questiondown + control shiftl ctrll keycode 89 = Delete + shift control shiftl ctrll keycode 89 = Delete + altgr control shiftl ctrll keycode 89 = Delete + shift altgr control shiftl ctrll keycode 89 = Delete + alt shiftl ctrll keycode 89 = Meta_slash + shift alt shiftl ctrll keycode 89 = Meta_question + altgr alt shiftl ctrll keycode 89 = Meta_slash + shift altgr alt shiftl ctrll keycode 89 = Meta_question + control alt shiftl ctrll keycode 89 = Meta_Delete + shift control alt shiftl ctrll keycode 89 = Meta_Delete + altgr control alt shiftl ctrll keycode 89 = Meta_Delete + shift altgr control alt shiftl ctrll keycode 89 = Meta_Delete + shift shiftr ctrll keycode 89 = question + altgr shiftr ctrll keycode 89 = degree + shift altgr shiftr ctrll keycode 89 = questiondown + control shiftr ctrll keycode 89 = Delete + shift control shiftr ctrll keycode 89 = Delete + altgr control shiftr ctrll keycode 89 = Delete + shift altgr control shiftr ctrll keycode 89 = Delete + alt shiftr ctrll keycode 89 = Meta_slash + shift alt shiftr ctrll keycode 89 = Meta_question + altgr alt shiftr ctrll keycode 89 = Meta_slash + shift altgr alt shiftr ctrll keycode 89 = Meta_question + control alt shiftr ctrll keycode 89 = Meta_Delete + shift control alt shiftr ctrll keycode 89 = Meta_Delete + altgr control alt shiftr ctrll keycode 89 = Meta_Delete + shift altgr control alt shiftr ctrll keycode 89 = Meta_Delete + shift shiftl shiftr ctrll keycode 89 = question + altgr shiftl shiftr ctrll keycode 89 = degree + shift altgr shiftl shiftr ctrll keycode 89 = questiondown + control shiftl shiftr ctrll keycode 89 = Delete + shift control shiftl shiftr ctrll keycode 89 = Delete + altgr control shiftl shiftr ctrll keycode 89 = Delete + shift altgr control shiftl shiftr ctrll keycode 89 = Delete + alt shiftl shiftr ctrll keycode 89 = Meta_slash + shift alt shiftl shiftr ctrll keycode 89 = Meta_question + altgr alt shiftl shiftr ctrll keycode 89 = Meta_slash + shift altgr alt shiftl shiftr ctrll keycode 89 = Meta_question + control alt shiftl shiftr ctrll keycode 89 = Meta_Delete + shift control alt shiftl shiftr ctrll keycode 89 = Meta_Delete + altgr control alt shiftl shiftr ctrll keycode 89 = Meta_Delete + shift altgr control alt shiftl shiftr ctrll keycode 89 = Meta_Delete +keycode 90 = +keycode 91 = +keycode 92 = +keycode 93 = +keycode 94 = +keycode 95 = +keycode 96 = KP_Enter + altgr keycode 96 = Hex_F + shift alt keycode 96 = Hex_F + altgr shiftl keycode 96 = Hex_F + shift alt shiftl keycode 96 = Hex_F + altgr shiftr keycode 96 = Hex_F + shift alt shiftr keycode 96 = Hex_F + altgr shiftl shiftr keycode 96 = Hex_F + shift alt shiftl shiftr keycode 96 = Hex_F + altgr ctrll keycode 96 = Hex_F + shift alt ctrll keycode 96 = Hex_F + altgr shiftl ctrll keycode 96 = Hex_F + shift alt shiftl ctrll keycode 96 = Hex_F + altgr shiftr ctrll keycode 96 = Hex_F + shift alt shiftr ctrll keycode 96 = Hex_F + altgr shiftl shiftr ctrll keycode 96 = Hex_F + shift alt shiftl shiftr ctrll keycode 96 = Hex_F +keycode 97 = Control +keycode 98 = KP_Divide + altgr keycode 98 = Hex_B + shift alt keycode 98 = Hex_B + altgr shiftl keycode 98 = Hex_B + shift alt shiftl keycode 98 = Hex_B + altgr shiftr keycode 98 = Hex_B + shift alt shiftr keycode 98 = Hex_B + altgr shiftl shiftr keycode 98 = Hex_B + shift alt shiftl shiftr keycode 98 = Hex_B + altgr ctrll keycode 98 = Hex_B + shift alt ctrll keycode 98 = Hex_B + altgr shiftl ctrll keycode 98 = Hex_B + shift alt shiftl ctrll keycode 98 = Hex_B + altgr shiftr ctrll keycode 98 = Hex_B + shift alt shiftr ctrll keycode 98 = Hex_B + altgr shiftl shiftr ctrll keycode 98 = Hex_B + shift alt shiftl shiftr ctrll keycode 98 = Hex_B +keycode 99 = + altgr keycode 99 = Control_backslash + shift altgr keycode 99 = Control_backslash + control keycode 99 = Control_backslash + shift control keycode 99 = Control_backslash + altgr control keycode 99 = Control_backslash + shift altgr control keycode 99 = Control_backslash + alt keycode 99 = Control_backslash + shift alt keycode 99 = Control_backslash + altgr alt keycode 99 = Control_backslash + shift altgr alt keycode 99 = Control_backslash + control alt keycode 99 = Control_backslash + shift control alt keycode 99 = Control_backslash + altgr control alt keycode 99 = Control_backslash + shift altgr control alt keycode 99 = Control_backslash + altgr shiftl keycode 99 = Control_backslash + shift altgr shiftl keycode 99 = Control_backslash + control shiftl keycode 99 = Control_backslash + shift control shiftl keycode 99 = Control_backslash + altgr control shiftl keycode 99 = Control_backslash + shift altgr control shiftl keycode 99 = Control_backslash + alt shiftl keycode 99 = Control_backslash + shift alt shiftl keycode 99 = Control_backslash + altgr alt shiftl keycode 99 = Control_backslash + shift altgr alt shiftl keycode 99 = Control_backslash + control alt shiftl keycode 99 = Control_backslash + shift control alt shiftl keycode 99 = Control_backslash + altgr control alt shiftl keycode 99 = Control_backslash + shift altgr control alt shiftl keycode 99 = Control_backslash + altgr shiftr keycode 99 = Control_backslash + shift altgr shiftr keycode 99 = Control_backslash + control shiftr keycode 99 = Control_backslash + shift control shiftr keycode 99 = Control_backslash + altgr control shiftr keycode 99 = Control_backslash + shift altgr control shiftr keycode 99 = Control_backslash + alt shiftr keycode 99 = Control_backslash + shift alt shiftr keycode 99 = Control_backslash + altgr alt shiftr keycode 99 = Control_backslash + shift altgr alt shiftr keycode 99 = Control_backslash + control alt shiftr keycode 99 = Control_backslash + shift control alt shiftr keycode 99 = Control_backslash + altgr control alt shiftr keycode 99 = Control_backslash + shift altgr control alt shiftr keycode 99 = Control_backslash + altgr shiftl shiftr keycode 99 = Control_backslash + shift altgr shiftl shiftr keycode 99 = Control_backslash + control shiftl shiftr keycode 99 = Control_backslash + shift control shiftl shiftr keycode 99 = Control_backslash + altgr control shiftl shiftr keycode 99 = Control_backslash + shift altgr control shiftl shiftr keycode 99 = Control_backslash + alt shiftl shiftr keycode 99 = Control_backslash + shift alt shiftl shiftr keycode 99 = Control_backslash + altgr alt shiftl shiftr keycode 99 = Control_backslash + shift altgr alt shiftl shiftr keycode 99 = Control_backslash + control alt shiftl shiftr keycode 99 = Control_backslash + shift control alt shiftl shiftr keycode 99 = Control_backslash + altgr control alt shiftl shiftr keycode 99 = Control_backslash + shift altgr control alt shiftl shiftr keycode 99 = Control_backslash + altgr ctrll keycode 99 = Control_backslash + shift altgr ctrll keycode 99 = Control_backslash + control ctrll keycode 99 = Control_backslash + shift control ctrll keycode 99 = Control_backslash + altgr control ctrll keycode 99 = Control_backslash + shift altgr control ctrll keycode 99 = Control_backslash + alt ctrll keycode 99 = Control_backslash + shift alt ctrll keycode 99 = Control_backslash + altgr alt ctrll keycode 99 = Control_backslash + shift altgr alt ctrll keycode 99 = Control_backslash + control alt ctrll keycode 99 = Control_backslash + shift control alt ctrll keycode 99 = Control_backslash + altgr control alt ctrll keycode 99 = Control_backslash + shift altgr control alt ctrll keycode 99 = Control_backslash + altgr shiftl ctrll keycode 99 = Control_backslash + shift altgr shiftl ctrll keycode 99 = Control_backslash + control shiftl ctrll keycode 99 = Control_backslash + shift control shiftl ctrll keycode 99 = Control_backslash + altgr control shiftl ctrll keycode 99 = Control_backslash + shift altgr control shiftl ctrll keycode 99 = Control_backslash + alt shiftl ctrll keycode 99 = Control_backslash + shift alt shiftl ctrll keycode 99 = Control_backslash + altgr alt shiftl ctrll keycode 99 = Control_backslash + shift altgr alt shiftl ctrll keycode 99 = Control_backslash + control alt shiftl ctrll keycode 99 = Control_backslash + shift control alt shiftl ctrll keycode 99 = Control_backslash + altgr control alt shiftl ctrll keycode 99 = Control_backslash + shift altgr control alt shiftl ctrll keycode 99 = Control_backslash + altgr shiftr ctrll keycode 99 = Control_backslash + shift altgr shiftr ctrll keycode 99 = Control_backslash + control shiftr ctrll keycode 99 = Control_backslash + shift control shiftr ctrll keycode 99 = Control_backslash + altgr control shiftr ctrll keycode 99 = Control_backslash + shift altgr control shiftr ctrll keycode 99 = Control_backslash + alt shiftr ctrll keycode 99 = Control_backslash + shift alt shiftr ctrll keycode 99 = Control_backslash + altgr alt shiftr ctrll keycode 99 = Control_backslash + shift altgr alt shiftr ctrll keycode 99 = Control_backslash + control alt shiftr ctrll keycode 99 = Control_backslash + shift control alt shiftr ctrll keycode 99 = Control_backslash + altgr control alt shiftr ctrll keycode 99 = Control_backslash + shift altgr control alt shiftr ctrll keycode 99 = Control_backslash + altgr shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr shiftl shiftr ctrll keycode 99 = Control_backslash + control shiftl shiftr ctrll keycode 99 = Control_backslash + shift control shiftl shiftr ctrll keycode 99 = Control_backslash + altgr control shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr control shiftl shiftr ctrll keycode 99 = Control_backslash + alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift alt shiftl shiftr ctrll keycode 99 = Control_backslash + altgr alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr alt shiftl shiftr ctrll keycode 99 = Control_backslash + control alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift control alt shiftl shiftr ctrll keycode 99 = Control_backslash + altgr control alt shiftl shiftr ctrll keycode 99 = Control_backslash + shift altgr control alt shiftl shiftr ctrll keycode 99 = Control_backslash +keycode 100 = AltGr +keycode 101 = Break Break Break + control keycode 101 = Break + shift control keycode 101 = Break + alt keycode 101 = Break + control alt keycode 101 = Break +keycode 102 = Find +keycode 103 = Up + alt keycode 103 = KeyboardSignal + alt shiftl keycode 103 = KeyboardSignal + alt shiftr keycode 103 = KeyboardSignal + alt shiftl shiftr keycode 103 = KeyboardSignal + alt ctrll keycode 103 = KeyboardSignal + alt shiftl ctrll keycode 103 = KeyboardSignal + alt shiftr ctrll keycode 103 = KeyboardSignal + alt shiftl shiftr ctrll keycode 103 = KeyboardSignal +keycode 104 = Prior + shift keycode 104 = Scroll_Backward + shift shiftl keycode 104 = Scroll_Backward + shift shiftr keycode 104 = Scroll_Backward + shift shiftl shiftr keycode 104 = Scroll_Backward + shift ctrll keycode 104 = Scroll_Backward + shift shiftl ctrll keycode 104 = Scroll_Backward + shift shiftr ctrll keycode 104 = Scroll_Backward + shift shiftl shiftr ctrll keycode 104 = Scroll_Backward +keycode 105 = Left + alt keycode 105 = Decr_Console + alt shiftl keycode 105 = Decr_Console + alt shiftr keycode 105 = Decr_Console + alt shiftl shiftr keycode 105 = Decr_Console + alt ctrll keycode 105 = Decr_Console + alt shiftl ctrll keycode 105 = Decr_Console + alt shiftr ctrll keycode 105 = Decr_Console + alt shiftl shiftr ctrll keycode 105 = Decr_Console +keycode 106 = Right + alt keycode 106 = Incr_Console + alt shiftl keycode 106 = Incr_Console + alt shiftr keycode 106 = Incr_Console + alt shiftl shiftr keycode 106 = Incr_Console + alt ctrll keycode 106 = Incr_Console + alt shiftl ctrll keycode 106 = Incr_Console + alt shiftr ctrll keycode 106 = Incr_Console + alt shiftl shiftr ctrll keycode 106 = Incr_Console +keycode 107 = Select +keycode 108 = Down +keycode 109 = Next + shift keycode 109 = Scroll_Forward + shift shiftl keycode 109 = Scroll_Forward + shift shiftr keycode 109 = Scroll_Forward + shift shiftl shiftr keycode 109 = Scroll_Forward + shift ctrll keycode 109 = Scroll_Forward + shift shiftl ctrll keycode 109 = Scroll_Forward + shift shiftr ctrll keycode 109 = Scroll_Forward + shift shiftl shiftr ctrll keycode 109 = Scroll_Forward +keycode 110 = Insert +keycode 111 = Remove + altgr control keycode 111 = Boot + control alt keycode 111 = Boot + altgr control alt keycode 111 = Boot + altgr control shiftl keycode 111 = Boot + control alt shiftl keycode 111 = Boot + altgr control alt shiftl keycode 111 = Boot + altgr control shiftr keycode 111 = Boot + control alt shiftr keycode 111 = Boot + altgr control alt shiftr keycode 111 = Boot + altgr control shiftl shiftr keycode 111 = Boot + control alt shiftl shiftr keycode 111 = Boot + altgr control alt shiftl shiftr keycode 111 = Boot + altgr control ctrll keycode 111 = Boot + control alt ctrll keycode 111 = Boot + altgr control alt ctrll keycode 111 = Boot + altgr control shiftl ctrll keycode 111 = Boot + control alt shiftl ctrll keycode 111 = Boot + altgr control alt shiftl ctrll keycode 111 = Boot + altgr control shiftr ctrll keycode 111 = Boot + control alt shiftr ctrll keycode 111 = Boot + altgr control alt shiftr ctrll keycode 111 = Boot + altgr control shiftl shiftr ctrll keycode 111 = Boot + control alt shiftl shiftr ctrll keycode 111 = Boot + altgr control alt shiftl shiftr ctrll keycode 111 = Boot +keycode 112 = Macro Macro Macro + control keycode 112 = Macro + shift control keycode 112 = Macro + alt keycode 112 = Macro + control alt keycode 112 = Macro +keycode 113 = F13 F13 F13 + control keycode 113 = F13 + shift control keycode 113 = F13 + alt keycode 113 = F13 + control alt keycode 113 = F13 +keycode 114 = F14 F14 F14 + control keycode 114 = F14 + shift control keycode 114 = F14 + alt keycode 114 = F14 + control alt keycode 114 = F14 +keycode 115 = Help Help Help + control keycode 115 = Help + shift control keycode 115 = Help + alt keycode 115 = Help + control alt keycode 115 = Help +keycode 116 = Do Do Do + control keycode 116 = Do + shift control keycode 116 = Do + alt keycode 116 = Do + control alt keycode 116 = Do +keycode 117 = F17 F17 F17 + control keycode 117 = F17 + shift control keycode 117 = F17 + alt keycode 117 = F17 + control alt keycode 117 = F17 +keycode 118 = KP_MinPlus KP_MinPlus KP_MinPlus + control keycode 118 = KP_MinPlus + shift control keycode 118 = KP_MinPlus + alt keycode 118 = KP_MinPlus + control alt keycode 118 = KP_MinPlus +keycode 119 = Pause +keycode 120 = +keycode 121 = KP_Period +keycode 122 = +keycode 123 = +keycode 124 = +keycode 125 = Alt +keycode 126 = Alt +keycode 127 = +keycode 128 = nul nul nul + control keycode 128 = nul + shift control keycode 128 = nul + alt keycode 128 = nul + control alt keycode 128 = nul +keycode 129 = nul nul nul + control keycode 129 = nul + shift control keycode 129 = nul + alt keycode 129 = nul + control alt keycode 129 = nul +keycode 130 = nul nul nul + control keycode 130 = nul + shift control keycode 130 = nul + alt keycode 130 = nul + control alt keycode 130 = nul +keycode 131 = nul nul nul + control keycode 131 = nul + shift control keycode 131 = nul + alt keycode 131 = nul + control alt keycode 131 = nul +keycode 132 = nul nul nul + control keycode 132 = nul + shift control keycode 132 = nul + alt keycode 132 = nul + control alt keycode 132 = nul +keycode 133 = nul nul nul + control keycode 133 = nul + shift control keycode 133 = nul + alt keycode 133 = nul + control alt keycode 133 = nul +keycode 134 = nul nul nul + control keycode 134 = nul + shift control keycode 134 = nul + alt keycode 134 = nul + control alt keycode 134 = nul +keycode 135 = nul nul nul + control keycode 135 = nul + shift control keycode 135 = nul + alt keycode 135 = nul + control alt keycode 135 = nul +keycode 136 = nul nul nul + control keycode 136 = nul + shift control keycode 136 = nul + alt keycode 136 = nul + control alt keycode 136 = nul +keycode 137 = nul nul nul + control keycode 137 = nul + shift control keycode 137 = nul + alt keycode 137 = nul + control alt keycode 137 = nul +keycode 138 = nul nul nul + control keycode 138 = nul + shift control keycode 138 = nul + alt keycode 138 = nul + control alt keycode 138 = nul +keycode 139 = nul nul nul + control keycode 139 = nul + shift control keycode 139 = nul + alt keycode 139 = nul + control alt keycode 139 = nul +keycode 140 = nul nul nul + control keycode 140 = nul + shift control keycode 140 = nul + alt keycode 140 = nul + control alt keycode 140 = nul +keycode 141 = nul nul nul + control keycode 141 = nul + shift control keycode 141 = nul + alt keycode 141 = nul + control alt keycode 141 = nul +keycode 142 = nul nul nul + control keycode 142 = nul + shift control keycode 142 = nul + alt keycode 142 = nul + control alt keycode 142 = nul +keycode 143 = nul nul nul + control keycode 143 = nul + shift control keycode 143 = nul + alt keycode 143 = nul + control alt keycode 143 = nul +keycode 144 = nul nul nul + control keycode 144 = nul + shift control keycode 144 = nul + alt keycode 144 = nul + control alt keycode 144 = nul +keycode 145 = nul nul nul + control keycode 145 = nul + shift control keycode 145 = nul + alt keycode 145 = nul + control alt keycode 145 = nul +keycode 146 = nul nul nul + control keycode 146 = nul + shift control keycode 146 = nul + alt keycode 146 = nul + control alt keycode 146 = nul +keycode 147 = nul nul nul + control keycode 147 = nul + shift control keycode 147 = nul + alt keycode 147 = nul + control alt keycode 147 = nul +keycode 148 = nul nul nul + control keycode 148 = nul + shift control keycode 148 = nul + alt keycode 148 = nul + control alt keycode 148 = nul +keycode 149 = nul nul nul + control keycode 149 = nul + shift control keycode 149 = nul + alt keycode 149 = nul + control alt keycode 149 = nul +keycode 150 = nul nul nul + control keycode 150 = nul + shift control keycode 150 = nul + alt keycode 150 = nul + control alt keycode 150 = nul +keycode 151 = nul nul nul + control keycode 151 = nul + shift control keycode 151 = nul + alt keycode 151 = nul + control alt keycode 151 = nul +keycode 152 = nul nul nul + control keycode 152 = nul + shift control keycode 152 = nul + alt keycode 152 = nul + control alt keycode 152 = nul +keycode 153 = nul nul nul + control keycode 153 = nul + shift control keycode 153 = nul + alt keycode 153 = nul + control alt keycode 153 = nul +keycode 154 = nul nul nul + control keycode 154 = nul + shift control keycode 154 = nul + alt keycode 154 = nul + control alt keycode 154 = nul +keycode 155 = nul nul nul + control keycode 155 = nul + shift control keycode 155 = nul + alt keycode 155 = nul + control alt keycode 155 = nul +keycode 156 = nul nul nul + control keycode 156 = nul + shift control keycode 156 = nul + alt keycode 156 = nul + control alt keycode 156 = nul +keycode 157 = nul nul nul + control keycode 157 = nul + shift control keycode 157 = nul + alt keycode 157 = nul + control alt keycode 157 = nul +keycode 158 = nul nul nul + control keycode 158 = nul + shift control keycode 158 = nul + alt keycode 158 = nul + control alt keycode 158 = nul +keycode 159 = nul nul nul + control keycode 159 = nul + shift control keycode 159 = nul + alt keycode 159 = nul + control alt keycode 159 = nul +keycode 160 = nul nul nul + control keycode 160 = nul + shift control keycode 160 = nul + alt keycode 160 = nul + control alt keycode 160 = nul +keycode 161 = nul nul nul + control keycode 161 = nul + shift control keycode 161 = nul + alt keycode 161 = nul + control alt keycode 161 = nul +keycode 162 = nul nul nul + control keycode 162 = nul + shift control keycode 162 = nul + alt keycode 162 = nul + control alt keycode 162 = nul +keycode 163 = nul nul nul + control keycode 163 = nul + shift control keycode 163 = nul + alt keycode 163 = nul + control alt keycode 163 = nul +keycode 164 = nul nul nul + control keycode 164 = nul + shift control keycode 164 = nul + alt keycode 164 = nul + control alt keycode 164 = nul +keycode 165 = nul nul nul + control keycode 165 = nul + shift control keycode 165 = nul + alt keycode 165 = nul + control alt keycode 165 = nul +keycode 166 = nul nul nul + control keycode 166 = nul + shift control keycode 166 = nul + alt keycode 166 = nul + control alt keycode 166 = nul +keycode 167 = nul nul nul + control keycode 167 = nul + shift control keycode 167 = nul + alt keycode 167 = nul + control alt keycode 167 = nul +keycode 168 = nul nul nul + control keycode 168 = nul + shift control keycode 168 = nul + alt keycode 168 = nul + control alt keycode 168 = nul +keycode 169 = nul nul nul + control keycode 169 = nul + shift control keycode 169 = nul + alt keycode 169 = nul + control alt keycode 169 = nul +keycode 170 = nul nul nul + control keycode 170 = nul + shift control keycode 170 = nul + alt keycode 170 = nul + control alt keycode 170 = nul +keycode 171 = nul nul nul + control keycode 171 = nul + shift control keycode 171 = nul + alt keycode 171 = nul + control alt keycode 171 = nul +keycode 172 = nul nul nul + control keycode 172 = nul + shift control keycode 172 = nul + alt keycode 172 = nul + control alt keycode 172 = nul +keycode 173 = nul nul nul + control keycode 173 = nul + shift control keycode 173 = nul + alt keycode 173 = nul + control alt keycode 173 = nul +keycode 174 = nul nul nul + control keycode 174 = nul + shift control keycode 174 = nul + alt keycode 174 = nul + control alt keycode 174 = nul +keycode 175 = nul nul nul + control keycode 175 = nul + shift control keycode 175 = nul + alt keycode 175 = nul + control alt keycode 175 = nul +keycode 176 = nul nul nul + control keycode 176 = nul + shift control keycode 176 = nul + alt keycode 176 = nul + control alt keycode 176 = nul +keycode 177 = nul nul nul + control keycode 177 = nul + shift control keycode 177 = nul + alt keycode 177 = nul + control alt keycode 177 = nul +keycode 178 = nul nul nul + control keycode 178 = nul + shift control keycode 178 = nul + alt keycode 178 = nul + control alt keycode 178 = nul +keycode 179 = nul nul nul + control keycode 179 = nul + shift control keycode 179 = nul + alt keycode 179 = nul + control alt keycode 179 = nul +keycode 180 = nul nul nul + control keycode 180 = nul + shift control keycode 180 = nul + alt keycode 180 = nul + control alt keycode 180 = nul +keycode 181 = nul nul nul + control keycode 181 = nul + shift control keycode 181 = nul + alt keycode 181 = nul + control alt keycode 181 = nul +keycode 182 = nul nul nul + control keycode 182 = nul + shift control keycode 182 = nul + alt keycode 182 = nul + control alt keycode 182 = nul +keycode 183 = nul nul nul + control keycode 183 = nul + shift control keycode 183 = nul + alt keycode 183 = nul + control alt keycode 183 = nul +keycode 184 = nul nul nul + control keycode 184 = nul + shift control keycode 184 = nul + alt keycode 184 = nul + control alt keycode 184 = nul +keycode 185 = nul nul nul + control keycode 185 = nul + shift control keycode 185 = nul + alt keycode 185 = nul + control alt keycode 185 = nul +keycode 186 = nul nul nul + control keycode 186 = nul + shift control keycode 186 = nul + alt keycode 186 = nul + control alt keycode 186 = nul +keycode 187 = nul nul nul + control keycode 187 = nul + shift control keycode 187 = nul + alt keycode 187 = nul + control alt keycode 187 = nul +keycode 188 = nul nul nul + control keycode 188 = nul + shift control keycode 188 = nul + alt keycode 188 = nul + control alt keycode 188 = nul +keycode 189 = nul nul nul + control keycode 189 = nul + shift control keycode 189 = nul + alt keycode 189 = nul + control alt keycode 189 = nul +keycode 190 = nul nul nul + control keycode 190 = nul + shift control keycode 190 = nul + alt keycode 190 = nul + control alt keycode 190 = nul +keycode 191 = nul nul nul + control keycode 191 = nul + shift control keycode 191 = nul + alt keycode 191 = nul + control alt keycode 191 = nul +keycode 192 = nul nul nul + control keycode 192 = nul + shift control keycode 192 = nul + alt keycode 192 = nul + control alt keycode 192 = nul +keycode 193 = nul nul nul + control keycode 193 = nul + shift control keycode 193 = nul + alt keycode 193 = nul + control alt keycode 193 = nul +keycode 194 = nul nul nul + control keycode 194 = nul + shift control keycode 194 = nul + alt keycode 194 = nul + control alt keycode 194 = nul +keycode 195 = nul nul nul + control keycode 195 = nul + shift control keycode 195 = nul + alt keycode 195 = nul + control alt keycode 195 = nul +keycode 196 = nul nul nul + control keycode 196 = nul + shift control keycode 196 = nul + alt keycode 196 = nul + control alt keycode 196 = nul +keycode 197 = nul nul nul + control keycode 197 = nul + shift control keycode 197 = nul + alt keycode 197 = nul + control alt keycode 197 = nul +keycode 198 = nul nul nul + control keycode 198 = nul + shift control keycode 198 = nul + alt keycode 198 = nul + control alt keycode 198 = nul +keycode 199 = nul nul nul + control keycode 199 = nul + shift control keycode 199 = nul + alt keycode 199 = nul + control alt keycode 199 = nul +keycode 200 = nul nul nul + control keycode 200 = nul + shift control keycode 200 = nul + alt keycode 200 = nul + control alt keycode 200 = nul +keycode 201 = nul nul nul + control keycode 201 = nul + shift control keycode 201 = nul + alt keycode 201 = nul + control alt keycode 201 = nul +keycode 202 = nul nul nul + control keycode 202 = nul + shift control keycode 202 = nul + alt keycode 202 = nul + control alt keycode 202 = nul +keycode 203 = nul nul nul + control keycode 203 = nul + shift control keycode 203 = nul + alt keycode 203 = nul + control alt keycode 203 = nul +keycode 204 = nul nul nul + control keycode 204 = nul + shift control keycode 204 = nul + alt keycode 204 = nul + control alt keycode 204 = nul +keycode 205 = nul nul nul + control keycode 205 = nul + shift control keycode 205 = nul + alt keycode 205 = nul + control alt keycode 205 = nul +keycode 206 = nul nul nul + control keycode 206 = nul + shift control keycode 206 = nul + alt keycode 206 = nul + control alt keycode 206 = nul +keycode 207 = nul nul nul + control keycode 207 = nul + shift control keycode 207 = nul + alt keycode 207 = nul + control alt keycode 207 = nul +keycode 208 = nul nul nul + control keycode 208 = nul + shift control keycode 208 = nul + alt keycode 208 = nul + control alt keycode 208 = nul +keycode 209 = nul nul nul + control keycode 209 = nul + shift control keycode 209 = nul + alt keycode 209 = nul + control alt keycode 209 = nul +keycode 210 = nul nul nul + control keycode 210 = nul + shift control keycode 210 = nul + alt keycode 210 = nul + control alt keycode 210 = nul +keycode 211 = nul nul nul + control keycode 211 = nul + shift control keycode 211 = nul + alt keycode 211 = nul + control alt keycode 211 = nul +keycode 212 = nul nul nul + control keycode 212 = nul + shift control keycode 212 = nul + alt keycode 212 = nul + control alt keycode 212 = nul +keycode 213 = nul nul nul + control keycode 213 = nul + shift control keycode 213 = nul + alt keycode 213 = nul + control alt keycode 213 = nul +keycode 214 = nul nul nul + control keycode 214 = nul + shift control keycode 214 = nul + alt keycode 214 = nul + control alt keycode 214 = nul +keycode 215 = nul nul nul + control keycode 215 = nul + shift control keycode 215 = nul + alt keycode 215 = nul + control alt keycode 215 = nul +keycode 216 = nul nul nul + control keycode 216 = nul + shift control keycode 216 = nul + alt keycode 216 = nul + control alt keycode 216 = nul +keycode 217 = nul nul nul + control keycode 217 = nul + shift control keycode 217 = nul + alt keycode 217 = nul + control alt keycode 217 = nul +keycode 218 = nul nul nul + control keycode 218 = nul + shift control keycode 218 = nul + alt keycode 218 = nul + control alt keycode 218 = nul +keycode 219 = nul nul nul + control keycode 219 = nul + shift control keycode 219 = nul + alt keycode 219 = nul + control alt keycode 219 = nul +keycode 220 = nul nul nul + control keycode 220 = nul + shift control keycode 220 = nul + alt keycode 220 = nul + control alt keycode 220 = nul +keycode 221 = nul nul nul + control keycode 221 = nul + shift control keycode 221 = nul + alt keycode 221 = nul + control alt keycode 221 = nul +keycode 222 = nul nul nul + control keycode 222 = nul + shift control keycode 222 = nul + alt keycode 222 = nul + control alt keycode 222 = nul +keycode 223 = nul nul nul + control keycode 223 = nul + shift control keycode 223 = nul + alt keycode 223 = nul + control alt keycode 223 = nul +keycode 224 = nul nul nul + control keycode 224 = nul + shift control keycode 224 = nul + alt keycode 224 = nul + control alt keycode 224 = nul +keycode 225 = nul nul nul + control keycode 225 = nul + shift control keycode 225 = nul + alt keycode 225 = nul + control alt keycode 225 = nul +keycode 226 = nul nul nul + control keycode 226 = nul + shift control keycode 226 = nul + alt keycode 226 = nul + control alt keycode 226 = nul +keycode 227 = nul nul nul + control keycode 227 = nul + shift control keycode 227 = nul + alt keycode 227 = nul + control alt keycode 227 = nul +keycode 228 = nul nul nul + control keycode 228 = nul + shift control keycode 228 = nul + alt keycode 228 = nul + control alt keycode 228 = nul +keycode 229 = nul nul nul + control keycode 229 = nul + shift control keycode 229 = nul + alt keycode 229 = nul + control alt keycode 229 = nul +keycode 230 = nul nul nul + control keycode 230 = nul + shift control keycode 230 = nul + alt keycode 230 = nul + control alt keycode 230 = nul +keycode 231 = nul nul nul + control keycode 231 = nul + shift control keycode 231 = nul + alt keycode 231 = nul + control alt keycode 231 = nul +keycode 232 = nul nul nul + control keycode 232 = nul + shift control keycode 232 = nul + alt keycode 232 = nul + control alt keycode 232 = nul +keycode 233 = nul nul nul + control keycode 233 = nul + shift control keycode 233 = nul + alt keycode 233 = nul + control alt keycode 233 = nul +keycode 234 = nul nul nul + control keycode 234 = nul + shift control keycode 234 = nul + alt keycode 234 = nul + control alt keycode 234 = nul +keycode 235 = nul nul nul + control keycode 235 = nul + shift control keycode 235 = nul + alt keycode 235 = nul + control alt keycode 235 = nul +keycode 236 = nul nul nul + control keycode 236 = nul + shift control keycode 236 = nul + alt keycode 236 = nul + control alt keycode 236 = nul +keycode 237 = nul nul nul + control keycode 237 = nul + shift control keycode 237 = nul + alt keycode 237 = nul + control alt keycode 237 = nul +keycode 238 = nul nul nul + control keycode 238 = nul + shift control keycode 238 = nul + alt keycode 238 = nul + control alt keycode 238 = nul +keycode 239 = nul nul nul + control keycode 239 = nul + shift control keycode 239 = nul + alt keycode 239 = nul + control alt keycode 239 = nul +keycode 240 = nul nul nul + control keycode 240 = nul + shift control keycode 240 = nul + alt keycode 240 = nul + control alt keycode 240 = nul +keycode 241 = nul nul nul + control keycode 241 = nul + shift control keycode 241 = nul + alt keycode 241 = nul + control alt keycode 241 = nul +keycode 242 = nul nul nul + control keycode 242 = nul + shift control keycode 242 = nul + alt keycode 242 = nul + control alt keycode 242 = nul +keycode 243 = nul nul nul + control keycode 243 = nul + shift control keycode 243 = nul + alt keycode 243 = nul + control alt keycode 243 = nul +keycode 244 = nul nul nul + control keycode 244 = nul + shift control keycode 244 = nul + alt keycode 244 = nul + control alt keycode 244 = nul +keycode 245 = nul nul nul + control keycode 245 = nul + shift control keycode 245 = nul + alt keycode 245 = nul + control alt keycode 245 = nul +keycode 246 = nul nul nul + control keycode 246 = nul + shift control keycode 246 = nul + alt keycode 246 = nul + control alt keycode 246 = nul +keycode 247 = nul nul nul + control keycode 247 = nul + shift control keycode 247 = nul + alt keycode 247 = nul + control alt keycode 247 = nul +keycode 248 = nul nul nul + control keycode 248 = nul + shift control keycode 248 = nul + alt keycode 248 = nul + control alt keycode 248 = nul +keycode 249 = nul nul nul + control keycode 249 = nul + shift control keycode 249 = nul + alt keycode 249 = nul + control alt keycode 249 = nul +keycode 250 = nul nul nul + control keycode 250 = nul + shift control keycode 250 = nul + alt keycode 250 = nul + control alt keycode 250 = nul +keycode 251 = nul nul nul + control keycode 251 = nul + shift control keycode 251 = nul + alt keycode 251 = nul + control alt keycode 251 = nul +keycode 252 = nul nul nul + control keycode 252 = nul + shift control keycode 252 = nul + alt keycode 252 = nul + control alt keycode 252 = nul +keycode 253 = nul nul nul + control keycode 253 = nul + shift control keycode 253 = nul + alt keycode 253 = nul + control alt keycode 253 = nul +keycode 254 = nul nul nul + control keycode 254 = nul + shift control keycode 254 = nul + alt keycode 254 = nul + control alt keycode 254 = nul +keycode 255 = nul nul nul + control keycode 255 = nul + shift control keycode 255 = nul + alt keycode 255 = nul + control alt keycode 255 = nul +string F1 = "\033[[A" +string F2 = "\033[[B" +string F3 = "\033[[C" +string F4 = "\033[[D" +string F5 = "\033[[E" +string F6 = "\033[17~" +string F7 = "\033[18~" +string F8 = "\033[19~" +string F9 = "\033[20~" +string F10 = "\033[21~" +string F11 = "\033[23~" +string F12 = "\033[24~" +string F13 = "\033[25~" +string F14 = "\033[26~" +string F15 = "\033[28~" +string F16 = "\033[29~" +string F17 = "\033[31~" +string F18 = "\033[32~" +string F19 = "\033[33~" +string F20 = "\033[34~" +string Find = "\033[1~" +string Insert = "\033[2~" +string Remove = "\033[3~" +string Select = "\033[4~" +string Prior = "\033[5~" +string Next = "\033[6~" +string Macro = "\033[M" +string Pause = "\033[P" diff --git a/core/modules/brazilian/data/opt/openslx/scripts/systemd-load_brazilian_keymaps b/core/modules/brazilian/data/opt/openslx/scripts/systemd-load_brazilian_keymaps new file mode 100755 index 00000000..190104b9 --- /dev/null +++ b/core/modules/brazilian/data/opt/openslx/scripts/systemd-load_brazilian_keymaps @@ -0,0 +1,22 @@ +#!/bin/ash +# Script serves as container script for a systemd-call due to the buggyness of several +# loadkeys-implementations <= kbd (Linux keyboard tools) 1.15.3. +# This bug can be detected through failure of the command pipe 'dumpkeys|loadkeys' yielding +# the message "unknown keysym 'compose'. + +# So we first try to insert a keymap including compose-lines: +loadkeys /opt/openslx/keymaps/brazilian_qwerty_compose_keyboard_translation.map +ERR=$? + +# ... if this fails we enter a keymap without compose-lines: +if [ "$ERR" -eq 0 ]; then + exit 0 # in that case everything went smooth - exit. +fi + +loadkeys /opt/openslx/keymaps/brazilian_qwerty_keyboard_translation.map # insert a keymap without compose lines +ERR=$? + +# if at this point the second keymap insertion failed we pass the errorlevel to +# systemd - we cannot do more at this point. +exit $ERR + diff --git a/core/modules/brazilian/module.build b/core/modules/brazilian/module.build new file mode 100644 index 00000000..c6fbe0ff --- /dev/null +++ b/core/modules/brazilian/module.build @@ -0,0 +1,40 @@ +fetch_source() { + : +} + +build() { + # Debian-like + if [ -e "/etc/locale.gen" ] && ! grep -q -E '^\s*pt_BR\.UTF-8' "/etc/locale.gen"; then + pinfo "Generating locales..." + echo 'pt_BR.UTF-8 UTF-8' >> "/etc/locale.gen" + locale-gen || perror "Could not generate locales (debian style)" + fi + + # Ubuntu's version + if [ -d "/var/lib/locales/supported.d" ] && [ ! -d /usr/lib/locale/pt_BR.utf8 ]; then + pinfo "Generating locales..." + grep -q -E -r '^\s*pt_BR\.UTF-8' "/var/lib/locales/supported.d" || echo 'pt_BR.UTF-8 UTF-8' >> "/var/lib/locales/supported.d/openslx" + locale-gen --no-archive --purge "pt_BR.UTF-8" || perror "Could not generate locales (ubuntu style)" + fi + + # Put everything we build or get from the system in build dir + local FILELIST="$MODULE_WORK_DIR/list_copy_build" + rm -f "$FILELIST" + + # Copy required directories from source system to build dir + for FILE in ${REQUIRED_DIRECTORIES}; do + [ ! -d "${FILE}" ] && perror "Missing required directory $FILE" + echo ${FILE} >> "${FILELIST}" + done + + # Done collecting file and directory names, copy everything + tarcopy "$(sort -u "$FILELIST")" "$MODULE_BUILD_DIR" + +} + +post_copy() { + for i in LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION; do + add_env $i pt_BR.UTF-8 || perror "$i: add_env function failed." + done +} + diff --git a/core/modules/brazilian/module.conf b/core/modules/brazilian/module.conf new file mode 100644 index 00000000..e2f82123 --- /dev/null +++ b/core/modules/brazilian/module.conf @@ -0,0 +1,5 @@ +REQUIRED_BINARIES="" +REQUIRED_FILES="" +REQUIRED_DIRECTORIES=" + /usr/share/X11 +" diff --git a/core/modules/brazilian/module.conf.debian b/core/modules/brazilian/module.conf.debian new file mode 100644 index 00000000..a43faea2 --- /dev/null +++ b/core/modules/brazilian/module.conf.debian @@ -0,0 +1,10 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-data +" +REQUIRED_CONTENT_PACKAGES=" + libX11-data +" +REQUIRED_DIRECTORIES+=" + /usr/lib/locale +" + diff --git a/core/modules/brazilian/module.conf.opensuse b/core/modules/brazilian/module.conf.opensuse new file mode 100644 index 00000000..43cce6e6 --- /dev/null +++ b/core/modules/brazilian/module.conf.opensuse @@ -0,0 +1,13 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-data + glibc-locale +" +REQUIRED_CONTENT_PACKAGES=" + libX11-data +" +REQUIRED_DIRECTORIES+=" + /usr/lib/locale/pt_BR.utf8 +" +REQUIRED_BINARIES="" +REQUIRED_FILES="" + diff --git a/core/modules/brazilian/module.conf.scientific b/core/modules/brazilian/module.conf.scientific new file mode 100644 index 00000000..88ac0d27 --- /dev/null +++ b/core/modules/brazilian/module.conf.scientific @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-data + glibc-common +" +REQUIRED_CONTENT_PACKAGES=" + libX11-data" +REQUIRED_BINARIES="" +REQUIRED_FILES="" diff --git a/core/modules/brazilian/module.conf.ubuntu b/core/modules/brazilian/module.conf.ubuntu new file mode 100644 index 00000000..2558791f --- /dev/null +++ b/core/modules/brazilian/module.conf.ubuntu @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + libx11-data + language-pack-pt +" +REQUIRED_CONTENT_PACKAGES=" + libx11-data +" +REQUIRED_DIRECTORIES+=" + /usr/lib/locale/C.UTF-8 + /usr/lib/locale/pt_BR.utf8 +" + diff --git a/core/modules/busybox/fbsplash-center.patch b/core/modules/busybox/fbsplash-center.patch new file mode 100644 index 00000000..748420fd --- /dev/null +++ b/core/modules/busybox/fbsplash-center.patch @@ -0,0 +1,85 @@ +diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c +index 7b695b2..e3a55ca 100644 +--- a/miscutils/fbsplash.c ++++ b/miscutils/fbsplash.c +@@ -9,6 +9,7 @@ + * - put somewhere fbsplash.cfg file and an image in .ppm format. + * - run applet: $ setsid fbsplash [params] & + * -c: hide cursor ++ * -x: center image (if smaller than screen) + * -d /dev/fbN: framebuffer device (if not /dev/fb0) + * -s path_to_image_file (can be "-" for stdin) + * -i path_to_cfg_file +@@ -22,10 +23,11 @@ + */ + + //usage:#define fbsplash_trivial_usage +-//usage: "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]" ++//usage: "-s IMGFILE [-c] [-x] [-d DEV] [-i INIFILE] [-f CMD]" + //usage:#define fbsplash_full_usage "\n\n" + //usage: " -s Image" + //usage: "\n -c Hide cursor" ++//usage: "\n -x Center image (if smaller than screen)" + //usage: "\n -d Framebuffer device (default /dev/fb0)" + //usage: "\n -i Config file (var=value):" + //usage: "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT" +@@ -54,6 +56,7 @@ struct globals { + unsigned red_shift; + unsigned green_shift; + unsigned blue_shift; ++ bool bcenter_image; + }; + #define G (*ptr_to_globals) + #define INIT_G() do { \ +@@ -349,6 +352,8 @@ static void fb_drawimage(void) + char *read_ptr; + unsigned char *pixline; + unsigned i, j, width, height, line_size; ++ int xoffset = 0; ++ int yoffset = 0; + + if (LONE_DASH(G.image_filename)) { + theme_file = stdin; +@@ -396,6 +401,13 @@ static void fb_drawimage(void) + line_size = width*3; + pixline = xmalloc(line_size); + ++ if (G.bcenter_image) { ++ if (width < G.scr_var.xres) ++ xoffset = ((G.scr_var.xres - width) / 2) * G.bytes_per_pixel; ++ if (height < G.scr_var.yres) ++ yoffset = (G.scr_var.yres - height) / 2; ++ } ++ + if (width > G.scr_var.xres) + width = G.scr_var.xres; + if (height > G.scr_var.yres) +@@ -407,7 +419,7 @@ static void fb_drawimage(void) + if (fread(pixline, 1, line_size, theme_file) != line_size) + bb_error_msg_and_die("bad PPM file '%s'", G.image_filename); + pixel = pixline; +- src = G.addr + j * G.scr_fix.line_length; ++ src = G.addr + (j + yoffset) * G.scr_fix.line_length + xoffset; + for (i = 0; i < width; i++) { + unsigned thispix = fb_pixel_value(pixel[0], pixel[1], pixel[2]); + fb_write_pixel(src, thispix); +@@ -463,6 +475,7 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) + FILE *fp = fp; // for compiler + char *num_buf; + unsigned num; ++ unsigned optret; + bool bCursorOff; + + INIT_G(); +@@ -471,8 +484,10 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) + fb_device = "/dev/fb0"; + cfg_filename = NULL; + fifo_filename = NULL; +- bCursorOff = 1 & getopt32(argv, "cs:d:i:f:", ++ optret = getopt32(argv, "cxs:d:i:f:", + &G.image_filename, &fb_device, &cfg_filename, &fifo_filename); ++ bCursorOff = 1 & optret; ++ G.bcenter_image = 2 & optret; + + // parse configuration file + if (cfg_filename) diff --git a/core/modules/busybox/fbsplash-fillbg.patch b/core/modules/busybox/fbsplash-fillbg.patch new file mode 100644 index 00000000..51695ba7 --- /dev/null +++ b/core/modules/busybox/fbsplash-fillbg.patch @@ -0,0 +1,74 @@ +diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c +index e3a55ca..daea60d 100644 +--- a/miscutils/fbsplash.c ++++ b/miscutils/fbsplash.c +@@ -23,11 +23,12 @@ + */ + + //usage:#define fbsplash_trivial_usage +-//usage: "-s IMGFILE [-c] [-x] [-d DEV] [-i INIFILE] [-f CMD]" ++//usage: "-s IMGFILE [-c] [-x] [-b] [-d DEV] [-i INIFILE] [-f CMD]" + //usage:#define fbsplash_full_usage "\n\n" + //usage: " -s Image" + //usage: "\n -c Hide cursor" + //usage: "\n -x Center image (if smaller than screen)" ++//usage: "\n -b Fill background with color of top left pixel of image" + //usage: "\n -d Framebuffer device (default /dev/fb0)" + //usage: "\n -i Config file (var=value):" + //usage: "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT" +@@ -57,6 +58,7 @@ struct globals { + unsigned green_shift; + unsigned blue_shift; + bool bcenter_image; ++ bool bfill_background; + }; + #define G (*ptr_to_globals) + #define INIT_G() do { \ +@@ -342,6 +344,23 @@ static void fb_drawprogressbar(unsigned percent) + G.nbar_colr, G.nbar_colg, G.nbar_colb); + } + ++/** ++ * Fill screen around image with given color ++ */ ++static void fb_fillbackground(unsigned char* pixel, const int xoffset, const int yoffset, const int width, const int height) ++{ ++ int i, j; ++ unsigned thispix = fb_pixel_value(pixel[0], pixel[1], pixel[2]); ++ ++ for (j = 0; j < G.scr_var.yres; j++) { ++ unsigned char *src = G.addr + j * G.scr_fix.line_length; ++ ++ for (i = 0; i < G.scr_var.xres; i++) { ++ if ((j < yoffset || j >= yoffset + height) || (i < xoffset || i >= xoffset + width)) ++ fb_write_pixel(src + i * G.bytes_per_pixel, thispix); ++ } ++ } ++} + + /** + * Draw image from PPM file +@@ -420,6 +439,10 @@ static void fb_drawimage(void) + bb_error_msg_and_die("bad PPM file '%s'", G.image_filename); + pixel = pixline; + src = G.addr + (j + yoffset) * G.scr_fix.line_length + xoffset; ++ ++ if (G.bfill_background && j == 0) ++ fb_fillbackground(pixel, xoffset / G.bytes_per_pixel, yoffset, width, height); ++ + for (i = 0; i < width; i++) { + unsigned thispix = fb_pixel_value(pixel[0], pixel[1], pixel[2]); + fb_write_pixel(src, thispix); +@@ -484,10 +507,11 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv) + fb_device = "/dev/fb0"; + cfg_filename = NULL; + fifo_filename = NULL; +- optret = getopt32(argv, "cxs:d:i:f:", ++ optret = getopt32(argv, "cxbs:d:i:f:", + &G.image_filename, &fb_device, &cfg_filename, &fifo_filename); + bCursorOff = 1 & optret; + G.bcenter_image = 2 & optret; ++ G.bfill_background = 4 & optret; + + // parse configuration file + if (cfg_filename) diff --git a/core/modules/busybox/module.build b/core/modules/busybox/module.build new file mode 100644 index 00000000..46b60c1c --- /dev/null +++ b/core/modules/busybox/module.build @@ -0,0 +1,30 @@ +#!/bin/bash + +fetch_source() { + git clone --depth 1 "${REQUIRED_GIT}" --branch "$REQUIRED_BRANCH" src || perror "Could not clone busybox git" + cd src || perror "Could not cd to src" + # Patch image centering and background filling if not patched yet + if ! grep -q "bcenter_image" "miscutils/fbsplash.c"; then + git apply "${MODULE_DIR}/fbsplash-center.patch" || perror "Could not apply busybox patch for fbsplash image centering" + fi + if ! grep -q "bfill_background" "miscutils/fbsplash.c"; then + git apply "${MODULE_DIR}/fbsplash-fillbg.patch" || perror "Could not apply busybox patch for fbsplash background filling" + fi + cd .. || perror "cd .. failed" +} + +build() { + cp "${MODULE_DIR}/openslx-busybox-config" "src/.config" + cd src || perror "Could not cd to src" + yes '' | make oldconfig + pinfo "Running make (if this hangs, check for unset options, ie. when you increased the REQUIRED_BRANCH)" + make || perror "failed." + pinfo "Running make install" + make CONFIG_PREFIX="$MODULE_BUILD_DIR" install || perror "failed" + rm -f "$MODULE_BUILD_DIR/bin/mount" "$MODULE_BUILD_DIR/bin/umount" "$MODULE_BUILD_DIR/bin/bash" + cd - &> /dev/null +} + +post_copy() { + : +} diff --git a/core/modules/busybox/module.conf b/core/modules/busybox/module.conf new file mode 100644 index 00000000..6acfa16c --- /dev/null +++ b/core/modules/busybox/module.conf @@ -0,0 +1,7 @@ +REQUIRED_GIT="git://git.busybox.net/busybox" +REQUIRED_BRANCH="1_22_1" +REQUIRED_BINARIES="busybox" +REQUIRED_DIRECTORIES=" + /bin + /sbin +" diff --git a/core/modules/busybox/module.conf.centos b/core/modules/busybox/module.conf.centos new file mode 100644 index 00000000..adf935c8 --- /dev/null +++ b/core/modules/busybox/module.conf.centos @@ -0,0 +1,4 @@ +REQUIRED_DIRECTORIES=" + /usr/bin + /usr/sbin +" diff --git a/core/modules/busybox/openslx-busybox-config b/core/modules/busybox/openslx-busybox-config new file mode 100644 index 00000000..00a008d7 --- /dev/null +++ b/core/modules/busybox/openslx-busybox-config @@ -0,0 +1,1038 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.22.1 +# Sat Feb 15 19:51:48 2014 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Busybox Settings +# + +# +# General Configuration +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_PLATFORM_LINUX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_SHOW_USAGE=y +# CONFIG_FEATURE_VERBOSE_USAGE is not set +CONFIG_FEATURE_COMPRESS_USAGE=y +# CONFIG_FEATURE_INSTALLER is not set +CONFIG_INSTALL_NO_USR=y +CONFIG_LOCALE_SUPPORT=y +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_LONG_OPTS=y +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_UTMP=y +# CONFIG_FEATURE_WTMP is not set +CONFIG_FEATURE_PIDFILE=y +CONFIG_PID_FILE_PATH="/var/run" +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +CONFIG_FEATURE_SYSLOG=y +CONFIG_FEATURE_HAVE_RPC=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_LFS=y +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Busybox Library Tuning +# +CONFIG_FEATURE_SYSTEMD=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA3_SMALL=1 +CONFIG_FEATURE_FAST_TOP=y +# CONFIG_FEATURE_ETC_NETWORKS is not set +CONFIG_FEATURE_USE_TERMIOS=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=15 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +CONFIG_FEATURE_NON_POSIX_CP=y +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +CONFIG_FEATURE_SEAMLESS_LZMA=y +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +CONFIG_FEATURE_SEAMLESS_Z=y +CONFIG_AR=y +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +CONFIG_FEATURE_AR_CREATE=y +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_BUNZIP2=y +CONFIG_UNLZMA=y +# CONFIG_FEATURE_LZMA_FAST is not set +CONFIG_LZMA=y +CONFIG_UNXZ=y +CONFIG_XZ=y +CONFIG_BZIP2=y +CONFIG_CPIO=y +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set +CONFIG_GZIP=y +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +CONFIG_GZIP_FAST=0 +# CONFIG_LZOP is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +CONFIG_RPM2CPIO=y +CONFIG_TAR=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set +# CONFIG_FEATURE_TAR_TO_COMMAND is not set +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y +# CONFIG_FEATURE_TAR_SELINUX is not set +# CONFIG_UNZIP is not set + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +# CONFIG_HOSTID is not set +CONFIG_ID=y +CONFIG_GROUPS=y +CONFIG_TEST=y +# CONFIG_FEATURE_TEST_64 is not set +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_NODEREF=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +# CONFIG_FEATURE_TR_CLASSES is not set +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_BASE64=y +CONFIG_WHO=y +# CONFIG_USERS is not set +# CONFIG_CAL is not set +# CONFIG_CATV is not set +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set +CONFIG_CUT=y +CONFIG_DD=y +# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set +# CONFIG_FEATURE_DD_IBS_OBS is not set +CONFIG_DF=y +# CONFIG_FEATURE_DF_FANCY is not set +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set +# CONFIG_EXPAND is not set +# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FALSE=y +# CONFIG_FOLD is not set +# CONFIG_FSYNC is not set +CONFIG_HEAD=y +# CONFIG_FEATURE_FANCY_HEAD is not set +# CONFIG_INSTALL is not set +# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set +CONFIG_MD5SUM=y +CONFIG_MKDIR=y +# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MV=y +# CONFIG_FEATURE_MV_LONG_OPTIONS is not set +CONFIG_NICE=y +# CONFIG_NOHUP is not set +# CONFIG_OD is not set +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y +# CONFIG_SEQ is not set +# CONFIG_SHA1SUM is not set +CONFIG_SHA256SUM=y +# CONFIG_SHA512SUM is not set +# CONFIG_SHA3SUM is not set +CONFIG_SLEEP=y +# CONFIG_FEATURE_FANCY_SLEEP is not set +# CONFIG_FEATURE_FLOAT_SLEEP is not set +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +# CONFIG_STTY is not set +# CONFIG_SUM is not set +CONFIG_SYNC=y +# CONFIG_TAC is not set +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +# CONFIG_TEE is not set +# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set +CONFIG_TRUE=y +# CONFIG_TTY is not set +CONFIG_UNAME=y +# CONFIG_UNEXPAND is not set +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set +CONFIG_UNIQ=y +CONFIG_USLEEP=y +# CONFIG_UUDECODE is not set +# CONFIG_UUENCODE is not set +CONFIG_WC=y +# CONFIG_FEATURE_WC_LARGE is not set +CONFIG_WHOAMI=y +# CONFIG_YES is not set + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for ls, more and telnet +# +CONFIG_FEATURE_AUTOWIDTH=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_FGCONSOLE=y +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +# CONFIG_KBD_MODE is not set +CONFIG_LOADFONT=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +CONFIG_RESIZE=y +CONFIG_FEATURE_RESIZE_PRINT=y +CONFIG_SETCONSOLE=y +CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y +CONFIG_SETFONT=y +CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y +CONFIG_DEFAULT_SETFONT_DIR="" +CONFIG_SETKEYCODES=y +CONFIG_SETLOGCONS=y +# CONFIG_SHOWKEY is not set + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y + +# +# Debian Utilities +# +CONFIG_MKTEMP=y +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +CONFIG_WHICH=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +# CONFIG_CMP is not set +CONFIG_DIFF=y +CONFIG_FEATURE_DIFF_LONG_OPTIONS=y +CONFIG_FEATURE_DIFF_DIR=y +# CONFIG_ED is not set +# CONFIG_PATCH is not set +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=1024 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +CONFIG_FEATURE_VI_REGEX_SEARCH=y +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +# CONFIG_FEATURE_VI_SETOPTS is not set +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +# CONFIG_FEATURE_ALLOW_EXEC is not set + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_DELETE=y +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set +CONFIG_GREP=y +CONFIG_FEATURE_GREP_EGREP_ALIAS=y +# CONFIG_FEATURE_GREP_FGREP_ALIAS is not set +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set +# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +CONFIG_FEATURE_CALL_TELINIT=y +CONFIG_TELINIT_PATH="/sbin/telinit" +# CONFIG_INIT is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +# CONFIG_FEATURE_EXTRA_QUIET is not set +# CONFIG_FEATURE_INIT_COREDUMPS is not set +# CONFIG_FEATURE_INITRD is not set +CONFIG_INIT_TERMINAL_TYPE="" +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set + +# +# Login/Password Management Utilities +# +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +CONFIG_FEATURE_SHADOWPASSWDS=y +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +CONFIG_USE_BB_CRYPT=y +CONFIG_USE_BB_CRYPT_SHA=y +CONFIG_ADDUSER=y +CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 +CONFIG_ADDGROUP=y +CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y +CONFIG_FEATURE_ADDUSER_TO_GROUP=y +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +CONFIG_GETTY=y +# CONFIG_LOGIN is not set +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_PAM is not set +# CONFIG_LOGIN_SCRIPTS is not set +# CONFIG_FEATURE_NOLOGIN is not set +# CONFIG_FEATURE_SECURETTY is not set +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +# CONFIG_CRYPTPW is not set +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" +CONFIG_SU=y +CONFIG_FEATURE_SU_SYSLOG=y +CONFIG_FEATURE_SU_CHECKS_SHELLS=y +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +CONFIG_MODINFO=y +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_INSMOD=y +CONFIG_RMMOD=y +CONFIG_LSMOD=y +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +CONFIG_MODPROBE=y +CONFIG_FEATURE_MODPROBE_BLACKLIST=y +# CONFIG_DEPMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +CONFIG_BLOCKDEV=y +# CONFIG_FSTRIM is not set +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_REV is not set +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +CONFIG_BLKID=y +# CONFIG_FEATURE_BLKID_TYPE is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +# CONFIG_FEATURE_FBSET_READMODE is not set +# CONFIG_FDFLUSH is not set +# CONFIG_FDFORMAT is not set +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +CONFIG_FEATURE_GPT_LABEL=y +# CONFIG_FEATURE_FDISK_ADVANCED is not set +# CONFIG_FINDFS is not set +CONFIG_FLOCK=y +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +CONFIG_MKFS_EXT2=y +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +CONFIG_MKFS_VFAT=y +# CONFIG_GETOPT is not set +# CONFIG_FEATURE_GETOPT_LONG is not set +# CONFIG_HEXDUMP is not set +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +# CONFIG_HD is not set +CONFIG_HWCLOCK=y +# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set +CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +# CONFIG_LOSETUP is not set +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MKSWAP=y +# CONFIG_FEATURE_MKSWAP_UUID is not set +CONFIG_MORE=y +CONFIG_MOUNT=y +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +CONFIG_FEATURE_MOUNT_HELPERS=y +# CONFIG_FEATURE_MOUNT_LABEL is not set +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +# CONFIG_PIVOT_ROOT is not set +CONFIG_RDATE=y +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +CONFIG_SWAPONOFF=y +CONFIG_FEATURE_SWAPON_PRI=y +CONFIG_SWITCH_ROOT=y +CONFIG_UMOUNT=y +# CONFIG_FEATURE_UMOUNT_ALL is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_BTRFS=y +CONFIG_FEATURE_VOLUMEID_CRAMFS=y +CONFIG_FEATURE_VOLUMEID_EXFAT=y +CONFIG_FEATURE_VOLUMEID_EXT=y +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +CONFIG_FEATURE_VOLUMEID_HFS=y +CONFIG_FEATURE_VOLUMEID_ISO9660=y +CONFIG_FEATURE_VOLUMEID_JFS=y +CONFIG_FEATURE_VOLUMEID_LINUXRAID=y +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +CONFIG_FEATURE_VOLUMEID_LUKS=y +CONFIG_FEATURE_VOLUMEID_NILFS=y +CONFIG_FEATURE_VOLUMEID_NTFS=y +CONFIG_FEATURE_VOLUMEID_OCFS2=y +CONFIG_FEATURE_VOLUMEID_REISERFS=y +CONFIG_FEATURE_VOLUMEID_ROMFS=y +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +CONFIG_FEATURE_VOLUMEID_SYSV=y +CONFIG_FEATURE_VOLUMEID_UDF=y +CONFIG_FEATURE_VOLUMEID_XFS=y + +# +# Miscellaneous Utilities +# +# CONFIG_CONSPY is not set +# CONFIG_LESS is not set +CONFIG_FEATURE_LESS_MAXLINES=0 +# CONFIG_FEATURE_LESS_BRACKETS is not set +# CONFIG_FEATURE_LESS_FLAGS is not set +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +# CONFIG_RFKILL is not set +CONFIG_SETSERIAL=y +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +CONFIG_UBIMKVOL=y +CONFIG_UBIRMVOL=y +CONFIG_UBIRSVOL=y +CONFIG_UBIUPDATEVOL=y +# CONFIG_WALL is not set +# CONFIG_ADJTIMEX is not set +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CHRT is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="" +# CONFIG_CRONTAB is not set +# CONFIG_DC is not set +# CONFIG_FEATURE_DC_LIBM is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +CONFIG_EJECT=y +CONFIG_FEATURE_EJECT_SCSI=y +CONFIG_FBSPLASH=y +# CONFIG_FLASHCP is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_IONICE is not set +CONFIG_INOTIFYD=y +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_SMALL is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_HDPARM=y +CONFIG_FEATURE_HDPARM_GET_IDENTITY=y +CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y +CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +# CONFIG_MOUNTPOINT is not set +# CONFIG_MT is not set +# CONFIG_RAIDAUTORUN is not set +CONFIG_READAHEAD=y +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SETSID=y +CONFIG_STRINGS=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +CONFIG_TIME=y +CONFIG_TIMEOUT=y +CONFIG_TTYSIZE=y +# CONFIG_VOLNAME is not set +CONFIG_WATCHDOG=y + +# +# Networking Utilities +# +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +CONFIG_NBDCLIENT=y +CONFIG_NC=y +# CONFIG_NC_SERVER is not set +# CONFIG_NC_EXTRA is not set +# CONFIG_NC_110_COMPAT is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +CONFIG_WHOIS=y +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +CONFIG_ARP=y +CONFIG_ARPING=y +CONFIG_BRCTL=y +CONFIG_FEATURE_BRCTL_FANCY=y +CONFIG_FEATURE_BRCTL_SHOW=y +# CONFIG_DNSD is not set +# CONFIG_ETHER_WAKE is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +CONFIG_FTPGET=y +CONFIG_FTPPUT=y +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_IFCONFIG is not set +# CONFIG_FEATURE_IFCONFIG_STATUS is not set +# CONFIG_FEATURE_IFCONFIG_SLIP is not set +# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set +# CONFIG_FEATURE_IFCONFIG_HW is not set +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +# CONFIG_IFUPDOWN is not set +CONFIG_IFUPDOWN_IFSTATE_PATH="" +# CONFIG_FEATURE_IFUPDOWN_IP is not set +# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set +# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_TUNNEL=y +# CONFIG_FEATURE_IP_RULE is not set +# CONFIG_FEATURE_IP_SHORT_FORMS is not set +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +CONFIG_IPCALC=y +CONFIG_FEATURE_IPCALC_FANCY=y +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +CONFIG_TCPSVD=y +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +# CONFIG_TELNETD is not set +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_TFTPD is not set + +# +# Common options for tftp/tftpd +# +CONFIG_FEATURE_TFTP_GET=y +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTP_DEBUG is not set +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +CONFIG_TUNCTL=y +CONFIG_FEATURE_TUNCTL_UG=y +# CONFIG_UDHCPC6 is not set +CONFIG_UDHCPD=y +CONFIG_DHCPRELAY=y +CONFIG_DUMPLEASES=y +CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" +# CONFIG_UDPSVD is not set +CONFIG_VCONFIG=y +CONFIG_WGET=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_ZCIP=y + +# +# Print Utilities +# +CONFIG_LPD=y +CONFIG_LPR=y +CONFIG_LPQ=y + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +CONFIG_FEATURE_MIME_CHARSET="" +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set + +# +# Process Utilities +# +CONFIG_IOSTAT=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +CONFIG_NMETER=y +CONFIG_PMAP=y +CONFIG_POWERTOP=y +CONFIG_PSTREE=y +CONFIG_PWDX=y +CONFIG_SMEMCAP=y +CONFIG_TOP=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +CONFIG_FEATURE_TOP_SMP_CPU=y +CONFIG_FEATURE_TOP_DECIMALS=y +CONFIG_FEATURE_TOP_SMP_PROCESS=y +CONFIG_FEATURE_TOPMEM=y +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +CONFIG_FREE=y +CONFIG_FUSER=y +CONFIG_KILL=y +CONFIG_KILLALL=y +# CONFIG_KILLALL5 is not set +# CONFIG_PGREP is not set +CONFIG_PIDOF=y +# CONFIG_FEATURE_PIDOF_SINGLE is not set +# CONFIG_FEATURE_PIDOF_OMIT is not set +# CONFIG_PKILL is not set +CONFIG_PS=y +CONFIG_FEATURE_PS_WIDE=y +CONFIG_FEATURE_PS_LONG=y +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_RENICE is not set +CONFIG_BB_SYSCTL=y +# CONFIG_FEATURE_SHOW_THREADS is not set +# CONFIG_WATCH is not set + +# +# Runit Utilities +# +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVLOGD is not set +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set + +# +# Shells +# +CONFIG_ASH=y +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_BUILTIN_ECHO=y +CONFIG_ASH_BUILTIN_PRINTF=y +CONFIG_ASH_BUILTIN_TEST=y +CONFIG_ASH_CMDCMD=y +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_MSH is not set +CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_HUSH is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +CONFIG_FEATURE_BASH_IS_ASH=y +# CONFIG_FEATURE_BASH_IS_HUSH is not set +# CONFIG_FEATURE_BASH_IS_NONE is not set +CONFIG_SH_MATH_SUPPORT=y +# CONFIG_SH_MATH_SUPPORT_64 is not set +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_HISTFILESIZE=y + +# +# System Logging Utilities +# +CONFIG_SYSLOGD=y +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +CONFIG_FEATURE_REMOTE_LOG=y +# CONFIG_FEATURE_SYSLOGD_DUP is not set +CONFIG_FEATURE_SYSLOGD_CFG=y +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 +CONFIG_LOGREAD=y +CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y +CONFIG_FEATURE_KMSG_SYSLOG=y +CONFIG_KLOGD=y + +# +# klogd should not be used together with syslog to kernel printk buffer +# +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y diff --git a/core/modules/consolekit/TODO b/core/modules/consolekit/TODO new file mode 100644 index 00000000..6203c18f --- /dev/null +++ b/core/modules/consolekit/TODO @@ -0,0 +1 @@ +update to new config scheme diff --git a/core/modules/consolekit/data/etc/systemd/system/basic.target.wants/console-kit-daemon.service b/core/modules/consolekit/data/etc/systemd/system/basic.target.wants/console-kit-daemon.service new file mode 120000 index 00000000..2b34a3f6 --- /dev/null +++ b/core/modules/consolekit/data/etc/systemd/system/basic.target.wants/console-kit-daemon.service @@ -0,0 +1 @@ +../console-kit-daemon.service \ No newline at end of file diff --git a/core/modules/consolekit/data/etc/systemd/system/console-kit-daemon.service b/core/modules/consolekit/data/etc/systemd/system/console-kit-daemon.service new file mode 100644 index 00000000..bc2a0de9 --- /dev/null +++ b/core/modules/consolekit/data/etc/systemd/system/console-kit-daemon.service @@ -0,0 +1,8 @@ +[Unit] +Description=ConsoleKit + +[Service] +Type=dbus +BusName=org.freedesktop.ConsoleKit +ExecStart=/usr/sbin/console-kit-daemon --no-daemon + diff --git a/core/modules/consolekit/data/usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service b/core/modules/consolekit/data/usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service new file mode 100644 index 00000000..cbefc9a4 --- /dev/null +++ b/core/modules/consolekit/data/usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service @@ -0,0 +1,6 @@ +[D-BUS Service] +Name=org.freedesktop.ConsoleKit +Exec=/usr/sbin/console-kit-daemon --no-daemon +User=root +SystemdService=console-kit-daemon.service + diff --git a/core/modules/consolekit/module.build b/core/modules/consolekit/module.build new file mode 100644 index 00000000..6f1dd2e7 --- /dev/null +++ b/core/modules/consolekit/module.build @@ -0,0 +1,28 @@ +#!/bin/bash + +fetch_source() { + pinfo "Extracting from running system..." +} + +build() { + COPYLIST="list_dpkg_output" + [ -e "${COPYLIST}" ] && rm "${COPYLIST}" + + list_packet_files >> "${COPYLIST}" + tarcopy "$(cat "${COPYLIST}" | sort -u)" "${MODULE_BUILD_DIR}" + # Systemd/dbus + mkdir -p "$MODULE_BUILD_DIR/usr/share/dbus-1/system-services" "$MODULE_BUILD_DIR/etc/systemd/system" + local DAEMON=$(find "$MODULE_BUILD_DIR" -name console-kit-daemon -executable | head -n 1) + DAEMON="${DAEMON#$MODULE_BUILD_DIR}" + [ -z "$DAEMON" ] && perror "Could not find console-kit-daemon binary" + sed "s,%DAEMON%,/$DAEMON,g" "${MODULE_DIR}/templates/consolekit.systemd.service" > "$MODULE_BUILD_DIR/etc/systemd/system/console-kit-daemon.service" || perror "Could not generate systemd service" + sed "s,%DAEMON%,/$DAEMON,g" "${MODULE_DIR}/templates/consolekit.dbus.service" > "$MODULE_BUILD_DIR/usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service" || perror "Could not generate dbus service" +} + +post_copy() { + mkdir -p "${TARGET_BUILD_DIR}/usr/lib/ConsoleKit/run-seat.d" + mkdir -p "${TARGET_BUILD_DIR}/etc/ConsoleKit/run-seat.d" + mkdir -p "${TARGET_BUILD_DIR}/etc/ConsoleKit/run-session.d" + mkdir -p "${TARGET_BUILD_DIR}/var/log/ConsoleKit" +} + diff --git a/core/modules/consolekit/module.conf b/core/modules/consolekit/module.conf new file mode 100644 index 00000000..e27b15e6 --- /dev/null +++ b/core/modules/consolekit/module.conf @@ -0,0 +1,17 @@ +REQUIRED_BINARIES=" + console-kit-daemon + ck-history + ck-launch-session + ck-list-sessions +" +REQUIRED_DIRECTORIES=" + /etc/ConsoleKit + /etc/dbus-1 + /usr/lib/ConsoleKit + /usr/share +" +REQUIRED_LIBRARIES=" + pam_ck_connector + libck-connector +" + diff --git a/core/modules/consolekit/module.conf.debian b/core/modules/consolekit/module.conf.debian new file mode 100644 index 00000000..0171868a --- /dev/null +++ b/core/modules/consolekit/module.conf.debian @@ -0,0 +1,6 @@ +REQUIRED_CONTENT_PACKAGES=" + consolekit + libpam-ck-connector +" + + diff --git a/core/modules/consolekit/module.conf.opensuse b/core/modules/consolekit/module.conf.opensuse new file mode 100644 index 00000000..d0f46410 --- /dev/null +++ b/core/modules/consolekit/module.conf.opensuse @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" + ConsoleKit + ConsoleKit-x11 +" +REQUIRED_CONTENT_PACKAGES=" + ConsoleKit + ConsoleKit-x11 +" diff --git a/core/modules/consolekit/module.conf.ubuntu b/core/modules/consolekit/module.conf.ubuntu new file mode 100644 index 00000000..e7f5e47d --- /dev/null +++ b/core/modules/consolekit/module.conf.ubuntu @@ -0,0 +1,9 @@ +REQUIRED_INSTALLED_PACKAGES=" + consolekit +" +REQUIRED_CONTENT_PACKAGES=" + consolekit + libpam-ck-connector + libck-connector0 +" + diff --git a/core/modules/consolekit/templates/consolekit.dbus.service b/core/modules/consolekit/templates/consolekit.dbus.service new file mode 100644 index 00000000..5720e4cf --- /dev/null +++ b/core/modules/consolekit/templates/consolekit.dbus.service @@ -0,0 +1,6 @@ +[D-BUS Service] +Name=org.freedesktop.ConsoleKit +Exec=%DAEMON% --no-daemon +User=root +SystemdService=console-kit-daemon.service + diff --git a/core/modules/consolekit/templates/consolekit.systemd.service b/core/modules/consolekit/templates/consolekit.systemd.service new file mode 100644 index 00000000..f86158cc --- /dev/null +++ b/core/modules/consolekit/templates/consolekit.systemd.service @@ -0,0 +1,9 @@ +[Unit] +Description=ConsoleKit (Legacy) +After=syslog.target + +[Service] +Type=dbus +BusName=org.freedesktop.ConsoleKit +ExecStart=%DAEMON% --no-daemon + diff --git a/core/modules/cpugovernor/data/etc/systemd/system/basic.target.wants/cpu-governor.service b/core/modules/cpugovernor/data/etc/systemd/system/basic.target.wants/cpu-governor.service new file mode 120000 index 00000000..878a1676 --- /dev/null +++ b/core/modules/cpugovernor/data/etc/systemd/system/basic.target.wants/cpu-governor.service @@ -0,0 +1 @@ +../cpu-governor.service \ No newline at end of file diff --git a/core/modules/cpugovernor/data/etc/systemd/system/cpu-governor.service b/core/modules/cpugovernor/data/etc/systemd/system/cpu-governor.service new file mode 100644 index 00000000..e2ba1491 --- /dev/null +++ b/core/modules/cpugovernor/data/etc/systemd/system/cpu-governor.service @@ -0,0 +1,6 @@ +[Unit] +Description=Sets the CPU governor + +[Service] +Type=oneshot +ExecStart=/opt/openslx/scripts/systemd-cpu_governor diff --git a/core/modules/cpugovernor/data/opt/openslx/scripts/systemd-cpu_governor b/core/modules/cpugovernor/data/opt/openslx/scripts/systemd-cpu_governor new file mode 100755 index 00000000..f7aa255a --- /dev/null +++ b/core/modules/cpugovernor/data/opt/openslx/scripts/systemd-cpu_governor @@ -0,0 +1,62 @@ +#!/bin/ash +# +# Script to set the CPU governor to ondemand on all cores +# + +# source global config +. /opt/openslx/config || \ + { echo "ERROR: Could not source /opt/openslx/config."; exit 1; } + +# set the governor to the one given in SLX_GOVERNOR +TARGET_GOVERNOR="" +if [ -n "$SLX_GOVERNOR" ]; then + TARGET_GOVERNOR="$SLX_GOVERNOR" +else + # use 'ondemand' per default + TARGET_GOVERNOR="ondemand" +fi +echo "Trying to set CPU governor to $TARGET_GOVERNOR" +# global information needed +# CORES is the range of cores present, on bwpc4 it has the value '0-3' +# thus the split: MINCORE=0 MAXCORE=3 +CORES="$(cat /sys/devices/system/cpu/present)" +MINCORE="$(echo $CORES | awk -F "-" '{print $1}')" +MAXCORE="$(echo $CORES | awk -F "-" '{print $2}')" + +# Helper function 'test_for_gov' +# Usage: +# test_for_gov +# Example: +# test_for_gov "ondemand" +# Return 0 if it is supported by all cpus, 1 otherwise +test_for_gov() { + # if no argument is given, print error and exit (yes exit the whole script!) + [ $# -ne 1 ] && echo "Usage: test_for_gov . No arguments given!" && exit 1 + local GOVERNOR="$1" + + # check for each cpu just to be safe + # ash-style loop .... + local i=$MINCORE + while [ $i -le $MAXCORE ]; do + # check if the given governor is supported + grep -q "${GOVERNOR}" /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_available_governors 2>/dev/null || return 1; + # increment + true $(( i++ )) + done + return 0; +} +# now actually test the cpus for the 'ondemand' cpu governor +if test_for_gov "${TARGET_GOVERNOR}"; then + # ok, so now set the governor to 'ondemand' for all cores + i=$MINCORE + while [ $i -le $MAXCORE ]; do + if ! echo "${TARGET_GOVERNOR}" > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor; then + echo "ERROR: Could not set the cpu governor to '${TARGET_GOVERNOR}'!" + exit 1 + fi + true $(( i++ )) + done +else + echo "ERROR: '${TARGET_GOVERNOR}' is not supported by this machine!" + exit 0 +fi diff --git a/core/modules/cpugovernor/module.build b/core/modules/cpugovernor/module.build new file mode 100644 index 00000000..97e93235 --- /dev/null +++ b/core/modules/cpugovernor/module.build @@ -0,0 +1,11 @@ +fetch_source() { + : +} + +build() { + : +} + +post_copy() { + : +} diff --git a/core/modules/cpugovernor/module.conf b/core/modules/cpugovernor/module.conf new file mode 100644 index 00000000..0cd03752 --- /dev/null +++ b/core/modules/cpugovernor/module.conf @@ -0,0 +1,3 @@ +REQUIRED_BINARIES="" +REQUIRED_LIBRARIES="" +REQUIRED_DIRECTORIES="" diff --git a/core/modules/cron/data/etc/cron.d/.placeholder b/core/modules/cron/data/etc/cron.d/.placeholder new file mode 100644 index 00000000..98d2cd16 --- /dev/null +++ b/core/modules/cron/data/etc/cron.d/.placeholder @@ -0,0 +1,2 @@ +# DO NOT EDIT OR REMOVE +# This file is a simple placeholder to keep git from removing this directory diff --git a/core/modules/cron/data/etc/systemd/system/cron.service b/core/modules/cron/data/etc/systemd/system/cron.service new file mode 100644 index 00000000..d2c09ebb --- /dev/null +++ b/core/modules/cron/data/etc/systemd/system/cron.service @@ -0,0 +1,10 @@ +[Unit] +Description=Cron Daemon (cronie) +After=auditd.service nss-user-lookup.target systemd-user-sessions.service time-sync.target ypbind.service + +[Service] +ExecStart=/opt/openslx/sbin/crond -n +Restart=on-failure +ExecReload=/opt/openslx/bin/kill -HUP $MAINPID +KillMode=process + diff --git a/core/modules/cron/data/etc/systemd/system/multi-user.target.wants/cron.service b/core/modules/cron/data/etc/systemd/system/multi-user.target.wants/cron.service new file mode 120000 index 00000000..8c1084c3 --- /dev/null +++ b/core/modules/cron/data/etc/systemd/system/multi-user.target.wants/cron.service @@ -0,0 +1 @@ +../cron.service \ No newline at end of file diff --git a/core/modules/cron/data/opt/openslx/scripts/cron-sendmail b/core/modules/cron/data/opt/openslx/scripts/cron-sendmail new file mode 100755 index 00000000..3ce2a19d --- /dev/null +++ b/core/modules/cron/data/opt/openslx/scripts/cron-sendmail @@ -0,0 +1,30 @@ +#!/bin/ash + +. /opt/openslx/config + +if [ "x$SLX_CRON_MAIL" = "xslxlog" ]; then + # slxlog handling - special case + TMP=$(mktemp) + cat > "$TMP" + + SUBJ=$(grep '^Subject: .*$' "$TMP" | cut -c 10-) + + if [ -n "$SUBJ" ]; then + slxlog "cron" "$SUBJ" "$TMP" + fi + + rm -f -- "$TMP" +elif [ -n "$SLX_CRON_MAIL" ] && [ -x "$SLX_CRON_MAIL" ]; then + # see if SLX_CRON_MAIL is a valid binary and use that + $SLX_CRON_MAIL $@ +elif which sendmail 2> /dev/null; then + # fallback to sendmail + sendmail $@ +elif which logger 2> /dev/null; then + # nothing worked, write to syslog if logger is present + TMP=$(mktemp /tmp/cron.XXXXXXXX) + cat > "$TMP" + chmod 0600 "$TMP" + logger "cron tried to mail, but no mailer found! Mail dumped to $TMP" +fi + diff --git a/core/modules/cron/module.build b/core/modules/cron/module.build new file mode 100644 index 00000000..a80caf57 --- /dev/null +++ b/core/modules/cron/module.build @@ -0,0 +1,32 @@ +#!/bin/bash + + +fetch_source() { + [ -d "${MODULE_WORK_DIR}/src/.git" ] && return 0 + rm -rf -- "${MODULE_WORK_DIR}/src" + git clone --depth 1 "${REQUIRED_GIT}" "${MODULE_WORK_DIR}/src" || perror "Could not create ${MODULE_WORK_DIR}/src" + cd "${MODULE_WORK_DIR}/src" + git checkout "${REQUIRED_COMMIT}" || perror "Could not switch to required commit" + cd - +} + +build() { + + # compilation + cd "${MODULE_WORK_DIR}/src" || perror "Could not cd to '${MODULE_WORK_DIR}/src'. Did fetch_source work?" + ./autogen.sh || perror "Autogen failed" + ./configure --disable-dependency-tracking --enable-syscrontab --prefix= --exec-prefix= --bindir=/opt/openslx/bin --sbindir=/opt/openslx/sbin || perror "configure failed" + + make || perror "Could not compile cron using 'make'." + + # NO MAKE INSTALL: Copy to build dir, since there are no shared libs linked in + mkdir -p "${MODULE_BUILD_DIR}/opt/openslx/sbin" + cp "${MODULE_WORK_DIR}/src/src/crond" "${MODULE_BUILD_DIR}/opt/openslx/sbin/" || perror "Could not copy crond binary to ${MODULE_BUILD_DIR}" + + cd - &>/dev/null +} + +post_copy() { + : +} + diff --git a/core/modules/cron/module.conf b/core/modules/cron/module.conf new file mode 100644 index 00000000..60d5555d --- /dev/null +++ b/core/modules/cron/module.conf @@ -0,0 +1,5 @@ +REQUIRED_GIT="http://git.fedorahosted.org/git/cronie.git" +REQUIRED_COMMIT="bab45f0b817d8829f2423e033d90974c9a3abc20" +REQUIRED_BINARIES=" + crond +" diff --git a/core/modules/cups/data/etc/cups/cupsd.conf b/core/modules/cups/data/etc/cups/cupsd.conf new file mode 100644 index 00000000..bd3bc179 --- /dev/null +++ b/core/modules/cups/data/etc/cups/cupsd.conf @@ -0,0 +1,143 @@ +# +# +# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a +# complete description of this file. +# + +# Log general information in error_log - change "warn" to "debug" +# for troubleshooting... +LogLevel warn + +# Deactivate CUPS' internal logrotating, as we provide a better one, especially +# LogLevel debug2 gets usable now +MaxLogSize 0 + +# Administrator user group... +SystemGroup lpadmin + + +# Only listen for connections from the local machine. +Listen localhost:631 +Listen /var/run/cups/cups.sock + +# Show shared printers on the local network. +Browsing Off +BrowseOrder allow,deny +BrowseAllow all +BrowseLocalProtocols CUPS dnssd +BrowseAddress @LOCAL + +# Default authentication type, when authentication is required... +DefaultAuthType Basic + +# Web interface setting... +WebInterface Yes + +# Restrict access to the server... + + Order allow,deny + + +# Restrict access to the admin pages... + + Order allow,deny + + +# Restrict access to configuration files... + + AuthType Default + Require user @SYSTEM + Order allow,deny + + +# Set the default printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + Order deny,allow + + + + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + + +# Set the authenticated printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + AuthType Default + Order deny,allow + + + + AuthType Default + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + AuthType Default + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + + +# +# diff --git a/core/modules/cups/data/etc/systemd/system/cups.service b/core/modules/cups/data/etc/systemd/system/cups.service new file mode 100644 index 00000000..1c1e6305 --- /dev/null +++ b/core/modules/cups/data/etc/systemd/system/cups.service @@ -0,0 +1,9 @@ +[Unit] +Description=Common Unix Printing System +Requires=network.target graphical.target +After=network.target +Before=graphical.target +ConditionFileNotEmpty=/etc/cups/printers.conf + +[Service] +ExecStart=/usr/sbin/cupsd -f diff --git a/core/modules/cups/data/etc/systemd/system/network.target.wants/cups.service b/core/modules/cups/data/etc/systemd/system/network.target.wants/cups.service new file mode 120000 index 00000000..d8578ebb --- /dev/null +++ b/core/modules/cups/data/etc/systemd/system/network.target.wants/cups.service @@ -0,0 +1 @@ +../cups.service \ No newline at end of file diff --git a/core/modules/cups/module.build b/core/modules/cups/module.build new file mode 100644 index 00000000..0128c3e6 --- /dev/null +++ b/core/modules/cups/module.build @@ -0,0 +1,24 @@ +#!/bin/bash + +fetch_source() { + : +} + +build() { + local COPYLIST file + COPYLIST="list_dpkg_output" + [ -e "$COPYLIST" ] && rm "$COPYLIST" + + list_packet_files >> "$COPYLIST" + tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" + + # cups insists on overriding PATH, so we need to fix any scripts + for file in "${MODULE_BUILD_DIR}"/usr/lib/cups/{filter,backend}/*; do + head -n 1 "$file" | grep -q '^#!/' && sed -i '/^#!\//a . \/etc\/environment' "$file" + done +} + +post_copy() { + : +} + diff --git a/core/modules/cups/module.conf b/core/modules/cups/module.conf new file mode 100644 index 00000000..6ec99ac9 --- /dev/null +++ b/core/modules/cups/module.conf @@ -0,0 +1,13 @@ +REQUIRED_BINARIES=" + cupsd + foomatic-rip + gs +" +REQUIRED_DIRECTORIES=" + /usr/lib/cups/ + /usr/share/cups/ + /usr/share/ghostscript/ + /usr/share/ppd/cupsfilters/ + /usr/bin/ +" +REQUIRED_FILES="" diff --git a/core/modules/cups/module.conf.debian b/core/modules/cups/module.conf.debian new file mode 100644 index 00000000..1bb1efad --- /dev/null +++ b/core/modules/cups/module.conf.debian @@ -0,0 +1,10 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups-daemon + ghostscript + foomatic-filters +" +REQUIRED_CONTENT_PACKAGES=" + cups-daemon + ghostscript + foomatic-filters +" diff --git a/core/modules/cups/module.conf.fedora b/core/modules/cups/module.conf.fedora new file mode 100644 index 00000000..6b028b11 --- /dev/null +++ b/core/modules/cups/module.conf.fedora @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-libs + foomatic-filters + ghostscript +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-libs + foomatic-filters + ghostscript +" diff --git a/core/modules/cups/module.conf.opensuse b/core/modules/cups/module.conf.opensuse new file mode 100644 index 00000000..6b028b11 --- /dev/null +++ b/core/modules/cups/module.conf.opensuse @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-libs + foomatic-filters + ghostscript +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-libs + foomatic-filters + ghostscript +" diff --git a/core/modules/cups/module.conf.opensuse.13.2 b/core/modules/cups/module.conf.opensuse.13.2 new file mode 100644 index 00000000..ebe832dd --- /dev/null +++ b/core/modules/cups/module.conf.opensuse.13.2 @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-libs + cups-filters-foomatic-rip + ghostscript +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-libs + cups-filters-foomatic-rip + ghostscript +" diff --git a/core/modules/cups/module.conf.ubuntu b/core/modules/cups/module.conf.ubuntu new file mode 100644 index 00000000..8ca1d1c6 --- /dev/null +++ b/core/modules/cups/module.conf.ubuntu @@ -0,0 +1,10 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + ghostscript-cups + foomatic-filters +" +REQUIRED_CONTENT_PACKAGES=" + cups + ghostscript-cups + foomatic-filters +" diff --git a/core/modules/cups/module.conf.ubuntu.12 b/core/modules/cups/module.conf.ubuntu.12 new file mode 100644 index 00000000..e858e04c --- /dev/null +++ b/core/modules/cups/module.conf.ubuntu.12 @@ -0,0 +1,16 @@ +REQUIRED_INSTALLED_PACKAGES=" + ghostscript + cups + ghostscript-cups + cups-filters + foomatic-filters + libgs9-common +" +REQUIRED_CONTENT_PACKAGES=" + ghostscript + cups + ghostscript-cups + cups-filters + foomatic-filters + libgs9-common +" diff --git a/core/modules/cups/module.conf.ubuntu.13 b/core/modules/cups/module.conf.ubuntu.13 new file mode 100644 index 00000000..53c8d62d --- /dev/null +++ b/core/modules/cups/module.conf.ubuntu.13 @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-daemon + ghostscript-cups + foomatic-filters +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-daemon + ghostscript-cups + foomatic-filters +" diff --git a/core/modules/cups/module.conf.ubuntu.13.10 b/core/modules/cups/module.conf.ubuntu.13.10 new file mode 100644 index 00000000..d3fa3b5d --- /dev/null +++ b/core/modules/cups/module.conf.ubuntu.13.10 @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-daemon + cups-filters + foomatic-filters +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-daemon + cups-filters + foomatic-filters +" diff --git a/core/modules/cups/module.conf.ubuntu.14 b/core/modules/cups/module.conf.ubuntu.14 new file mode 100644 index 00000000..23207e5b --- /dev/null +++ b/core/modules/cups/module.conf.ubuntu.14 @@ -0,0 +1,18 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-daemon + cups-filters + cups-core-drivers + cups-filters-core-drivers + ghostscript + libgs9-common +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-daemon + cups-filters + cups-core-drivers + cups-filters-core-drivers + ghostscript + libgs9-common +" diff --git a/core/modules/cups/module.conf.ubuntu.16 b/core/modules/cups/module.conf.ubuntu.16 new file mode 100644 index 00000000..23207e5b --- /dev/null +++ b/core/modules/cups/module.conf.ubuntu.16 @@ -0,0 +1,18 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-daemon + cups-filters + cups-core-drivers + cups-filters-core-drivers + ghostscript + libgs9-common +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-daemon + cups-filters + cups-core-drivers + cups-filters-core-drivers + ghostscript + libgs9-common +" diff --git a/core/modules/dbus/data/etc/dbus-1/system.d/99-nsa-prism-module.conf b/core/modules/dbus/data/etc/dbus-1/system.d/99-nsa-prism-module.conf new file mode 100644 index 00000000..b6470bd3 --- /dev/null +++ b/core/modules/dbus/data/etc/dbus-1/system.d/99-nsa-prism-module.conf @@ -0,0 +1,14 @@ + + + + + + + diff --git a/core/modules/dbus/data/etc/systemd/system/dbus.socket b/core/modules/dbus/data/etc/systemd/system/dbus.socket new file mode 100644 index 00000000..5c373cf4 --- /dev/null +++ b/core/modules/dbus/data/etc/systemd/system/dbus.socket @@ -0,0 +1,5 @@ +[Unit] +Description=D-Bus System Message Bus Socket + +[Socket] +ListenStream=/run/dbus/system_bus_socket diff --git a/core/modules/dbus/data/etc/systemd/system/multi-user.target.wants/dbus.service b/core/modules/dbus/data/etc/systemd/system/multi-user.target.wants/dbus.service new file mode 120000 index 00000000..224df24b --- /dev/null +++ b/core/modules/dbus/data/etc/systemd/system/multi-user.target.wants/dbus.service @@ -0,0 +1 @@ +../dbus.service \ No newline at end of file diff --git a/core/modules/dbus/data/etc/systemd/system/sockets.target.wants/dbus.socket b/core/modules/dbus/data/etc/systemd/system/sockets.target.wants/dbus.socket new file mode 120000 index 00000000..fe02d162 --- /dev/null +++ b/core/modules/dbus/data/etc/systemd/system/sockets.target.wants/dbus.socket @@ -0,0 +1 @@ +../dbus.socket \ No newline at end of file diff --git a/core/modules/dbus/module.build b/core/modules/dbus/module.build new file mode 100644 index 00000000..c6b05a8a --- /dev/null +++ b/core/modules/dbus/module.build @@ -0,0 +1,65 @@ +#!/bin/bash + +fetch_source() { + echo "Extracting from running system..." +} + +build() { + COPYLIST="list_dpkg_output" + [ -e "${COPYLIST}" ] && rm "${COPYLIST}" + + list_packet_files >> "${COPYLIST}" + tarcopy "$(cat "${COPYLIST}" | sort -u)" "${MODULE_BUILD_DIR}" + + # Generate systemd files + mkdir -p "$MODULE_BUILD_DIR/etc/systemd/system" + # This is ugly, as the command line arguments changed over time. Try to do the right thing (whatever that is) + # Need to run dbus-uuidgen first? + local UUIDGEN="# This line intentionally left blank" + if files_contain "ExecStartPre.*uuidgen" "/lib/systemd/system/dbus.service" "/usr/lib/systemd/system/dbus.service"; then + UUIDGEN=$(find "$MODULE_BUILD_DIR" -name dbus-uuidgen -executable | head -n 1) + [ -z "$UUIDGEN" ] && perror "Could not determine dbus-uuidgen location" + UUIDGEN="ExecStartPre=/${UUIDGEN#$MODULE_BUILD_DIR} --ensure" + fi + # Figure out daemon location + local DAEMON=$(find "$MODULE_BUILD_DIR" -name dbus-daemon -executable | head -n 1) + [ -z "$DAEMON" ] && perror "Could not determine dbus-daemon location" + DAEMON="/${DAEMON#$MODULE_BUILD_DIR}" + local DAEMON_ARGS="" + # Daemon arguments + if files_contain "dbus-daemon.*nopidfile" "/lib/systemd/system/dbus.service" "/usr/lib/systemd/system/dbus.service"; then + DAEMON_ARGS+=" --nopidfile" + fi + if files_contain "dbus-daemon.*activation=systemd" "/lib/systemd/system/dbus.service" "/usr/lib/systemd/system/dbus.service"; then + DAEMON_ARGS+=" --activation=systemd" + fi + if files_contain "dbus-daemon.*systemd-activation" "/lib/systemd/system/dbus.service" "/usr/lib/systemd/system/dbus.service"; then + DAEMON_ARGS+=" --systemd-activation" + fi + # dbus-send location + local SEND=$(find "$MODULE_BUILD_DIR" -name dbus-send -executable | head -n 1) + [ -z "$SEND" ] && perror "Could not determine dbus-send location" + SEND="/${SEND#$MODULE_BUILD_DIR}" + sed "s,%UUIDGEN%,$UUIDGEN,g;s,%DAEMON%,$DAEMON,g;s,%SEND%,$SEND,g;s,%DAEMON_ARGS%,$DAEMON_ARGS,g" "${MODULE_DIR}/templates/dbus.service" \ + > "$MODULE_BUILD_DIR/etc/systemd/system/dbus.service" \ + || perror "Could not generate $MODULE_BUILD_DIR/etc/systemd/system/dbus.service" + # This is REQUIRED, otherwise the session daemon won't start (can be empty, but has to exist...) + mkdir -p "${MODULE_BUILD_DIR}/etc/dbus-1/session.d" +} + +post_copy() { + : +} + +files_contain () { + [ $# -lt 2 ] && perror "files_contain needs at least 2 arguments (pattern, file)" + local PATTERN="$1" + shift + local FILE + for FILE in $@; do + [ -e "$FILE" ] || continue + grep -q "$PATTERN" "$FILE" && return 0 # Found + done + return 1 +} + diff --git a/core/modules/dbus/module.conf b/core/modules/dbus/module.conf new file mode 100644 index 00000000..5e5dc4f8 --- /dev/null +++ b/core/modules/dbus/module.conf @@ -0,0 +1,16 @@ +REQUIRED_BINARIES=" + dbus-cleanup-sockets + dbus-daemon + dbus-uuidgen + dbus-monitor + dbus-send + dbus-daemon-launch-helper + dbus-launch + " +REQUIRED_DIRECTORIES=" + /etc/dbus-1 +" +REQUIRED_FILES=" + /etc/systemd/system/dbus.service +" + diff --git a/core/modules/dbus/module.conf.centos b/core/modules/dbus/module.conf.centos new file mode 100644 index 00000000..f38f590f --- /dev/null +++ b/core/modules/dbus/module.conf.centos @@ -0,0 +1,4 @@ +REQUIRED_CONTENT_PACKAGES=" + dbus +" + diff --git a/core/modules/dbus/module.conf.debian b/core/modules/dbus/module.conf.debian new file mode 100644 index 00000000..d007c2ef --- /dev/null +++ b/core/modules/dbus/module.conf.debian @@ -0,0 +1,9 @@ +REQUIRED_CONTENT_PACKAGES=" + dbus +" +REQUIRED_DIRECTORIES+=" + /lib/systemd +" +REQUIRED_FILES=" + /etc/default/dbus +" diff --git a/core/modules/dbus/module.conf.fedora b/core/modules/dbus/module.conf.fedora new file mode 100644 index 00000000..f38f590f --- /dev/null +++ b/core/modules/dbus/module.conf.fedora @@ -0,0 +1,4 @@ +REQUIRED_CONTENT_PACKAGES=" + dbus +" + diff --git a/core/modules/dbus/module.conf.opensuse b/core/modules/dbus/module.conf.opensuse new file mode 100644 index 00000000..9bc514e2 --- /dev/null +++ b/core/modules/dbus/module.conf.opensuse @@ -0,0 +1,4 @@ +REQUIRED_CONTENT_PACKAGES=" + dbus-1 +" + diff --git a/core/modules/dbus/module.conf.ubuntu b/core/modules/dbus/module.conf.ubuntu new file mode 100644 index 00000000..558eea7f --- /dev/null +++ b/core/modules/dbus/module.conf.ubuntu @@ -0,0 +1,7 @@ +REQUIRED_CONTENT_PACKAGES=" + dbus +" +REQUIRED_FILES+=" + /etc/default/dbus +" + diff --git a/core/modules/dbus/module.conf.ubuntu.16 b/core/modules/dbus/module.conf.ubuntu.16 new file mode 100644 index 00000000..dc01164f --- /dev/null +++ b/core/modules/dbus/module.conf.ubuntu.16 @@ -0,0 +1,9 @@ +REQUIRED_CONTENT_PACKAGES=" + dbus + dbus-x11 +" +REQUIRED_FILES+=" +" +REQUIRED_DIRECTORIES=" + /usr/share/dbus-1 +" diff --git a/core/modules/dbus/templates/dbus.service b/core/modules/dbus/templates/dbus.service new file mode 100644 index 00000000..c9f747b0 --- /dev/null +++ b/core/modules/dbus/templates/dbus.service @@ -0,0 +1,13 @@ +[Unit] +Description=D-Bus System Message Bus +Wants=dbus.socket +Requires=dbus.socket +After=syslog.target + +[Service] +%UUIDGEN% +ExecStartPre=-/opt/openslx/bin/rm -f /var/run/dbus/pid +ExecStart=%DAEMON% --system --address=systemd: --nofork %DAEMON_ARGS% +ExecReload=%SEND% --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig +OOMScoreAdjust=-900 + diff --git a/core/modules/debug/data/addon-init b/core/modules/debug/data/addon-init new file mode 100755 index 00000000..e83c21ba --- /dev/null +++ b/core/modules/debug/data/addon-init @@ -0,0 +1,4 @@ +#!/bin/ash + +systemctl daemon-reload +systemctl start debug-shell.service diff --git a/core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service b/core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service new file mode 100644 index 00000000..387defde --- /dev/null +++ b/core/modules/debug/data/etc/systemd/system/debug-udevd_logger.service @@ -0,0 +1,8 @@ +[Unit] +Description=Logger for udevd-messages via udevadmin monitor +DefaultDependencies=no +IgnoreOnIsolate=yes + +[Service] +ExecStart=/opt/openslx/scripts/systemd-debug_udevd_logger + diff --git a/core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service b/core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service new file mode 120000 index 00000000..ad7f978f --- /dev/null +++ b/core/modules/debug/data/etc/systemd/system/sysinit.target.wants/debug-udevd_logger.service @@ -0,0 +1 @@ +../debug-udevd_logger.service \ No newline at end of file diff --git a/core/modules/debug/data/opt/openslx/bin/debug_report b/core/modules/debug/data/opt/openslx/bin/debug_report new file mode 100755 index 00000000..4cdfae4e --- /dev/null +++ b/core/modules/debug/data/opt/openslx/bin/debug_report @@ -0,0 +1,98 @@ +#!/bin/ash + +TOOLS=" + journalctl + systemctl + loginctl + lspci + lsusb + lsmod + mount +" + +URL="http://132.230.8.113/error_report.php" + +if [ "$UID" != "0" ]; then + echo "Debug Reports können nur von root versendet werden" >&2 + exit 1 +fi + +if ! curl -H "Expect:" -f -s -S --connect-timeout 5 "$URL" > /dev/null; then + echo "Kann den Debug-Report-Server in Freiburg nicht erreichen. :-(" >&2 + exit 1 +fi + +rm -rf /tmp/debug-report +mkdir -p /tmp/debug-report/{static,generated} + +if [ ! -d /tmp/debug-report ]; then + echo "FEHLER: Konnte /tmp/debug-report nicht erstellen!" >&2 + exit 1 +fi + +cd /tmp/debug-report + +cat > err-desc < metadata +hwclock >> metadata +date >> metadata +for srv in 132.230.1.9 $SLX_NTP_SERVER 0.de.pool.ntp.org; do + ntpdate -u -q -p 2 -t 1 "$srv" >> metadata && break +done +echo -n "..." + +cp /opt/openslx/config /tmp/udhcpclog static/ 2> /dev/null +echo -n "." + +find /tmp/vmware* -name "*.log" -exec cp {} static/ \; 2> /dev/null +echo -n "." + +cp /var/log/Xorg.0.lo* static/ 2> /dev/null +cp /var/log/{auth.log,kdm.log,syslog,messages,user.log} static/ 2> /dev/null +cp /proc/cpuinfo static/ 2> /dev/null +echo -n "." + +for tool in $TOOLS; do + $tool > "generated/${tool}-out" 2> "generated/${tool}-err" + echo -n "." +done + +ip a > "generated/ip-a-out" 2> "generated/ip-a-err" +echo -n "." + +systemctl status > "generated/systemctl-status-out" 2> "generated/systemctl-status-err" +echo -n "." + +ps aux > "generated/ps-out" 2> "generated/ps-err" +echo -n "." + +echo "..fertig!" + +cd /tmp +rm -f error-report.tar.gz +echo -n "Packe Fehlerbericht ein..." +if ! tar czf error-report.tar.gz debug-report; then + echo "Fehler beim Packen des Berichts!" >&2 + exit 1 +fi +echo "....fertig!" + +echo -n "Lade Fehlerbericht hoch...." +if ! curl -H "Expect:" -f -s -S -F "file=@error-report.tar.gz;filename=report" "$URL" > /dev/null; then + echo "Fehler beim Hochladen des Fehlerberichts :-(" >&2 + exit 1 +fi + +echo "Fehlerbericht erfolgreich versendet!" + diff --git a/core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger b/core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger new file mode 100755 index 00000000..fb04d568 --- /dev/null +++ b/core/modules/debug/data/opt/openslx/scripts/systemd-debug_udevd_logger @@ -0,0 +1,2 @@ +#!/bin/ash +/usr/bin/udevadm monitor | /usr/bin/logger diff --git a/core/modules/debug/module.build b/core/modules/debug/module.build new file mode 100644 index 00000000..c020181d --- /dev/null +++ b/core/modules/debug/module.build @@ -0,0 +1,20 @@ +fetch_source() { + : +} + +build() { + + for BIN in $REQUIRED_BINARIES; do + [[ "$BIN" == @* ]] && BIN=$(echo "$BIN" | cut -c 2-) + BIN_LOCATION=$(which ${BIN}) + if [ ! -z ${BIN_LOCATION} -a -e ${BIN_LOCATION} ]; then + tarcopy "$(get_link_chain ${BIN_LOCATION})" "${MODULE_BUILD_DIR}" + else + pwarning "'${BIN}' not found on the system." + fi + done +} + +post_copy() { + : +} diff --git a/core/modules/debug/module.conf b/core/modules/debug/module.conf new file mode 100644 index 00000000..71006514 --- /dev/null +++ b/core/modules/debug/module.conf @@ -0,0 +1,18 @@ +REQUIRED_BINARIES=" + strace + ltrace + ldd + setterm + curl + nano + fc-cache + fc-query + @xset + locale + su + file + @htop + @logger + @tcpdump + getfacl +" diff --git a/core/modules/debug/module.conf.debian b/core/modules/debug/module.conf.debian new file mode 100644 index 00000000..00bfea2c --- /dev/null +++ b/core/modules/debug/module.conf.debian @@ -0,0 +1,7 @@ +REQUIRED_INSTALLED_PACKAGES=" + curl + ltrace + strace + nano + fontconfig +" diff --git a/core/modules/debug/module.conf.opensuse b/core/modules/debug/module.conf.opensuse new file mode 100644 index 00000000..b7971956 --- /dev/null +++ b/core/modules/debug/module.conf.opensuse @@ -0,0 +1,11 @@ +REQUIRED_INSTALLED_PACKAGES=" + curl + ltrace + nano + fontconfig + fonts-config + xset +" +REQUIRED_BINARIES+=" + fonts-config +" diff --git a/core/modules/debug/module.conf.ubuntu b/core/modules/debug/module.conf.ubuntu new file mode 100644 index 00000000..00bfea2c --- /dev/null +++ b/core/modules/debug/module.conf.ubuntu @@ -0,0 +1,7 @@ +REQUIRED_INSTALLED_PACKAGES=" + curl + ltrace + strace + nano + fontconfig +" diff --git a/core/modules/dhcpc-busybox/README b/core/modules/dhcpc-busybox/README new file mode 100644 index 00000000..5dd78e73 --- /dev/null +++ b/core/modules/dhcpc-busybox/README @@ -0,0 +1,7 @@ +This module requires that busybox udhcpc is present in stage 3.2 + +The default setup builds busybox with udhcpc, puts it in stage 3.1 +which copies it to stage 3.2 before the switchroot happens. That's +why there is no direct dependency in this module's .conf: busybox +is not part of the stage 3.2 target. + diff --git a/core/modules/dhcpc-busybox/data/etc/systemd/system/dhcpc@.service b/core/modules/dhcpc-busybox/data/etc/systemd/system/dhcpc@.service new file mode 120000 index 00000000..a2e7487d --- /dev/null +++ b/core/modules/dhcpc-busybox/data/etc/systemd/system/dhcpc@.service @@ -0,0 +1 @@ +udhcpc@.service \ No newline at end of file diff --git a/core/modules/dhcpc-busybox/data/etc/systemd/system/udhcpc@.service b/core/modules/dhcpc-busybox/data/etc/systemd/system/udhcpc@.service new file mode 100644 index 00000000..6c2061a0 --- /dev/null +++ b/core/modules/dhcpc-busybox/data/etc/systemd/system/udhcpc@.service @@ -0,0 +1,10 @@ +[Unit] +Description=DHCP Client for %i +After=systemd-tmpfiles-setup.service + +[Service] +Type=forking +PIDFile=/run/udhcpc/udhcpc.%I.pid +ExecStart=/opt/openslx/scripts/systemd-udhcpc++ %I +ExecStopPost=/opt/openslx/bin/rm /run/udhcpc/udhcpc.%I.pid + diff --git a/core/modules/dhcpc-busybox/data/etc/tmpfiles.d/udhcpc.conf b/core/modules/dhcpc-busybox/data/etc/tmpfiles.d/udhcpc.conf new file mode 100644 index 00000000..2b8ede25 --- /dev/null +++ b/core/modules/dhcpc-busybox/data/etc/tmpfiles.d/udhcpc.conf @@ -0,0 +1 @@ +d /run/udhcpc 0755 root root diff --git a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++ b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++ new file mode 100755 index 00000000..b3de09e7 --- /dev/null +++ b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++ @@ -0,0 +1,20 @@ +#!/bin/bash +PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin + +NET_IF="$1" +NET_IP="$(ip addr show dev "${NET_IF}" | grep -m1 '^\s*inet ' | awk -F " " '{print $2}' | awk -F "/" '{print $1}')" + +UDHCPC_OPTS="" +[ ! -z "$NET_IP" ] && UDHCPC_OPTS=" -r $NET_IP" + +mkdir -p /run/udhcpc || echo "Could not create '/run/udhcpc'." + +/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -O search -t 8 -s /opt/openslx/scripts/udhcpc-openslx -i "$NET_IF" -p "/run/udhcpc/udhcpc.$NET_IF.pid" +RET=$? + +if [ "$RET" != 0 ]; then + slxlog "udhcpc" "Could not run 'udhcpc${UDHCPC_OPTS}' on ${NET_IF}." +fi + +exit "$RET" + diff --git a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx new file mode 100755 index 00000000..dd8cd8ba --- /dev/null +++ b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx @@ -0,0 +1,254 @@ +#!/bin/bash +# Needs bash for printf -v VARNAME +# ----------------------------------------------------------------------------- +# +# Copyright (c) 2011 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# +# Mini-Linux Toolkit +# +# ----------------------------------------------------------------------------- + +. /opt/openslx/config + +RESOLV_CONF="/opt/openslx/resolv.conf" +THIS_RESOLV="/run/network/${interface}.resolv" + +rebuild_resolv_conf () { + # Don't do anything if the active resolv.conf is not ours + # Also this will not run resolvconf update.d... No idea if we should still do so... + [ -L "/etc/resolv.conf" ] || return 0 + [ "x$(readlink "/etc/resolv.conf")" == "x${RESOLV_CONF}" ] || return 0 + # Maybe make this smarter some time, if anyone is using clients that are on multiple networks at once etc... + # This is a little braindead but should work most of the time + sort -u /run/network/*.resolv > "$RESOLV_CONF" 2> /dev/null + + # add support for resolv.conf update scripts // see man(8) resolvconf + if [ -d /etc/resolvconf/update.d ]; then + for s in $(ls -1 /etc/resolvconf/update.d/*.sh); do + $s + done + fi +} + +escape_search() { + echo "$@" | sed -e 's/[]\/()$*.^|[]/\\&/g' +} + +escape_replace() { + echo "$@" | sed -e 's/[\/&]/\\&/g' +} + +check_env() { + if [ -z "$ip" -o -z "$subnet" -o -z "$interface" ]; then + echo "$1 event with missing data" >&2 + echo "ip = '$ip'" >&2 + echo "subnet = '$subnet'" >&2 + echo "interface = '$interface'" >&2 + exit 1 + fi +} + +if [ ! -d /run ]; then + echo -n "Waiting for /run." >&2 + while [ ! -d /run ]; do + echo -n "." >&2 + usleep 500000 + done + echo "" >&2 +fi + +case "$1" in + bound|renew) + check_env "$1" + mkdir -p "/run/dhcpc" + # Set address on interface + ip addr add "$ip/$(ipcalc -s -p $ip $subnet|sed s/.*=//)" dev "$interface" + # Set default route, if given + if [ -n "$router" ]; then + ip route add default via "$router" + fi + + # get domain, hostname and thus fqdn from DNS + dns_fqdn=$(/opt/openslx/bin/busybox timeout -t 3 rdns "$ip") + dns_short="${dns_fqdn%%.*}" + # check if it is fqdn + if [ "$dns_fqdn" == "$dns_short" ]; then + unset dns_fqdn dns_short + fi + + # Update resolver configuration file + CONF="" + if [ -n "$domain" ]; then + printf -v CONF "${CONF}domain $domain\n" + elif [ -n "$dns_fqdn" ]; then + domain="${dns_fqdn#*.}" + printf -v CONF "${CONF}domain $domain\n" + + elif [ -n "$SLX_NET_DOMAIN" ]; then + domain="$SLX_NET_DOMAIN" + printf -v CONF "${CONF}domain $domain\n" + fi + if [ -n "$search" ]; then + printf -v CONF "${CONF}search $search\n" + elif [ -n "$SLX_SEARCH_DOMAIN" ]; then + printf -v CONF "${CONF}search $SLX_SEARCH_DOMAIN\n" + elif [ -n "$SLX_NET_DOMAIN" ]; then + printf -v CONF "${CONF}search $SLX_NET_DOMAIN\n" + fi + for i in $dns; do + echo "$0: Adding DNS $i" + printf -v CONF "${CONF}nameserver $i\n" + done + + if [ -x "/sbin/resolvconf" ] && [ -L "/etc/resolv.conf" ] && [ -d "/etc/resolvconf/update.d" ]; then + # Automatic handling :-) + resolvconf --create-runtime-directories + resolvconf --enable-updates + echo -n "$CONF" | resolvconf -a "${interface}.udhcpc" + else + # Manual handling required :-( + echo -n "$CONF" > "$THIS_RESOLV" + rebuild_resolv_conf + fi + + + # Things that should only happen for the main interface that was used for booting + if [ "$interface" == "br0" ]; then + # Update IP + sed -i "s/^\(SLX_PXE_CLIENT_IP=\).*$/\1'$ip'/" /opt/openslx/config + + # Only if network is not ready yet + if [ ! -e "/run/network/network-ready" ]; then + # Update hostname + if [ -z "$dns_fqdn" -a -n "$domain" -a -n "$hostname" ]; then + # fallback to what the dhcp told us + dns_fqdn="${hostname}.${domain}" + fi + if [ -z "$dns_fqdn" ]; then + # only if there is no /etc/hostname, we fall back (far back, that is) + [ ! -s "/etc/hostname" ] && dns_fqdn="slx-client" + fi + # finally, if dns_fqdn was set to anything, apply it + if [ -n "$dns_fqdn" ]; then + dns_short="${dns_fqdn%%.*}" + echo "$dns_short" > "/proc/sys/kernel/hostname" + echo "$dns_short" > "/etc/hostname" + if grep '^SLX_HOSTNAME=' /opt/openslx/config 2>/dev/null; then + sed -i "s/^\(SLX_HOSTNAME=\).*$/\1'$dns_short'/" /opt/openslx/config + else + echo "# Config written by openslx-dhcp-script (1)" >> /opt/openslx/config + echo "SLX_HOSTNAME='$dns_short'" >> /opt/openslx/config + fi + fi + + # if domain is given from dhcp, save it to openslx config for later use in VMs + if [ -n "$domain" ]; then + # check if SLX_NET_DOMAIN is in the config at all + if grep '^SLX_NET_DOMAIN=' /opt/openslx/config 2>/dev/null; then + sed -i "s/^\(SLX_NET_DOMAIN=\).*$/\1'$domain'/" /opt/openslx/config + else + # not set, add it + echo "SLX_NET_DOMAIN='$domain'" >> /opt/openslx/config + fi + fi + # Update /etc/issue for proper spacing + /opt/openslx/scripts/openslx-create_issue + touch "/run/network/network-ready" + # Mark network target as reached + systemctl start network.target & + fi # end "network not ready yet" + fi # end "br0 only" + + # Hostname in /etc/hosts + touch "/etc/hosts" + hostlist="" + [ -n "$dns_fqdn" ] && hostlist="$dns_fqdn" + [ -n "$hostname" -a -n "$domain" -a "x${hostname}.${domain}" != "x$dns_fqdn" ] && hostlist="$hostlist ${hostname}.${domain}" + if [ -n "$hostlist" ]; then + for host in $hostlist; do + host_short="${host%%.*}" + [ "x$host_short" = "x$host" ] && host_short="" + sed -i -r "s/\s$(escape_search "$host")(\s|$)/ /g" /etc/hosts + [ -n "$host_short" ] && sed -i -r "s/\s$(escape_search "$host_short")(\s|$)/ /g" /etc/hosts + if grep -q -E "^$ip\s" /etc/hosts; then + sed -i "s/^$(escape_search "$ip")\s.*/$(escape_replace "$ip $host $host_short")/g" /etc/hosts + else + echo "$ip $host $host_short" >> /etc/hosts + fi + done + fi + # Get rid of orphaned lines in /etc/hosts + sed -i -r '/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\s*$/d' /etc/hosts + + # "dns ready" target + if [ -n "$dns" ] && [ ! -e "/run/network/dns-ready" ]; then + touch "/run/network/dns-ready" + # Write to openslx-config + echo "# Config written by openslx-dhcp-script (2)" >> /opt/openslx/config + echo "SLX_DNS='$dns'" >> /opt/openslx/config + systemctl start network-dns.target & + fi + # "default route exists" target + if [ -n "$router" ] && [ ! -e "/run/network/gateway-ready" ]; then + touch "/run/network/gateway-ready" + # Write to openslx-config + echo "# Config written by openslx-dhcp-script (3)" >> /opt/openslx/config + echo "SLX_DNS='$dns'" >> /opt/openslx/config + systemctl start network-gateway.target & + fi + + # Port redirection for printing happens in printergui module (iptables-helper rule) + ####iptables -A INPUT -i br0 -p tcp --dport 515 -j DROP + ####iptables -A INPUT -i br0 -p tcp --dport 5515 -j DROP + ####iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p tcp --dport 515 -j REDIRECT --to-port 5515 + ;; + + deconfig) + check_env "$1" + if [ $(grep -c "nfs=" /proc/cmdline) == 0 ]; then + echo 1 > "/proc/sys/net/ipv4/conf/$interface/promote_secondaries" + clientip=${ip%%:*} + ip addr del "$clientip/$(ipcalc -s -p $clientip $subnet|sed s/.*=//)" dev "$interface" + sed -i "/^$(escape_search "$ip")(\s|$)/d" /etc/hosts + else + echo "NFS is active, not removing old ip adress. warning: lease may expire after a while." + fi + + if [ -x /sbin/resolvconf ] && [ -L /etc/resolv.conf ] && [ -d /etc/resolvconf/update.d ]; then + # Automatic handling :-) + resolvconf -d "${interface}.udhcpc" + else + # Manual handling required :-( + rm -f -- "$THIS_RESOLV" + rebuild_resolv_conf + fi + ;; + + leasefail) + echo "$0: Lease failed: $message" >&2 + + ;; + + nak) + echo "$0: Received a NAK: $message" >&2 + + ;; + + *) + echo "$0: Unknown udhcpc command: $1" >&2 + exit 1 + + ;; +esac + +exit 0 + diff --git a/core/modules/dhcpc-busybox/module.build b/core/modules/dhcpc-busybox/module.build new file mode 100644 index 00000000..d8804784 --- /dev/null +++ b/core/modules/dhcpc-busybox/module.build @@ -0,0 +1,13 @@ + +fetch_source() { + : +} + +build() { + : +} + +post_copy() { + : +} + diff --git a/core/modules/dhcpc-busybox/module.conf b/core/modules/dhcpc-busybox/module.conf new file mode 100644 index 00000000..c01ade29 --- /dev/null +++ b/core/modules/dhcpc-busybox/module.conf @@ -0,0 +1 @@ +# Nothing diff --git a/core/modules/dnbd3/TODO b/core/modules/dnbd3/TODO new file mode 100644 index 00000000..6203c18f --- /dev/null +++ b/core/modules/dnbd3/TODO @@ -0,0 +1 @@ +update to new config scheme diff --git a/core/modules/dnbd3/data/etc/fuse.conf b/core/modules/dnbd3/data/etc/fuse.conf new file mode 100644 index 00000000..926d936f --- /dev/null +++ b/core/modules/dnbd3/data/etc/fuse.conf @@ -0,0 +1,8 @@ +# /etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE) + +# Set the maximum number of FUSE mounts allowed to non-root users. +# The default is 1000. +#mount_max = 1000 + +# Allow non-root users to specify the allow_other or allow_root mount options. +user_allow_other diff --git a/core/modules/dnbd3/data/etc/systemd/system/setup-dnbd3.service b/core/modules/dnbd3/data/etc/systemd/system/setup-dnbd3.service new file mode 100644 index 00000000..516cbfa2 --- /dev/null +++ b/core/modules/dnbd3/data/etc/systemd/system/setup-dnbd3.service @@ -0,0 +1,11 @@ +[Unit] +Description=Setup dnbd3 kernel module and user space daemon +After=sysinit.target +Before=shutdown.target +DefaultDependencies=no + +[Service] +ExecStart=/opt/openslx/scripts/systemd-setup_dnbd3 +ExecStop=/opt/openslx/bin/dnbd3-client --kill +ExecStopPost=/opt/openslx/bin/rm /var/run/dnbd3.socket +Restart=on-abort diff --git a/core/modules/dnbd3/data/etc/systemd/system/sysinit.target.wants/setup-dnbd3.service b/core/modules/dnbd3/data/etc/systemd/system/sysinit.target.wants/setup-dnbd3.service new file mode 120000 index 00000000..05dd4ac2 --- /dev/null +++ b/core/modules/dnbd3/data/etc/systemd/system/sysinit.target.wants/setup-dnbd3.service @@ -0,0 +1 @@ +../setup-dnbd3.service \ No newline at end of file diff --git a/core/modules/dnbd3/data/etc/udev/rules.d/90-dnbd3.rules b/core/modules/dnbd3/data/etc/udev/rules.d/90-dnbd3.rules new file mode 100644 index 00000000..0eb1f52d --- /dev/null +++ b/core/modules/dnbd3/data/etc/udev/rules.d/90-dnbd3.rules @@ -0,0 +1 @@ +KERNEL=="dnbd*", SUBSYSTEM=="block", MODE="0664" diff --git a/core/modules/dnbd3/data/opt/openslx/scripts/pam_script_auth.d/10-fuse b/core/modules/dnbd3/data/opt/openslx/scripts/pam_script_auth.d/10-fuse new file mode 100644 index 00000000..85d8a75a --- /dev/null +++ b/core/modules/dnbd3/data/opt/openslx/scripts/pam_script_auth.d/10-fuse @@ -0,0 +1,6 @@ + +adduser "${PAM_USER}" "fuse" +ret=$? +[ "$ret" -ne "0" ] && slxlog "pam-auth-fuse" "Could not add $PAM_USER to group 'fuse'" +true + diff --git a/core/modules/dnbd3/data/opt/openslx/scripts/systemd-setup_dnbd3 b/core/modules/dnbd3/data/opt/openslx/scripts/systemd-setup_dnbd3 new file mode 100755 index 00000000..e519b1b8 --- /dev/null +++ b/core/modules/dnbd3/data/opt/openslx/scripts/systemd-setup_dnbd3 @@ -0,0 +1,16 @@ +#!/bin/ash + +if ! insmod /lib/modules/dnbd3/dnbd3.ko; then + slxlog "dnbd3-kernel" "Error loading dnbd3 client kernel module" + exit 1 +fi + +[ -e "/dev/dnbd0" ] || exit 1 +for i in /dev/dnbd*; do + echo 8192 > "/sys/block/dnbd${i#/dev/dnbd}/queue/nr_requests" +done + +exec /opt/openslx/bin/dnbd3-client --daemon +slxlog "dnbd3-daemon" "Error launching dnbd3-client daemon" +exit 1 + diff --git a/core/modules/dnbd3/module.build b/core/modules/dnbd3/module.build new file mode 100644 index 00000000..e7c91f45 --- /dev/null +++ b/core/modules/dnbd3/module.build @@ -0,0 +1,45 @@ +fetch_source() { + mkdir -p "src/kmod" + if [ ! -d "src/dnbd3" ]; then + git clone "$REQUIRED_GIT" "src/dnbd3" || perror "Could not clone dnbd3 git repo" + fi + cd src/dnbd3 + #git checkout "$REQUIRED_BRANCH" || perror "Could not checkout requested branch $REQUIRED_BRANCH" + git checkout "$REQUIRED_COMMIT" || perror "Could not checkout requested commit $REQUIRED_COMMIT" + cd - + cp src/dnbd3/Kbuild.in src/dnbd3/src/*.{c,h} src/dnbd3/src/kernel/*.{c,h} src/kmod/ || perror "Could not copy kernel module source files" + cat > "src/kmod/Makefile" <> "$COPYLIST" + tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" +} + +post_copy() { + : +} diff --git a/core/modules/firefox/module.conf b/core/modules/firefox/module.conf new file mode 100644 index 00000000..0718324f --- /dev/null +++ b/core/modules/firefox/module.conf @@ -0,0 +1,6 @@ +REQUIRED_BINARIES=" + firefox +" +REQUIRED_DIRECTORIES=" + / +" diff --git a/core/modules/firefox/module.conf.ubuntu b/core/modules/firefox/module.conf.ubuntu new file mode 100644 index 00000000..45f7e899 --- /dev/null +++ b/core/modules/firefox/module.conf.ubuntu @@ -0,0 +1,2 @@ +REQUIRED_INSTALLED_PACKAGES="firefox" +REQUIRED_CONTENT_PACKAGES="firefox" diff --git a/core/modules/gdisk/data/inc/prepare_localhd.functions b/core/modules/gdisk/data/inc/prepare_localhd.functions new file mode 100755 index 00000000..45075ab0 --- /dev/null +++ b/core/modules/gdisk/data/inc/prepare_localhd.functions @@ -0,0 +1,163 @@ +#!/bin/ash +# Copyright (c) 2014 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your feedback to feedback@openslx.org +# +# General information about OpenSLX can be found under http://openslx.org +# +# Local hard disk autodetection script for OpenSLX linux stateless clients, +# detecting special GPT partitions + +############################################################################# + +# Patition IDs +# Prefix for all paritions is 0FC63DAF-8483-4772-8E79-9999999999 +# Suffix: +# 44: non-persistent scratch partition +# 45: persistent partiton +# 46: non-persistent openslx partition for config, overlayfs and qcow images + +# We use special non assigned partition type for harddisk scratch +# space, thus no normal filesystem will be incidentally deleted or +# corrupted + +# Set disks to none +ID44= +ID45= +ID46= + +# General formatter for the /tmp partition on a local harddisk +diskfm () { + mopt="" # Global var! + local target="$1" + local fslist="xfs jfs ext4" + local fs + local path + [ $# -ge 2 ] && fslist="$2" + for fs in $fslist ; do + unset available + case $(cat /proc/filesystems) in + *${fs}*) available=yes;; + *) modprobe "${fs}" && available=yes;; + esac + if [ -n "${available}" ]; then + unset found + if which "mkfs.$fs" >/dev/null; then + found=yes + case "mkfs.$fs" in + mkfs.xfs) + fopt="-fq" + ;; + mkfs.jfs) + fopt="-q" + ;; + mkfs.ext4) + fopt="-Fq" + ;; + esac + mkfs.$fs ${fopt} "${target}" + fi + [ -n "$found" ] && break + fi + done +} + +# function format_pid () +# Formats partition with id 44, 45, 46 +# expects id as parameter +# usage: format_pid [44|45|46] +format_pid () { + local fmtpid=$1 + local target + case $fmtpid in + 44) + target=$ID44 + ;; + 45) + target=$ID45 + ;; + 46) + target=$ID46 + ;; + esac + if echo $target | grep -q '/dev/disk/' + then + # check for supported filesystem and formatter + diskfm $target + else + echo "Could not format partition ID $fmtpid" + fi +} + +# function mount_pid () +# Mounts partition with id 44, 45, 46 +# expects id and mountpoint as parameter +# usage: mount_pid [44|45|46] $MNT +mount_pid () { + local mntpid=$1 + local target=$2 + local source + if [ "x$2" = "x" ] + then + echo "No mountpoint specified dummy!" + else + case $mntpid in + 44) + source=$ID44 + ;; + 45) + source=$ID45 + ;; + 46) + source=$ID46 + ;; + esac + mkdir -p $target + if busybox mount -t auto "$source" "$target" + then + [ "x$mntpid}" = "x44" ] && chmod a+rwxt $target + if echo "$target" | grep -Eq "^mnt/|^/mnt/" + then + fstabtarget=$(echo $target | sed -re "s/[/]{0,1}mnt//") + echo -e "$source\t$fstabtarget\tauto\tnoexec\t0 0" \ + >>/mnt/etc/fstab + fi + else + echo "Could not mount partition ID $mntpid" + fi + fi +} + +# Get partition types +hdisks=$(ls /dev/disk/by-path/*-part[0-9]* \ + | sed -re "s,(.*)-part[0-9]*,\1," \ + | sort -u) + +if echo $hdisks | grep -q '/dev/disk/' + then + for hd in $(echo $hdisks) + do + upartid=$(sgdisk -p $hd 2>/dev/null | awk '$6~/FFFF/ {print $1}') + for upt in $(echo $upartid) + do + echo "${hd}-part${upt} $(sgdisk -i $upt $hd)" \ + | awk '$5 ~ /0FC63DAF-8483-4772-8E79-[0]{10}4[4-6]/ \ + {print $5 "=" $1}' \ + | sed -re "s,0FC63DAF-8483-4772-8E79-[0]{10},ID," \ + >> /etc/hdisks.conf + done + done + if [ -r /etc/hdisks.conf ] + then + . /etc/hdisks.conf + echo -e "Partitions found:\n$(cat /etc/hdisks.conf | cut -d'=' -f1)" + else + echo "No pratition IDs 44, 45 or 46 found" + fi + +fi + diff --git a/core/modules/gdisk/data/inc/setup_gpt.differentapproach b/core/modules/gdisk/data/inc/setup_gpt.differentapproach new file mode 100755 index 00000000..25b8dda3 --- /dev/null +++ b/core/modules/gdisk/data/inc/setup_gpt.differentapproach @@ -0,0 +1,157 @@ +#!/bin/ash +# Copyright (c) 2014 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your feedback to feedback@openslx.org +# +# General information about OpenSLX can be found under http://openslx.org +# +# Local hard disk autodetection script for OpenSLX linux stateless clients, +# detecting special GPT partitions + +############################################################################# + +# Patition IDs +# Prefix for all paritions is 0FC63DAF-8483-4772-8E79-9999999999 +# Suffix: +# 44: non-persistent scratch partition +# 45: persistent partiton +# 46: non-persistent openslx partition for config, overlayfs and qcow images + +# We use special non assigned partition type for harddisk scratch +# space, thus no normal filesystem will be incidentally deleted or +# corrupted + +PREFIX=/mnt + +# Set disks to none +ID44= +ID45= +ID46= + +# Mountpoints +ID44MNT=/tmp +ID45MNT=/opt/openslx/mnt/persistent +ID46MNT=/opt/openslx/mnt/non-persistent + +# General formatter for the /tmp partition on a local harddisk +diskfm () { + mopt="" # Global var! + local target="$1" + local fslist="xfs jfs ext4" + local fs + local path + [ $# -ge 2 ] && fslist="$2" + for fs in $fslist ; do + unset available + case $(cat /proc/filesystems) in + *${fs}*) available=yes;; + *) modprobe "${fs}" && available=yes;; + esac + if [ -n "${available}" ]; then + unset found + if which "mkfs.$fs" ; then + found=yes + case "mkfs.$fs" in + mkfs.xfs) + fopt="-fq" + ;; + mkfs.jfs) + fopt="-q" + ;; + mkfs.ext4) + fopt="-Fq" + ;; + esac + mkfs.$fs ${fopt} "${target}" + fi + [ -n "$found" ] && break + fi + done +} + +# Format and mount ID44 (/tmp) +mount_id44 () { + HAVE_TMP=no + if echo $ID44 | grep -q '/dev/disk/' + then + # check for supported filesystem and formatter + if diskfm $ID44; then + mkdir -p $PREFIX$ID44MNT + if mount -t auto "$ID44" "$PREFIX$ID44MNT" 2>/dev/null + then + chmod a+rwxt $PREFIX$ID44MNT + echo -e "$ID44\t$ID44MNT\tauto\tnoexec\t0 0" >> "/etc/fstab" + HAVE_TMP=yes + else + echo "Could not mount partition $ID44" + fi + else + echo "Could not format partition $ID44" + fi + fi +} + +# Mount persistent partition 45 +mount_id45 () { + HAVE_PERSISTENT=no + if echo $ID45 | grep -q '/dev/disk/' + then + mkdir -p $PREFIX$ID45MNT + if mount -t auto "$ID45" "$PREFIX$ID45MNT" 2>/dev/null + then + echo -e "$ID45\t$ID45MNT\tauto\tnoauto\t0 0" >> "/etc/fstab" + HAVE_PERSISTENT=yes + else + echo "Could not mount persistent partition $ID45" + fi + fi +} + +# Mount non-persistent partition 46 +mount_id46 () { + HAVE_NONPERSISTENT=no + if echo $ID46 | grep -q '/dev/disk/' + then + # check for supported filesystem and formatter + if diskfm $ID46; then + mkdir -p $PREFIX$ID46MNT + if mount -t auto -o noexec "$ID46" "$PREFIX$ID46MNT" 2>/dev/null + then + echo -e "$ID46\t$ID46MNT\tauto\tnoauto,noexec\t0 0" >> "/etc/fstab" + HAVE_NONPERSISTENT=yes + else + echo "Could not mount non-persistent partition $ID46" + fi + else + echo "Could not format partition $ID44" + fi + fi +} + +# Get partition types +hdisks=$(ls /dev/disk/by-path/*-part[0-9]* \ + | sed -re "s,(.*)-part[0-9]*,\1," \ + | sort -u) + +if echo $hdisks | grep -q '/dev/disk/' + then + for hd in $(echo $hdisks) + do + upartid=$(sgdisk -p $hd 2>/dev/null | awk '$6~/FFFF/ {print $1}') + for upt in $(echo $upartid) + do + echo "${hd}-part${upt} $(sgdisk -i $upt $hd)" \ + | awk '$5 ~ /0FC63DAF-8483-4772-8E79-[0]{10}4[4-6]/ \ + {print $5 "=" $1}' \ + | sed -re "s,0FC63DAF-8483-4772-8E79-[0]{10},ID," \ + >> /etc/hdisks.conf + done + done + [ -r /etc/hdisks.conf ] && . /etc/hdisks.conf + +fi + diff --git a/core/modules/gdisk/data/inc/setup_gpt.old b/core/modules/gdisk/data/inc/setup_gpt.old new file mode 100755 index 00000000..a4c971e4 --- /dev/null +++ b/core/modules/gdisk/data/inc/setup_gpt.old @@ -0,0 +1,160 @@ +#!/bin/ash +# Copyright (c) 2013 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your feedback to feedback@openslx.org +# +# General information about OpenSLX can be found under http://openslx.org +# +# Local hard disk autodetection script for OpenSLX linux stateless clients, +# detecting swap and special partitions + +############################################################################# + +# Mount point for persistent scratch partition (type 45) +PERSISTENT="/opt/openslx/persistent" + +# General formatter for the /tmp partition on a local harddisk +diskfm () { + mopt="" # Global var! + local target="$1" + local fslist="xfs jfs ext3 ext2 ext4" + local fs + local path + [ $# -ge 2 ] && fslist="$2" + for fs in $fslist ; do + unset available + case $(cat /proc/filesystems) in + *${fs}*) available=yes;; + *) modprobe "${fs}" && available=yes;; + esac + if [ -n "${available}" ]; then + unset found + if which "mkfs.$fs" ; then + found=yes + case "mkfs.$fs" in + mkfs.xfs) + fopt="-f -b size=4k -s size=4k -l size=512b" # fastest formatting possible :) + mopt="-o noexec" + ;; + mkfs.ext2) + fopt="-Fq" + mopt="-o nocheck,noexec" + ;; + mkfs.ext3|mkfs.ext4) + fopt="-Fq" + mopt="-o noexec" + ;; + mkfs.reiserfs) + fopt="-f" + mopt="-o noexec" + ;; + mkfs.jfs) + fopt="-q" + mopt="-o noexec" + ;; + esac + mkfs.$fs ${fopt} "${target}" + fi + [ -n "$found" ] && break + fi + done +} + +mount_temp () { + local PRE=$(pwd) + if ! cd /tmp; then + mount_temp_fallback $@ + return $? + fi + mount $@ /tmp || return 1 + chmod a+rwxt /tmp + # Move stuff from working directory, which is old /tmp, to new /tmp just mounted + mv ./* ./.[!.]* ./..?* /tmp/ 2> /dev/null + local OLD=$(LANG=C ls -alh | grep -v -E ' \.\.?$' | grep -v '^total') + [ -n "$OLD" ] && echo -- "Leftovers:" && echo -- "$OLD" + cd "$PRE" +} + +mount_temp_fallback () { + mkdir -p /tmptmp + mv /tmp/* /tmp/.* /tmptmp/ 2> /dev/null + mount $@ /tmp || return 1 + chmod a+rwxt /tmp + mv /tmptmp/* /tmptmp/.* /tmp/ + rmdir /tmptmp + return 0 +} + +fdisk -l | sed -n "/^\/dev\//p" > "/etc/disk.partition" + +echo "Partitions:" +cat "/etc/disk.partition" + + +# sgdisk -i 1 /dev/sda | grep -o "0FC63DAF-8483-4772-8E79-[4]\{12\}" + +# Check for standard swap partitions and make them available to the system +HAVE_SWAP=no +for hdpartnr in $(sed -n -e "/ 82 /p" "/etc/disk.partition" | sed -e "s/[[:space:]].*//"); do + echo -e "$hdpartnr\tswap\t\tswap\t\tdefaults\t 0 0" >> "/etc/fstab" + swapon "$hdpartnr" -p 10 && HAVE_SWAP=yes # low priority, in case we have zram swap, prefer that) +done + +# We use special non assigned partition type (id44) for harddisk scratch +# space, thus no normal filesystem will be incidentally deleted or +# corrupted +HAVE_TEMP=no +for hdpartnr in $(sed -n -e "/ 44 /p" "/etc/disk.partition" | sed -e "s/[[:space:]].*//"); do + # check for supported filesystem and formatter + if diskfm "$hdpartnr"; then + # echo "$hdpartnr is mounted to /mnt/tmp at $(sysup)" >/tmp/tmpready + mount_temp "$mopt" "$hdpartnr" || continue + echo -e "${hdpartnr}\t/tmp\t\tauto\t\tnoexec\t 0 0" >> "/etc/fstab" + HAVE_TEMP=yes + break + else + echo "formatting failed for some reason" + fi # Made this non-forking, systemd should handle it - 2013-05-28 +done + +# Put detected linux partitions (83) into /etc/fstab with "noauto", special +# partition 45 (persistent scratch) to /var/scratch and 46 to /var/openslx +HAVE_PERSISTENT=no +for partid in 83 45 46 ; do + for hdpartnr in $(sed -n -e "/ ${partid} /p" "/etc/disk.partition" | sed -e "s/[[:space:]].*//"); do + if [ "${partid}" -eq 83 ]; then + mkdir -p "/media/${hdpartnr#/dev/*}" + echo -e "${hdpartnr}\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto,noexec\t 0 0" >> "/etc/fstab" + elif [ "${partid}" -eq 45 -a "$HAVE_PERSISTENT" = "no" ]; then + mkdir -p "$PERSISTENT" + if ! mount -t auto -o noexec "${hdpartnr}" "$PERSISTENT"; then + diskfm "$hdpartnr" "jfs xfs ext3" || continue + mount -t auto -o noexec "${hdpartnr}" "$PERSISTENT" || continue + fi + HAVE_PERSISTENT=yes + echo -e "${hdpartnr}\t${PERSISTENT}\tauto\t\tnoauto,noexec\t\t 0 0" >> "/etc/fstab" + elif [ "${partid}" -eq 46 ]; then + mkdir -p "/media/${hdpartnr#/dev/*}" + echo -e "${hdpartnr}\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto\t\t 0 0" >> "/etc/fstab" + fi + done +done +[ "$HAVE_PERSISTENT" = "no" -a -d "$PERSISTENT" ] && rm -f "$PERSISTENT" + +mount -a + +# Make huge tmpfs if nothing could be mounted for /tmp +if [ "$HAVE_TEMP" = "no" ]; then + mount_temp -t tmpfs -o size=20G none + slxlog "partition-temp" "Running /tmp on tmpfs only!" "/etc/disk.partition" +fi +if [ "$HAVE_SWAP" = "no" ]; then + slxlog "partition-swap" "Have no (formatted) swap partition, using zram swap only!" "/etc/disk.partition" +fi + +exit 0 + diff --git a/core/modules/gdisk/module.build b/core/modules/gdisk/module.build new file mode 100644 index 00000000..59356ded --- /dev/null +++ b/core/modules/gdisk/module.build @@ -0,0 +1,19 @@ +#!/bin/bash + +fetch_source() { + : +} + +build() { + COPYLIST="list_dpkg_output" + [ -e "$COPYLIST" ] && rm "$COPYLIST" + + list_packet_files >> "$COPYLIST" + tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" + +} + +post_copy() { + copy_kernel_modules +} + diff --git a/core/modules/gdisk/module.conf b/core/modules/gdisk/module.conf new file mode 100644 index 00000000..3d2254cd --- /dev/null +++ b/core/modules/gdisk/module.conf @@ -0,0 +1,94 @@ +REQUIRED_MODULES=" + kernel +" +REQUIRED_BINARIES=" + sgdisk + mkfs.xfs + mkfs.ext4 +" +REQUIRED_KERNEL_MODULES=" + kernel/fs/xfs/xfs.ko + kernel/fs/ext4/ext4.ko + kernel/fs/jfs/jfs.ko + kernel/drivers/scsi/3w-9xxx.ko + kernel/drivers/scsi/3w-sas.ko + kernel/drivers/scsi/aacraid/aacraid.ko + kernel/drivers/scsi/aic7xxx/aic79xx.ko + kernel/drivers/scsi/arcmsr/arcmsr.ko + kernel/drivers/scsi/bfa/bfa.ko + kernel/drivers/scsi/bnx2fc/bnx2fc.ko + kernel/drivers/scsi/csiostor/csiostor.ko + kernel/drivers/scsi/fcoe/fcoe.ko + kernel/drivers/scsi/fnic/fnic.ko + kernel/drivers/scsi/hpsa.ko + kernel/drivers/scsi/hptiop.ko + kernel/drivers/scsi/hv_storvsc.ko + kernel/drivers/scsi/initio.ko + kernel/drivers/scsi/isci/isci.ko + kernel/drivers/scsi/libiscsi.ko + kernel/drivers/scsi/lpfc/lpfc.ko + kernel/drivers/scsi/megaraid/megaraid_sas.ko + kernel/drivers/scsi/mpt2sas/mpt2sas.ko + kernel/drivers/scsi/mpt3sas/mpt3sas.ko + kernel/drivers/scsi/mvsas/mvsas.ko + kernel/drivers/scsi/mvumi.ko + kernel/drivers/scsi/pm8001/pm80xx.ko + kernel/drivers/scsi/pmcraid.ko + kernel/drivers/scsi/qla2xxx/qla2xxx.ko + kernel/drivers/scsi/qla4xxx/qla4xxx.ko + kernel/drivers/scsi/scsi_transport_sas.ko + kernel/drivers/scsi/sd_mod.ko + kernel/drivers/scsi/stex.ko + kernel/drivers/scsi/ufs/ufshcd.ko + kernel/drivers/scsi/virtio_scsi.ko + kernel/drivers/scsi/vmw_pvscsi.ko + kernel/drivers/ata/pata_ali.ko + kernel/drivers/ata/pata_it821x.ko + kernel/drivers/ata/pata_acpi.ko + kernel/drivers/ata/pata_atiixp.ko + kernel/drivers/ata/pata_hpt37x.ko + kernel/drivers/ata/pata_ninja32.ko + kernel/drivers/ata/ahci_platform.ko + kernel/drivers/ata/libahci.ko + kernel/drivers/ata/pata_artop.ko + kernel/drivers/ata/pdc_adma.ko + kernel/drivers/ata/pata_marvell.ko + kernel/drivers/ata/sata_promise.ko + kernel/drivers/ata/pata_oldpiix.ko + kernel/drivers/ata/pata_hpt366.ko + kernel/drivers/ata/sata_svw.ko + kernel/drivers/ata/pata_hpt3x3.ko + kernel/drivers/ata/pata_cmd64x.ko + kernel/drivers/ata/pata_sch.ko + kernel/drivers/ata/pata_sis.ko + kernel/drivers/ata/sata_sil.ko + kernel/drivers/ata/pata_it8213.ko + kernel/drivers/ata/pata_pdc202xx_old.ko + kernel/drivers/ata/pata_sil680.ko + kernel/drivers/ata/sata_mv.ko + kernel/drivers/ata/pata_rdc.ko + kernel/drivers/ata/pata_arasan_cf.ko + kernel/drivers/ata/sata_qstor.ko + kernel/drivers/ata/pata_atp867x.ko + kernel/drivers/ata/pata_piccolo.ko + kernel/drivers/ata/ahci.ko + kernel/drivers/ata/sata_sx4.ko + kernel/drivers/ata/libata.ko + kernel/drivers/ata/ata_generic.ko + kernel/drivers/ata/sata_sil24.ko + kernel/drivers/ata/sata_via.ko + kernel/drivers/ata/pata_netcell.ko + kernel/drivers/ata/pata_jmicron.ko + kernel/drivers/ata/sata_nv.ko + kernel/drivers/ata/pata_via.ko + kernel/drivers/ata/acard-ahci.ko + kernel/drivers/ata/sata_vsc.ko + kernel/drivers/ata/pata_hpt3x2n.ko + kernel/drivers/ata/sata_sis.ko + kernel/drivers/ata/sata_uli.ko + kernel/drivers/ata/pata_pdc2027x.ko + kernel/drivers/ata/ata_piix.ko + kernel/drivers/ata/pata_cs5536.ko + kernel/drivers/ata/pata_amd.ko + kernel/drivers/ata/pata_serverworks.ko +" diff --git a/core/modules/gdisk/module.conf.centos b/core/modules/gdisk/module.conf.centos new file mode 100644 index 00000000..78fcd634 --- /dev/null +++ b/core/modules/gdisk/module.conf.centos @@ -0,0 +1,5 @@ +REQUIRED_CONTENT_PACKAGES=" + gdisk + xfsprogs + e2fsprogs +" diff --git a/core/modules/german/data/etc/X11/xorg.conf.d/90-keytable.conf b/core/modules/german/data/etc/X11/xorg.conf.d/90-keytable.conf new file mode 100644 index 00000000..9c8a58fe --- /dev/null +++ b/core/modules/german/data/etc/X11/xorg.conf.d/90-keytable.conf @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "LocalKeyboard" + MatchIsKeyboard "on" + Option "XkbLayout" "de" + Option "XkbVariant" "nodeadkeys" +EndSection diff --git a/core/modules/german/data/etc/default/locale b/core/modules/german/data/etc/default/locale new file mode 100644 index 00000000..b20033b4 --- /dev/null +++ b/core/modules/german/data/etc/default/locale @@ -0,0 +1 @@ +LANG="de_DE.UTF-8" diff --git a/core/modules/german/data/etc/systemd/system/basic.target.wants/load-german-keymap.service b/core/modules/german/data/etc/systemd/system/basic.target.wants/load-german-keymap.service new file mode 120000 index 00000000..88db2273 --- /dev/null +++ b/core/modules/german/data/etc/systemd/system/basic.target.wants/load-german-keymap.service @@ -0,0 +1 @@ +../../system/load-german-keymap.service \ No newline at end of file diff --git a/core/modules/german/data/etc/systemd/system/load-german-keymap.service b/core/modules/german/data/etc/systemd/system/load-german-keymap.service new file mode 100644 index 00000000..c26346fe --- /dev/null +++ b/core/modules/german/data/etc/systemd/system/load-german-keymap.service @@ -0,0 +1,10 @@ +[Unit] +Description=Setup german keyboard layout +DefaultDependencies=no +After=sysinit.target +Before=shutdown.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/opt/openslx/scripts/systemd-load_german_keymaps diff --git a/core/modules/german/data/opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map b/core/modules/german/data/opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map new file mode 100644 index 00000000..9d0c73d0 --- /dev/null +++ b/core/modules/german/data/opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map @@ -0,0 +1,967 @@ +keymaps 0-2,4-6,8-10,12 +keycode 1 = Escape Escape + alt keycode 1 = Meta_Escape + shift alt keycode 1 = Meta_Escape +keycode 2 = one exclam + alt keycode 2 = Meta_one + shift alt keycode 2 = Meta_exclam +keycode 3 = two quotedbl twosuperior nul + alt keycode 3 = Meta_two + shift alt keycode 3 = Meta_quotedbl + control alt keycode 3 = Meta_nul +keycode 4 = three section threesuperior Escape + alt keycode 4 = Meta_three + control alt keycode 4 = Meta_Escape +keycode 5 = four dollar + alt keycode 5 = Meta_four + shift alt keycode 5 = Meta_dollar +keycode 6 = five percent + alt keycode 6 = Meta_five + shift alt keycode 6 = Meta_percent +keycode 7 = six ampersand + control keycode 7 = Control_asciicircum + alt keycode 7 = Meta_six + shift alt keycode 7 = Meta_ampersand +keycode 8 = seven slash braceleft + alt keycode 8 = Meta_seven + shift alt keycode 8 = Meta_slash + altgr alt keycode 8 = Meta_braceleft +keycode 9 = eight parenleft bracketleft + alt keycode 9 = Meta_eight + shift alt keycode 9 = Meta_parenleft + altgr alt keycode 9 = Meta_bracketleft +keycode 10 = nine parenright bracketright + altgr control keycode 10 = Control_bracketright + alt keycode 10 = Meta_nine + shift alt keycode 10 = Meta_parenright + altgr alt keycode 10 = Meta_bracketright +keycode 11 = zero equal braceright + alt keycode 11 = Meta_zero + shift alt keycode 11 = Meta_equal + altgr alt keycode 11 = Meta_braceright +keycode 12 = ssharp question backslash + altgr control keycode 12 = Control_backslash + shift alt keycode 12 = Meta_question + altgr alt keycode 12 = Meta_backslash +keycode 13 = apostrophe grave + alt keycode 13 = 0x08b4 + shift alt keycode 13 = Meta_grave +keycode 14 = Delete Delete + alt keycode 14 = Meta_Delete + shift alt keycode 14 = Meta_Delete +keycode 15 = Tab Meta_Tab + alt keycode 15 = Meta_Tab +keycode 16 = +q +Q at Control_q Control_q nul Meta_q Meta_Q Meta_at Meta_Control_q +keycode 17 = w +keycode 18 = +e +E currency Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e +keycode 19 = r +keycode 20 = t +keycode 21 = z +keycode 22 = u +keycode 23 = i +keycode 24 = o +keycode 25 = p +keycode 26 = +udiaeresis +Udiaeresis +keycode 27 = plus asterisk asciitilde + alt keycode 27 = Meta_plus + shift alt keycode 27 = Meta_asterisk +keycode 28 = Return + alt keycode 28 = Meta_Control_m +keycode 29 = Control +keycode 30 = a +keycode 31 = s +keycode 32 = d +keycode 33 = f +keycode 34 = g +keycode 35 = h +keycode 36 = j +keycode 37 = k +keycode 38 = l +keycode 39 = +odiaeresis +Odiaeresis +keycode 40 = +adiaeresis +Adiaeresis +keycode 41 = asciicircum degree Meta_asciicircum Control_asciicircum + control alt keycode 41 = Meta_Control_asciicircum +keycode 42 = Shift +keycode 43 = numbersign apostrophe + alt keycode 43 = Meta_numbersign + shift alt keycode 43 = Meta_apostrophe +keycode 44 = y +keycode 45 = x +keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c +keycode 47 = v +keycode 48 = b +keycode 49 = n +keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m +keycode 51 = comma semicolon + alt keycode 51 = Meta_comma + shift alt keycode 51 = Meta_semicolon +keycode 52 = period colon + alt keycode 52 = Meta_period + shift alt keycode 52 = Meta_colon +keycode 53 = minus underscore Meta_minus + shift control keycode 53 = Control_underscore + alt keycode 53 = Meta_minus + shift alt keycode 53 = Meta_underscore +keycode 54 = Shift +keycode 55 = KP_Multiply + altgr keycode 55 = Hex_C +keycode 56 = Alt +keycode 57 = space space Meta_space nul + alt keycode 57 = Meta_space + shift alt keycode 57 = Meta_space + control alt keycode 57 = Meta_nul +keycode 58 = Caps_Lock +keycode 59 = F1 F13 Console_13 F25 + alt keycode 59 = Console_1 + control alt keycode 59 = Console_1 +keycode 60 = F2 F14 Console_14 F26 + alt keycode 60 = Console_2 + control alt keycode 60 = Console_2 +keycode 61 = F3 F15 Console_15 F27 + alt keycode 61 = Console_3 + control alt keycode 61 = Console_3 +keycode 62 = F4 F16 Console_16 F28 + alt keycode 62 = Console_4 + control alt keycode 62 = Console_4 +keycode 63 = F5 F17 Console_17 F29 + alt keycode 63 = Console_5 + control alt keycode 63 = Console_5 +keycode 64 = F6 F18 Console_18 F30 + alt keycode 64 = Console_6 + control alt keycode 64 = Console_6 +keycode 65 = F7 F19 Console_19 F31 + alt keycode 65 = Console_7 + control alt keycode 65 = Console_7 +keycode 66 = F8 F20 Console_20 F32 + alt keycode 66 = Console_8 + control alt keycode 66 = Console_8 +keycode 67 = F9 F21 Console_21 F33 + alt keycode 67 = Console_9 + control alt keycode 67 = Console_9 +keycode 68 = F10 F22 Console_22 F34 + alt keycode 68 = Console_10 + control alt keycode 68 = Console_10 +keycode 69 = Num_Lock + altgr keycode 69 = Hex_A +keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State + alt keycode 70 = Scroll_Lock +keycode 71 = KP_7 + altgr keycode 71 = Hex_7 + alt keycode 71 = Ascii_7 +keycode 72 = KP_8 + altgr keycode 72 = Hex_8 + alt keycode 72 = Ascii_8 +keycode 73 = KP_9 + altgr keycode 73 = Hex_9 + alt keycode 73 = Ascii_9 +keycode 74 = KP_Subtract + altgr keycode 74 = Hex_D +keycode 75 = KP_4 + altgr keycode 75 = Hex_4 + alt keycode 75 = Ascii_4 +keycode 76 = KP_5 + altgr keycode 76 = Hex_5 + alt keycode 76 = Ascii_5 +keycode 77 = KP_6 + altgr keycode 77 = Hex_6 + alt keycode 77 = Ascii_6 +keycode 78 = KP_Add + altgr keycode 78 = Hex_E +keycode 79 = KP_1 + altgr keycode 79 = Hex_1 + alt keycode 79 = Ascii_1 +keycode 80 = KP_2 + altgr keycode 80 = Hex_2 + alt keycode 80 = Ascii_2 +keycode 81 = KP_3 + altgr keycode 81 = Hex_3 + alt keycode 81 = Ascii_3 +keycode 82 = KP_0 + altgr keycode 82 = Hex_0 + alt keycode 82 = Ascii_0 +keycode 83 = KP_Comma + altgr control keycode 83 = Boot + control alt keycode 83 = Boot +keycode 84 = Last_Console +keycode 85 = +keycode 86 = less greater bar + alt keycode 86 = Meta_less + shift alt keycode 86 = Meta_greater + altgr alt keycode 86 = Meta_bar +keycode 87 = F11 F23 Console_23 F35 + alt keycode 87 = Console_11 + control alt keycode 87 = Console_11 +keycode 88 = F12 F24 Console_24 F36 + alt keycode 88 = Console_12 + control alt keycode 88 = Console_12 +keycode 89 = +keycode 90 = +keycode 91 = +keycode 92 = +keycode 93 = +keycode 94 = +keycode 95 = +keycode 96 = KP_Enter + altgr keycode 96 = Hex_F +keycode 97 = Control +keycode 98 = KP_Divide + altgr keycode 98 = Hex_B +keycode 99 = Compose + control keycode 99 = Control_backslash + alt keycode 99 = Control_backslash + control alt keycode 99 = Meta_Control_backslash +keycode 100 = AltGr + alt keycode 100 = Compose +keycode 101 = Break +keycode 102 = Find +keycode 103 = Up + alt keycode 103 = KeyboardSignal +keycode 104 = Prior + shift keycode 104 = Scroll_Backward +keycode 105 = Left + alt keycode 105 = Decr_Console +keycode 106 = Right + alt keycode 106 = Incr_Console +keycode 107 = Select +keycode 108 = Down +keycode 109 = Next + shift keycode 109 = Scroll_Forward +keycode 110 = Insert +keycode 111 = Remove + altgr control keycode 111 = Boot + control alt keycode 111 = Boot +keycode 112 = Macro + altgr control keycode 112 = VoidSymbol + shift alt keycode 112 = VoidSymbol + altgr alt keycode 112 = VoidSymbol +keycode 113 = F13 + altgr control keycode 113 = VoidSymbol + shift alt keycode 113 = VoidSymbol + altgr alt keycode 113 = VoidSymbol +keycode 114 = F14 + altgr control keycode 114 = VoidSymbol + shift alt keycode 114 = VoidSymbol + altgr alt keycode 114 = VoidSymbol +keycode 115 = Help + altgr control keycode 115 = VoidSymbol + shift alt keycode 115 = VoidSymbol + altgr alt keycode 115 = VoidSymbol +keycode 116 = Do + altgr control keycode 116 = VoidSymbol + shift alt keycode 116 = VoidSymbol + altgr alt keycode 116 = VoidSymbol +keycode 117 = F17 + altgr control keycode 117 = VoidSymbol + shift alt keycode 117 = VoidSymbol + altgr alt keycode 117 = VoidSymbol +keycode 118 = KP_MinPlus + altgr control keycode 118 = VoidSymbol + shift alt keycode 118 = VoidSymbol + altgr alt keycode 118 = VoidSymbol +keycode 119 = Pause +keycode 120 = +keycode 121 = +keycode 122 = +keycode 123 = +keycode 124 = +keycode 125 = +keycode 126 = +keycode 127 = +keycode 128 = nul + altgr control keycode 128 = VoidSymbol + shift alt keycode 128 = VoidSymbol + altgr alt keycode 128 = VoidSymbol +keycode 129 = nul + altgr control keycode 129 = VoidSymbol + shift alt keycode 129 = VoidSymbol + altgr alt keycode 129 = VoidSymbol +keycode 130 = nul + altgr control keycode 130 = VoidSymbol + shift alt keycode 130 = VoidSymbol + altgr alt keycode 130 = VoidSymbol +keycode 131 = nul + altgr control keycode 131 = VoidSymbol + shift alt keycode 131 = VoidSymbol + altgr alt keycode 131 = VoidSymbol +keycode 132 = nul + altgr control keycode 132 = VoidSymbol + shift alt keycode 132 = VoidSymbol + altgr alt keycode 132 = VoidSymbol +keycode 133 = nul + altgr control keycode 133 = VoidSymbol + shift alt keycode 133 = VoidSymbol + altgr alt keycode 133 = VoidSymbol +keycode 134 = nul + altgr control keycode 134 = VoidSymbol + shift alt keycode 134 = VoidSymbol + altgr alt keycode 134 = VoidSymbol +keycode 135 = nul + altgr control keycode 135 = VoidSymbol + shift alt keycode 135 = VoidSymbol + altgr alt keycode 135 = VoidSymbol +keycode 136 = nul + altgr control keycode 136 = VoidSymbol + shift alt keycode 136 = VoidSymbol + altgr alt keycode 136 = VoidSymbol +keycode 137 = nul + altgr control keycode 137 = VoidSymbol + shift alt keycode 137 = VoidSymbol + altgr alt keycode 137 = VoidSymbol +keycode 138 = nul + altgr control keycode 138 = VoidSymbol + shift alt keycode 138 = VoidSymbol + altgr alt keycode 138 = VoidSymbol +keycode 139 = nul + altgr control keycode 139 = VoidSymbol + shift alt keycode 139 = VoidSymbol + altgr alt keycode 139 = VoidSymbol +keycode 140 = nul + altgr control keycode 140 = VoidSymbol + shift alt keycode 140 = VoidSymbol + altgr alt keycode 140 = VoidSymbol +keycode 141 = nul + altgr control keycode 141 = VoidSymbol + shift alt keycode 141 = VoidSymbol + altgr alt keycode 141 = VoidSymbol +keycode 142 = nul + altgr control keycode 142 = VoidSymbol + shift alt keycode 142 = VoidSymbol + altgr alt keycode 142 = VoidSymbol +keycode 143 = nul + altgr control keycode 143 = VoidSymbol + shift alt keycode 143 = VoidSymbol + altgr alt keycode 143 = VoidSymbol +keycode 144 = nul + altgr control keycode 144 = VoidSymbol + shift alt keycode 144 = VoidSymbol + altgr alt keycode 144 = VoidSymbol +keycode 145 = nul + altgr control keycode 145 = VoidSymbol + shift alt keycode 145 = VoidSymbol + altgr alt keycode 145 = VoidSymbol +keycode 146 = nul + altgr control keycode 146 = VoidSymbol + shift alt keycode 146 = VoidSymbol + altgr alt keycode 146 = VoidSymbol +keycode 147 = nul + altgr control keycode 147 = VoidSymbol + shift alt keycode 147 = VoidSymbol + altgr alt keycode 147 = VoidSymbol +keycode 148 = nul + altgr control keycode 148 = VoidSymbol + shift alt keycode 148 = VoidSymbol + altgr alt keycode 148 = VoidSymbol +keycode 149 = nul + altgr control keycode 149 = VoidSymbol + shift alt keycode 149 = VoidSymbol + altgr alt keycode 149 = VoidSymbol +keycode 150 = nul + altgr control keycode 150 = VoidSymbol + shift alt keycode 150 = VoidSymbol + altgr alt keycode 150 = VoidSymbol +keycode 151 = nul + altgr control keycode 151 = VoidSymbol + shift alt keycode 151 = VoidSymbol + altgr alt keycode 151 = VoidSymbol +keycode 152 = nul + altgr control keycode 152 = VoidSymbol + shift alt keycode 152 = VoidSymbol + altgr alt keycode 152 = VoidSymbol +keycode 153 = nul + altgr control keycode 153 = VoidSymbol + shift alt keycode 153 = VoidSymbol + altgr alt keycode 153 = VoidSymbol +keycode 154 = nul + altgr control keycode 154 = VoidSymbol + shift alt keycode 154 = VoidSymbol + altgr alt keycode 154 = VoidSymbol +keycode 155 = nul + altgr control keycode 155 = VoidSymbol + shift alt keycode 155 = VoidSymbol + altgr alt keycode 155 = VoidSymbol +keycode 156 = nul + altgr control keycode 156 = VoidSymbol + shift alt keycode 156 = VoidSymbol + altgr alt keycode 156 = VoidSymbol +keycode 157 = nul + altgr control keycode 157 = VoidSymbol + shift alt keycode 157 = VoidSymbol + altgr alt keycode 157 = VoidSymbol +keycode 158 = nul + altgr control keycode 158 = VoidSymbol + shift alt keycode 158 = VoidSymbol + altgr alt keycode 158 = VoidSymbol +keycode 159 = nul + altgr control keycode 159 = VoidSymbol + shift alt keycode 159 = VoidSymbol + altgr alt keycode 159 = VoidSymbol +keycode 160 = nul + altgr control keycode 160 = VoidSymbol + shift alt keycode 160 = VoidSymbol + altgr alt keycode 160 = VoidSymbol +keycode 161 = nul + altgr control keycode 161 = VoidSymbol + shift alt keycode 161 = VoidSymbol + altgr alt keycode 161 = VoidSymbol +keycode 162 = nul + altgr control keycode 162 = VoidSymbol + shift alt keycode 162 = VoidSymbol + altgr alt keycode 162 = VoidSymbol +keycode 163 = nul + altgr control keycode 163 = VoidSymbol + shift alt keycode 163 = VoidSymbol + altgr alt keycode 163 = VoidSymbol +keycode 164 = nul + altgr control keycode 164 = VoidSymbol + shift alt keycode 164 = VoidSymbol + altgr alt keycode 164 = VoidSymbol +keycode 165 = nul + altgr control keycode 165 = VoidSymbol + shift alt keycode 165 = VoidSymbol + altgr alt keycode 165 = VoidSymbol +keycode 166 = nul + altgr control keycode 166 = VoidSymbol + shift alt keycode 166 = VoidSymbol + altgr alt keycode 166 = VoidSymbol +keycode 167 = nul + altgr control keycode 167 = VoidSymbol + shift alt keycode 167 = VoidSymbol + altgr alt keycode 167 = VoidSymbol +keycode 168 = nul + altgr control keycode 168 = VoidSymbol + shift alt keycode 168 = VoidSymbol + altgr alt keycode 168 = VoidSymbol +keycode 169 = nul + altgr control keycode 169 = VoidSymbol + shift alt keycode 169 = VoidSymbol + altgr alt keycode 169 = VoidSymbol +keycode 170 = nul + altgr control keycode 170 = VoidSymbol + shift alt keycode 170 = VoidSymbol + altgr alt keycode 170 = VoidSymbol +keycode 171 = nul + altgr control keycode 171 = VoidSymbol + shift alt keycode 171 = VoidSymbol + altgr alt keycode 171 = VoidSymbol +keycode 172 = nul + altgr control keycode 172 = VoidSymbol + shift alt keycode 172 = VoidSymbol + altgr alt keycode 172 = VoidSymbol +keycode 173 = nul + altgr control keycode 173 = VoidSymbol + shift alt keycode 173 = VoidSymbol + altgr alt keycode 173 = VoidSymbol +keycode 174 = nul + altgr control keycode 174 = VoidSymbol + shift alt keycode 174 = VoidSymbol + altgr alt keycode 174 = VoidSymbol +keycode 175 = nul + altgr control keycode 175 = VoidSymbol + shift alt keycode 175 = VoidSymbol + altgr alt keycode 175 = VoidSymbol +keycode 176 = nul + altgr control keycode 176 = VoidSymbol + shift alt keycode 176 = VoidSymbol + altgr alt keycode 176 = VoidSymbol +keycode 177 = nul + altgr control keycode 177 = VoidSymbol + shift alt keycode 177 = VoidSymbol + altgr alt keycode 177 = VoidSymbol +keycode 178 = nul + altgr control keycode 178 = VoidSymbol + shift alt keycode 178 = VoidSymbol + altgr alt keycode 178 = VoidSymbol +keycode 179 = nul + altgr control keycode 179 = VoidSymbol + shift alt keycode 179 = VoidSymbol + altgr alt keycode 179 = VoidSymbol +keycode 180 = nul + altgr control keycode 180 = VoidSymbol + shift alt keycode 180 = VoidSymbol + altgr alt keycode 180 = VoidSymbol +keycode 181 = nul + altgr control keycode 181 = VoidSymbol + shift alt keycode 181 = VoidSymbol + altgr alt keycode 181 = VoidSymbol +keycode 182 = nul + altgr control keycode 182 = VoidSymbol + shift alt keycode 182 = VoidSymbol + altgr alt keycode 182 = VoidSymbol +keycode 183 = nul + altgr control keycode 183 = VoidSymbol + shift alt keycode 183 = VoidSymbol + altgr alt keycode 183 = VoidSymbol +keycode 184 = nul + altgr control keycode 184 = VoidSymbol + shift alt keycode 184 = VoidSymbol + altgr alt keycode 184 = VoidSymbol +keycode 185 = nul + altgr control keycode 185 = VoidSymbol + shift alt keycode 185 = VoidSymbol + altgr alt keycode 185 = VoidSymbol +keycode 186 = nul + altgr control keycode 186 = VoidSymbol + shift alt keycode 186 = VoidSymbol + altgr alt keycode 186 = VoidSymbol +keycode 187 = nul + altgr control keycode 187 = VoidSymbol + shift alt keycode 187 = VoidSymbol + altgr alt keycode 187 = VoidSymbol +keycode 188 = nul + altgr control keycode 188 = VoidSymbol + shift alt keycode 188 = VoidSymbol + altgr alt keycode 188 = VoidSymbol +keycode 189 = nul + altgr control keycode 189 = VoidSymbol + shift alt keycode 189 = VoidSymbol + altgr alt keycode 189 = VoidSymbol +keycode 190 = nul + altgr control keycode 190 = VoidSymbol + shift alt keycode 190 = VoidSymbol + altgr alt keycode 190 = VoidSymbol +keycode 191 = nul + altgr control keycode 191 = VoidSymbol + shift alt keycode 191 = VoidSymbol + altgr alt keycode 191 = VoidSymbol +keycode 192 = nul + altgr control keycode 192 = VoidSymbol + shift alt keycode 192 = VoidSymbol + altgr alt keycode 192 = VoidSymbol +keycode 193 = nul + altgr control keycode 193 = VoidSymbol + shift alt keycode 193 = VoidSymbol + altgr alt keycode 193 = VoidSymbol +keycode 194 = nul + altgr control keycode 194 = VoidSymbol + shift alt keycode 194 = VoidSymbol + altgr alt keycode 194 = VoidSymbol +keycode 195 = nul + altgr control keycode 195 = VoidSymbol + shift alt keycode 195 = VoidSymbol + altgr alt keycode 195 = VoidSymbol +keycode 196 = nul + altgr control keycode 196 = VoidSymbol + shift alt keycode 196 = VoidSymbol + altgr alt keycode 196 = VoidSymbol +keycode 197 = nul + altgr control keycode 197 = VoidSymbol + shift alt keycode 197 = VoidSymbol + altgr alt keycode 197 = VoidSymbol +keycode 198 = nul + altgr control keycode 198 = VoidSymbol + shift alt keycode 198 = VoidSymbol + altgr alt keycode 198 = VoidSymbol +keycode 199 = nul + altgr control keycode 199 = VoidSymbol + shift alt keycode 199 = VoidSymbol + altgr alt keycode 199 = VoidSymbol +keycode 200 = nul + altgr control keycode 200 = VoidSymbol + shift alt keycode 200 = VoidSymbol + altgr alt keycode 200 = VoidSymbol +keycode 201 = nul + altgr control keycode 201 = VoidSymbol + shift alt keycode 201 = VoidSymbol + altgr alt keycode 201 = VoidSymbol +keycode 202 = nul + altgr control keycode 202 = VoidSymbol + shift alt keycode 202 = VoidSymbol + altgr alt keycode 202 = VoidSymbol +keycode 203 = nul + altgr control keycode 203 = VoidSymbol + shift alt keycode 203 = VoidSymbol + altgr alt keycode 203 = VoidSymbol +keycode 204 = nul + altgr control keycode 204 = VoidSymbol + shift alt keycode 204 = VoidSymbol + altgr alt keycode 204 = VoidSymbol +keycode 205 = nul + altgr control keycode 205 = VoidSymbol + shift alt keycode 205 = VoidSymbol + altgr alt keycode 205 = VoidSymbol +keycode 206 = nul + altgr control keycode 206 = VoidSymbol + shift alt keycode 206 = VoidSymbol + altgr alt keycode 206 = VoidSymbol +keycode 207 = nul + altgr control keycode 207 = VoidSymbol + shift alt keycode 207 = VoidSymbol + altgr alt keycode 207 = VoidSymbol +keycode 208 = nul + altgr control keycode 208 = VoidSymbol + shift alt keycode 208 = VoidSymbol + altgr alt keycode 208 = VoidSymbol +keycode 209 = nul + altgr control keycode 209 = VoidSymbol + shift alt keycode 209 = VoidSymbol + altgr alt keycode 209 = VoidSymbol +keycode 210 = nul + altgr control keycode 210 = VoidSymbol + shift alt keycode 210 = VoidSymbol + altgr alt keycode 210 = VoidSymbol +keycode 211 = nul + altgr control keycode 211 = VoidSymbol + shift alt keycode 211 = VoidSymbol + altgr alt keycode 211 = VoidSymbol +keycode 212 = nul + altgr control keycode 212 = VoidSymbol + shift alt keycode 212 = VoidSymbol + altgr alt keycode 212 = VoidSymbol +keycode 213 = nul + altgr control keycode 213 = VoidSymbol + shift alt keycode 213 = VoidSymbol + altgr alt keycode 213 = VoidSymbol +keycode 214 = nul + altgr control keycode 214 = VoidSymbol + shift alt keycode 214 = VoidSymbol + altgr alt keycode 214 = VoidSymbol +keycode 215 = nul + altgr control keycode 215 = VoidSymbol + shift alt keycode 215 = VoidSymbol + altgr alt keycode 215 = VoidSymbol +keycode 216 = nul + altgr control keycode 216 = VoidSymbol + shift alt keycode 216 = VoidSymbol + altgr alt keycode 216 = VoidSymbol +keycode 217 = nul + altgr control keycode 217 = VoidSymbol + shift alt keycode 217 = VoidSymbol + altgr alt keycode 217 = VoidSymbol +keycode 218 = nul + altgr control keycode 218 = VoidSymbol + shift alt keycode 218 = VoidSymbol + altgr alt keycode 218 = VoidSymbol +keycode 219 = nul + altgr control keycode 219 = VoidSymbol + shift alt keycode 219 = VoidSymbol + altgr alt keycode 219 = VoidSymbol +keycode 220 = nul + altgr control keycode 220 = VoidSymbol + shift alt keycode 220 = VoidSymbol + altgr alt keycode 220 = VoidSymbol +keycode 221 = nul + altgr control keycode 221 = VoidSymbol + shift alt keycode 221 = VoidSymbol + altgr alt keycode 221 = VoidSymbol +keycode 222 = nul + altgr control keycode 222 = VoidSymbol + shift alt keycode 222 = VoidSymbol + altgr alt keycode 222 = VoidSymbol +keycode 223 = nul + altgr control keycode 223 = VoidSymbol + shift alt keycode 223 = VoidSymbol + altgr alt keycode 223 = VoidSymbol +keycode 224 = nul + altgr control keycode 224 = VoidSymbol + shift alt keycode 224 = VoidSymbol + altgr alt keycode 224 = VoidSymbol +keycode 225 = nul + altgr control keycode 225 = VoidSymbol + shift alt keycode 225 = VoidSymbol + altgr alt keycode 225 = VoidSymbol +keycode 226 = nul + altgr control keycode 226 = VoidSymbol + shift alt keycode 226 = VoidSymbol + altgr alt keycode 226 = VoidSymbol +keycode 227 = nul + altgr control keycode 227 = VoidSymbol + shift alt keycode 227 = VoidSymbol + altgr alt keycode 227 = VoidSymbol +keycode 228 = nul + altgr control keycode 228 = VoidSymbol + shift alt keycode 228 = VoidSymbol + altgr alt keycode 228 = VoidSymbol +keycode 229 = nul + altgr control keycode 229 = VoidSymbol + shift alt keycode 229 = VoidSymbol + altgr alt keycode 229 = VoidSymbol +keycode 230 = nul + altgr control keycode 230 = VoidSymbol + shift alt keycode 230 = VoidSymbol + altgr alt keycode 230 = VoidSymbol +keycode 231 = nul + altgr control keycode 231 = VoidSymbol + shift alt keycode 231 = VoidSymbol + altgr alt keycode 231 = VoidSymbol +keycode 232 = nul + altgr control keycode 232 = VoidSymbol + shift alt keycode 232 = VoidSymbol + altgr alt keycode 232 = VoidSymbol +keycode 233 = nul + altgr control keycode 233 = VoidSymbol + shift alt keycode 233 = VoidSymbol + altgr alt keycode 233 = VoidSymbol +keycode 234 = nul + altgr control keycode 234 = VoidSymbol + shift alt keycode 234 = VoidSymbol + altgr alt keycode 234 = VoidSymbol +keycode 235 = nul + altgr control keycode 235 = VoidSymbol + shift alt keycode 235 = VoidSymbol + altgr alt keycode 235 = VoidSymbol +keycode 236 = nul + altgr control keycode 236 = VoidSymbol + shift alt keycode 236 = VoidSymbol + altgr alt keycode 236 = VoidSymbol +keycode 237 = nul + altgr control keycode 237 = VoidSymbol + shift alt keycode 237 = VoidSymbol + altgr alt keycode 237 = VoidSymbol +keycode 238 = nul + altgr control keycode 238 = VoidSymbol + shift alt keycode 238 = VoidSymbol + altgr alt keycode 238 = VoidSymbol +keycode 239 = nul + altgr control keycode 239 = VoidSymbol + shift alt keycode 239 = VoidSymbol + altgr alt keycode 239 = VoidSymbol +keycode 240 = nul + altgr control keycode 240 = VoidSymbol + shift alt keycode 240 = VoidSymbol + altgr alt keycode 240 = VoidSymbol +keycode 241 = nul + altgr control keycode 241 = VoidSymbol + shift alt keycode 241 = VoidSymbol + altgr alt keycode 241 = VoidSymbol +keycode 242 = nul + altgr control keycode 242 = VoidSymbol + shift alt keycode 242 = VoidSymbol + altgr alt keycode 242 = VoidSymbol +keycode 243 = nul + altgr control keycode 243 = VoidSymbol + shift alt keycode 243 = VoidSymbol + altgr alt keycode 243 = VoidSymbol +keycode 244 = nul + altgr control keycode 244 = VoidSymbol + shift alt keycode 244 = VoidSymbol + altgr alt keycode 244 = VoidSymbol +keycode 245 = nul + altgr control keycode 245 = VoidSymbol + shift alt keycode 245 = VoidSymbol + altgr alt keycode 245 = VoidSymbol +keycode 246 = nul + altgr control keycode 246 = VoidSymbol + shift alt keycode 246 = VoidSymbol + altgr alt keycode 246 = VoidSymbol +keycode 247 = nul + altgr control keycode 247 = VoidSymbol + shift alt keycode 247 = VoidSymbol + altgr alt keycode 247 = VoidSymbol +keycode 248 = nul + altgr control keycode 248 = VoidSymbol + shift alt keycode 248 = VoidSymbol + altgr alt keycode 248 = VoidSymbol +keycode 249 = nul + altgr control keycode 249 = VoidSymbol + shift alt keycode 249 = VoidSymbol + altgr alt keycode 249 = VoidSymbol +keycode 250 = nul + altgr control keycode 250 = VoidSymbol + shift alt keycode 250 = VoidSymbol + altgr alt keycode 250 = VoidSymbol +keycode 251 = nul + altgr control keycode 251 = VoidSymbol + shift alt keycode 251 = VoidSymbol + altgr alt keycode 251 = VoidSymbol +keycode 252 = nul + altgr control keycode 252 = VoidSymbol + shift alt keycode 252 = VoidSymbol + altgr alt keycode 252 = VoidSymbol +keycode 253 = nul + altgr control keycode 253 = VoidSymbol + shift alt keycode 253 = VoidSymbol + altgr alt keycode 253 = VoidSymbol +keycode 254 = nul + altgr control keycode 254 = VoidSymbol + shift alt keycode 254 = VoidSymbol + altgr alt keycode 254 = VoidSymbol +keycode 255 = nul + altgr control keycode 255 = VoidSymbol + shift alt keycode 255 = VoidSymbol + altgr alt keycode 255 = VoidSymbol +string F1 = "\033[[A" +string F2 = "\033[[B" +string F3 = "\033[[C" +string F4 = "\033[[D" +string F5 = "\033[[E" +string F6 = "\033[17~" +string F7 = "\033[18~" +string F8 = "\033[19~" +string F9 = "\033[20~" +string F10 = "\033[21~" +string F11 = "\033[23~" +string F12 = "\033[24~" +string F13 = "\033[25~" +string F14 = "\033[26~" +string F15 = "\033[28~" +string F16 = "\033[29~" +string F17 = "\033[31~" +string F18 = "\033[32~" +string F19 = "\033[33~" +string F20 = "\033[34~" +string Find = "\033[1~" +string Insert = "\033[2~" +string Remove = "\033[3~" +string Select = "\033[4~" +string Prior = "\033[5~" +string Next = "\033[6~" +string Macro = "\033[M" +string Pause = "\033[P" +compose '`' 'A' to U+00c0 +compose '`' 'a' to U+00e0 +compose '\'' 'A' to U+00c1 +compose '\'' 'a' to U+00e1 +compose '^' 'A' to U+00c2 +compose '^' 'a' to U+00e2 +compose '~' 'A' to U+00c3 +compose '~' 'a' to U+00e3 +compose '"' 'A' to U+00c4 +compose '"' 'a' to U+00e4 +compose '-' 'a' to U+00aa +compose '-' 'A' to U+00aa +compose 'O' 'A' to U+00c5 +compose 'o' 'a' to U+00e5 +compose '0' 'A' to U+00c5 +compose '0' 'a' to U+00e5 +compose 'A' 'A' to U+00c5 +compose 'a' 'a' to U+00e5 +compose '°' 'A' to U+00c5 +compose '°' 'a' to U+00e5 +compose 'A' 'E' to U+00c6 +compose 'a' 'e' to U+00e6 +compose ',' 'C' to U+00c7 +compose ',' 'c' to U+00e7 +compose '^' 'C' to U+00c7 +compose '^' 'c' to U+00e7 +compose '`' 'E' to U+00c8 +compose '`' 'e' to U+00e8 +compose '\'' 'E' to U+00c9 +compose '\'' 'e' to U+00e9 +compose '^' 'E' to U+00ca +compose '^' 'e' to U+00ea +compose '"' 'E' to U+00cb +compose '"' 'e' to U+00eb +compose '`' 'I' to U+00cc +compose '`' 'i' to U+00ec +compose '\'' 'I' to U+00cd +compose '\'' 'i' to U+00ed +compose '^' 'I' to U+00ce +compose '^' 'i' to U+00ee +compose '"' 'I' to U+00cf +compose '"' 'i' to U+00ef +compose '-' 'D' to U+00d0 +compose '-' 'd' to U+00f0 +compose '^' 'D' to U+00d0 +compose '^' 'd' to U+00f0 +compose '~' 'N' to U+00d1 +compose '~' 'n' to U+00f1 +compose '^' 'N' to U+00d1 +compose '^' 'n' to U+00f1 +compose '`' 'O' to U+00d2 +compose '`' 'o' to U+00f2 +compose '\'' 'O' to U+00d3 +compose '\'' 'o' to U+00f3 +compose '^' 'O' to U+00d4 +compose '^' 'o' to U+00f4 +compose '~' 'O' to U+00d5 +compose '~' 'o' to U+00f5 +compose '"' 'O' to U+00d6 +compose '"' 'o' to U+00f6 +compose '/' 'O' to U+00d8 +compose '/' 'o' to U+00f8 +compose '-' 'o' to U+00ba +compose '-' 'O' to U+00ba +compose '`' 'U' to U+00d9 +compose '`' 'u' to U+00f9 +compose '\'' 'U' to U+00da +compose '\'' 'u' to U+00fa +compose '^' 'U' to U+00db +compose '^' 'u' to U+00fb +compose '"' 'U' to U+00dc +compose '"' 'u' to U+00fc +compose '\'' 'Y' to U+00dd +compose '\'' 'y' to U+00fd +compose 'T' 'H' to U+00de +compose 't' 'h' to U+00fe +compose 's' 's' to U+00df +compose '"' 'y' to U+00ff +compose 's' 'z' to U+00df +compose 'n' 'n' to U+00f1 +compose 'n' 'h' to U+00f1 +compose 'N' 'Y' to U+00d1 +compose 'N' 'N' to U+00d1 +compose 'N' 'H' to U+00d1 +compose 'N' 'y' to U+00d1 +compose 'N' 'n' to U+00d1 +compose 'N' 'h' to U+00d1 +compose '-' 'L' to U+00a3 +compose '<' '<' to U+00ab +compose '>' '>' to U+00bb +compose '?' '?' to U+00bf +compose '^' '?' to U+00bf +compose '!' '!' to U+00a1 +compose '^' '!' to U+00a1 +compose '^' '1' to U+00b9 +compose '^' '2' to U+00b2 +compose '^' '3' to U+00b3 +compose '+' '-' to U+00b1 +compose 'c' '=' to U+00a2 +compose 'c' '/' to U+00a2 +compose '/' 'c' to U+00a2 +compose '-' 'c' to U+00a2 +compose '-' 'C' to U+00a2 +compose '|' 'c' to U+00a2 +compose '|' 'C' to U+00a2 +compose 'L' '=' to U+00a3 +compose '-' 'L' to U+00a3 +compose '-' 'l' to U+00a3 +compose '^' '*' to U+00d7 +compose '^' 'x' to U+00d7 +compose 'x' 'x' to U+00d7 +compose '^' '.' to U+00b7 +compose '.' '.' to U+00b7 +compose '^' '/' to U+00f7 +compose '^' ':' to U+00f7 +compose '-' ':' to U+00f7 +compose ':' '-' to U+00f7 +compose 'Y' '=' to U+00a5 +compose '=' 'Y' to U+00a5 +compose '-' 'Y' to U+00a5 +compose '-' 'l' to U+00a5 +compose '(' 'c' to U+00a9 +compose '"' 'c' to U+00a9 +compose 'O' 'C' to U+00a9 +compose '(' 'C' to U+00a9 +compose 'C' ')' to U+00a9 +compose '-' 'a' to U+00aa +compose '-' 'A' to U+00aa +compose '-' 'o' to U+00ba +compose '-' 'O' to U+00ba +compose '(' 'r' to U+00ae +compose '"' 'r' to U+00ae +compose 'O' 'R' to U+00ae +compose '(' 'R' to U+00ae +compose 'R' ')' to U+00ae +compose 'm' 'u' to U+00b5 +compose 'P' 'P' to U+00b6 +compose '1' '4' to U+00bc +compose '1' '2' to U+00bd +compose '3' '4' to U+00be +compose 'e' '=' to U+00a4 +compose '-' 'e' to U+00a4 +compose '-' 'E' to U+00a4 +compose '=' 'E' to U+00a4 +compose 'v' 'S' to U+00a6 +compose '^' 'S' to U+00a6 +compose 'v' 's' to U+00a8 +compose '^' 's' to U+00a8 +compose 'v' 'Z' to U+00b4 +compose '^' 'Z' to U+00b4 +compose 'v' 'z' to U+00b8 +compose '^' 'z' to U+00b8 +compose 'O' 'E' to U+00bc +compose 'O' 'e' to U+00bc +compose 'o' 'e' to U+00bd +compose '"' 'Y' to U+00be +compose 'i' 'j' to U+00ff +compose 'I' 'J' to U+00be diff --git a/core/modules/german/data/opt/openslx/keymaps/german_qwertz_keyboard_translation.map b/core/modules/german/data/opt/openslx/keymaps/german_qwertz_keyboard_translation.map new file mode 100644 index 00000000..d5069876 --- /dev/null +++ b/core/modules/german/data/opt/openslx/keymaps/german_qwertz_keyboard_translation.map @@ -0,0 +1,809 @@ +keymaps 0-2,4-6,8-10,12 +keycode 1 = Escape Escape + alt keycode 1 = Meta_Escape + shift alt keycode 1 = Meta_Escape +keycode 2 = one exclam + alt keycode 2 = Meta_one + shift alt keycode 2 = Meta_exclam +keycode 3 = two quotedbl twosuperior nul + alt keycode 3 = Meta_two + shift alt keycode 3 = Meta_quotedbl + control alt keycode 3 = Meta_nul +keycode 4 = three section threesuperior Escape + alt keycode 4 = Meta_three + control alt keycode 4 = Meta_Escape +keycode 5 = four dollar + alt keycode 5 = Meta_four + shift alt keycode 5 = Meta_dollar +keycode 6 = five percent + alt keycode 6 = Meta_five + shift alt keycode 6 = Meta_percent +keycode 7 = six ampersand + control keycode 7 = Control_asciicircum + alt keycode 7 = Meta_six + shift alt keycode 7 = Meta_ampersand +keycode 8 = seven slash braceleft + alt keycode 8 = Meta_seven + shift alt keycode 8 = Meta_slash + altgr alt keycode 8 = Meta_braceleft +keycode 9 = eight parenleft bracketleft + alt keycode 9 = Meta_eight + shift alt keycode 9 = Meta_parenleft + altgr alt keycode 9 = Meta_bracketleft +keycode 10 = nine parenright bracketright + altgr control keycode 10 = Control_bracketright + alt keycode 10 = Meta_nine + shift alt keycode 10 = Meta_parenright + altgr alt keycode 10 = Meta_bracketright +keycode 11 = zero equal braceright + alt keycode 11 = Meta_zero + shift alt keycode 11 = Meta_equal + altgr alt keycode 11 = Meta_braceright +keycode 12 = ssharp question backslash + altgr control keycode 12 = Control_backslash + shift alt keycode 12 = Meta_question + altgr alt keycode 12 = Meta_backslash +keycode 13 = apostrophe grave + alt keycode 13 = 0x08b4 + shift alt keycode 13 = Meta_grave +keycode 14 = Delete Delete + alt keycode 14 = Meta_Delete + shift alt keycode 14 = Meta_Delete +keycode 15 = Tab Meta_Tab + alt keycode 15 = Meta_Tab +keycode 16 = +q +Q at Control_q Control_q nul Meta_q Meta_Q Meta_at Meta_Control_q +keycode 17 = w +keycode 18 = +e +E currency Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e +keycode 19 = r +keycode 20 = t +keycode 21 = z +keycode 22 = u +keycode 23 = i +keycode 24 = o +keycode 25 = p +keycode 26 = +udiaeresis +Udiaeresis +keycode 27 = plus asterisk asciitilde + alt keycode 27 = Meta_plus + shift alt keycode 27 = Meta_asterisk +keycode 28 = Return + alt keycode 28 = Meta_Control_m +keycode 29 = Control +keycode 30 = a +keycode 31 = s +keycode 32 = d +keycode 33 = f +keycode 34 = g +keycode 35 = h +keycode 36 = j +keycode 37 = k +keycode 38 = l +keycode 39 = +odiaeresis +Odiaeresis +keycode 40 = +adiaeresis +Adiaeresis +keycode 41 = asciicircum degree Meta_asciicircum Control_asciicircum + control alt keycode 41 = Meta_Control_asciicircum +keycode 42 = Shift +keycode 43 = numbersign apostrophe + alt keycode 43 = Meta_numbersign + shift alt keycode 43 = Meta_apostrophe +keycode 44 = y +keycode 45 = x +keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c +keycode 47 = v +keycode 48 = b +keycode 49 = n +keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m +keycode 51 = comma semicolon + alt keycode 51 = Meta_comma + shift alt keycode 51 = Meta_semicolon +keycode 52 = period colon + alt keycode 52 = Meta_period + shift alt keycode 52 = Meta_colon +keycode 53 = minus underscore Meta_minus + shift control keycode 53 = Control_underscore + alt keycode 53 = Meta_minus + shift alt keycode 53 = Meta_underscore +keycode 54 = Shift +keycode 55 = KP_Multiply + altgr keycode 55 = Hex_C +keycode 56 = Alt +keycode 57 = space space Meta_space nul + alt keycode 57 = Meta_space + shift alt keycode 57 = Meta_space + control alt keycode 57 = Meta_nul +keycode 58 = Caps_Lock +keycode 59 = F1 F13 Console_13 F25 + alt keycode 59 = Console_1 + control alt keycode 59 = Console_1 +keycode 60 = F2 F14 Console_14 F26 + alt keycode 60 = Console_2 + control alt keycode 60 = Console_2 +keycode 61 = F3 F15 Console_15 F27 + alt keycode 61 = Console_3 + control alt keycode 61 = Console_3 +keycode 62 = F4 F16 Console_16 F28 + alt keycode 62 = Console_4 + control alt keycode 62 = Console_4 +keycode 63 = F5 F17 Console_17 F29 + alt keycode 63 = Console_5 + control alt keycode 63 = Console_5 +keycode 64 = F6 F18 Console_18 F30 + alt keycode 64 = Console_6 + control alt keycode 64 = Console_6 +keycode 65 = F7 F19 Console_19 F31 + alt keycode 65 = Console_7 + control alt keycode 65 = Console_7 +keycode 66 = F8 F20 Console_20 F32 + alt keycode 66 = Console_8 + control alt keycode 66 = Console_8 +keycode 67 = F9 F21 Console_21 F33 + alt keycode 67 = Console_9 + control alt keycode 67 = Console_9 +keycode 68 = F10 F22 Console_22 F34 + alt keycode 68 = Console_10 + control alt keycode 68 = Console_10 +keycode 69 = Num_Lock + altgr keycode 69 = Hex_A +keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State + alt keycode 70 = Scroll_Lock +keycode 71 = KP_7 + altgr keycode 71 = Hex_7 + alt keycode 71 = Ascii_7 +keycode 72 = KP_8 + altgr keycode 72 = Hex_8 + alt keycode 72 = Ascii_8 +keycode 73 = KP_9 + altgr keycode 73 = Hex_9 + alt keycode 73 = Ascii_9 +keycode 74 = KP_Subtract + altgr keycode 74 = Hex_D +keycode 75 = KP_4 + altgr keycode 75 = Hex_4 + alt keycode 75 = Ascii_4 +keycode 76 = KP_5 + altgr keycode 76 = Hex_5 + alt keycode 76 = Ascii_5 +keycode 77 = KP_6 + altgr keycode 77 = Hex_6 + alt keycode 77 = Ascii_6 +keycode 78 = KP_Add + altgr keycode 78 = Hex_E +keycode 79 = KP_1 + altgr keycode 79 = Hex_1 + alt keycode 79 = Ascii_1 +keycode 80 = KP_2 + altgr keycode 80 = Hex_2 + alt keycode 80 = Ascii_2 +keycode 81 = KP_3 + altgr keycode 81 = Hex_3 + alt keycode 81 = Ascii_3 +keycode 82 = KP_0 + altgr keycode 82 = Hex_0 + alt keycode 82 = Ascii_0 +keycode 83 = KP_Comma + altgr control keycode 83 = Boot + control alt keycode 83 = Boot +keycode 84 = Last_Console +keycode 85 = +keycode 86 = less greater bar + alt keycode 86 = Meta_less + shift alt keycode 86 = Meta_greater + altgr alt keycode 86 = Meta_bar +keycode 87 = F11 F23 Console_23 F35 + alt keycode 87 = Console_11 + control alt keycode 87 = Console_11 +keycode 88 = F12 F24 Console_24 F36 + alt keycode 88 = Console_12 + control alt keycode 88 = Console_12 +keycode 89 = +keycode 90 = +keycode 91 = +keycode 92 = +keycode 93 = +keycode 94 = +keycode 95 = +keycode 96 = KP_Enter + altgr keycode 96 = Hex_F +keycode 97 = Control +keycode 98 = KP_Divide + altgr keycode 98 = Hex_B +keycode 99 = Compose + control keycode 99 = Control_backslash + alt keycode 99 = Control_backslash + control alt keycode 99 = Meta_Control_backslash +keycode 100 = AltGr + alt keycode 100 = Compose +keycode 101 = Break +keycode 102 = Find +keycode 103 = Up + alt keycode 103 = KeyboardSignal +keycode 104 = Prior + shift keycode 104 = Scroll_Backward +keycode 105 = Left + alt keycode 105 = Decr_Console +keycode 106 = Right + alt keycode 106 = Incr_Console +keycode 107 = Select +keycode 108 = Down +keycode 109 = Next + shift keycode 109 = Scroll_Forward +keycode 110 = Insert +keycode 111 = Remove + altgr control keycode 111 = Boot + control alt keycode 111 = Boot +keycode 112 = Macro + altgr control keycode 112 = VoidSymbol + shift alt keycode 112 = VoidSymbol + altgr alt keycode 112 = VoidSymbol +keycode 113 = F13 + altgr control keycode 113 = VoidSymbol + shift alt keycode 113 = VoidSymbol + altgr alt keycode 113 = VoidSymbol +keycode 114 = F14 + altgr control keycode 114 = VoidSymbol + shift alt keycode 114 = VoidSymbol + altgr alt keycode 114 = VoidSymbol +keycode 115 = Help + altgr control keycode 115 = VoidSymbol + shift alt keycode 115 = VoidSymbol + altgr alt keycode 115 = VoidSymbol +keycode 116 = Do + altgr control keycode 116 = VoidSymbol + shift alt keycode 116 = VoidSymbol + altgr alt keycode 116 = VoidSymbol +keycode 117 = F17 + altgr control keycode 117 = VoidSymbol + shift alt keycode 117 = VoidSymbol + altgr alt keycode 117 = VoidSymbol +keycode 118 = KP_MinPlus + altgr control keycode 118 = VoidSymbol + shift alt keycode 118 = VoidSymbol + altgr alt keycode 118 = VoidSymbol +keycode 119 = Pause +keycode 120 = +keycode 121 = +keycode 122 = +keycode 123 = +keycode 124 = +keycode 125 = +keycode 126 = +keycode 127 = +keycode 128 = nul + altgr control keycode 128 = VoidSymbol + shift alt keycode 128 = VoidSymbol + altgr alt keycode 128 = VoidSymbol +keycode 129 = nul + altgr control keycode 129 = VoidSymbol + shift alt keycode 129 = VoidSymbol + altgr alt keycode 129 = VoidSymbol +keycode 130 = nul + altgr control keycode 130 = VoidSymbol + shift alt keycode 130 = VoidSymbol + altgr alt keycode 130 = VoidSymbol +keycode 131 = nul + altgr control keycode 131 = VoidSymbol + shift alt keycode 131 = VoidSymbol + altgr alt keycode 131 = VoidSymbol +keycode 132 = nul + altgr control keycode 132 = VoidSymbol + shift alt keycode 132 = VoidSymbol + altgr alt keycode 132 = VoidSymbol +keycode 133 = nul + altgr control keycode 133 = VoidSymbol + shift alt keycode 133 = VoidSymbol + altgr alt keycode 133 = VoidSymbol +keycode 134 = nul + altgr control keycode 134 = VoidSymbol + shift alt keycode 134 = VoidSymbol + altgr alt keycode 134 = VoidSymbol +keycode 135 = nul + altgr control keycode 135 = VoidSymbol + shift alt keycode 135 = VoidSymbol + altgr alt keycode 135 = VoidSymbol +keycode 136 = nul + altgr control keycode 136 = VoidSymbol + shift alt keycode 136 = VoidSymbol + altgr alt keycode 136 = VoidSymbol +keycode 137 = nul + altgr control keycode 137 = VoidSymbol + shift alt keycode 137 = VoidSymbol + altgr alt keycode 137 = VoidSymbol +keycode 138 = nul + altgr control keycode 138 = VoidSymbol + shift alt keycode 138 = VoidSymbol + altgr alt keycode 138 = VoidSymbol +keycode 139 = nul + altgr control keycode 139 = VoidSymbol + shift alt keycode 139 = VoidSymbol + altgr alt keycode 139 = VoidSymbol +keycode 140 = nul + altgr control keycode 140 = VoidSymbol + shift alt keycode 140 = VoidSymbol + altgr alt keycode 140 = VoidSymbol +keycode 141 = nul + altgr control keycode 141 = VoidSymbol + shift alt keycode 141 = VoidSymbol + altgr alt keycode 141 = VoidSymbol +keycode 142 = nul + altgr control keycode 142 = VoidSymbol + shift alt keycode 142 = VoidSymbol + altgr alt keycode 142 = VoidSymbol +keycode 143 = nul + altgr control keycode 143 = VoidSymbol + shift alt keycode 143 = VoidSymbol + altgr alt keycode 143 = VoidSymbol +keycode 144 = nul + altgr control keycode 144 = VoidSymbol + shift alt keycode 144 = VoidSymbol + altgr alt keycode 144 = VoidSymbol +keycode 145 = nul + altgr control keycode 145 = VoidSymbol + shift alt keycode 145 = VoidSymbol + altgr alt keycode 145 = VoidSymbol +keycode 146 = nul + altgr control keycode 146 = VoidSymbol + shift alt keycode 146 = VoidSymbol + altgr alt keycode 146 = VoidSymbol +keycode 147 = nul + altgr control keycode 147 = VoidSymbol + shift alt keycode 147 = VoidSymbol + altgr alt keycode 147 = VoidSymbol +keycode 148 = nul + altgr control keycode 148 = VoidSymbol + shift alt keycode 148 = VoidSymbol + altgr alt keycode 148 = VoidSymbol +keycode 149 = nul + altgr control keycode 149 = VoidSymbol + shift alt keycode 149 = VoidSymbol + altgr alt keycode 149 = VoidSymbol +keycode 150 = nul + altgr control keycode 150 = VoidSymbol + shift alt keycode 150 = VoidSymbol + altgr alt keycode 150 = VoidSymbol +keycode 151 = nul + altgr control keycode 151 = VoidSymbol + shift alt keycode 151 = VoidSymbol + altgr alt keycode 151 = VoidSymbol +keycode 152 = nul + altgr control keycode 152 = VoidSymbol + shift alt keycode 152 = VoidSymbol + altgr alt keycode 152 = VoidSymbol +keycode 153 = nul + altgr control keycode 153 = VoidSymbol + shift alt keycode 153 = VoidSymbol + altgr alt keycode 153 = VoidSymbol +keycode 154 = nul + altgr control keycode 154 = VoidSymbol + shift alt keycode 154 = VoidSymbol + altgr alt keycode 154 = VoidSymbol +keycode 155 = nul + altgr control keycode 155 = VoidSymbol + shift alt keycode 155 = VoidSymbol + altgr alt keycode 155 = VoidSymbol +keycode 156 = nul + altgr control keycode 156 = VoidSymbol + shift alt keycode 156 = VoidSymbol + altgr alt keycode 156 = VoidSymbol +keycode 157 = nul + altgr control keycode 157 = VoidSymbol + shift alt keycode 157 = VoidSymbol + altgr alt keycode 157 = VoidSymbol +keycode 158 = nul + altgr control keycode 158 = VoidSymbol + shift alt keycode 158 = VoidSymbol + altgr alt keycode 158 = VoidSymbol +keycode 159 = nul + altgr control keycode 159 = VoidSymbol + shift alt keycode 159 = VoidSymbol + altgr alt keycode 159 = VoidSymbol +keycode 160 = nul + altgr control keycode 160 = VoidSymbol + shift alt keycode 160 = VoidSymbol + altgr alt keycode 160 = VoidSymbol +keycode 161 = nul + altgr control keycode 161 = VoidSymbol + shift alt keycode 161 = VoidSymbol + altgr alt keycode 161 = VoidSymbol +keycode 162 = nul + altgr control keycode 162 = VoidSymbol + shift alt keycode 162 = VoidSymbol + altgr alt keycode 162 = VoidSymbol +keycode 163 = nul + altgr control keycode 163 = VoidSymbol + shift alt keycode 163 = VoidSymbol + altgr alt keycode 163 = VoidSymbol +keycode 164 = nul + altgr control keycode 164 = VoidSymbol + shift alt keycode 164 = VoidSymbol + altgr alt keycode 164 = VoidSymbol +keycode 165 = nul + altgr control keycode 165 = VoidSymbol + shift alt keycode 165 = VoidSymbol + altgr alt keycode 165 = VoidSymbol +keycode 166 = nul + altgr control keycode 166 = VoidSymbol + shift alt keycode 166 = VoidSymbol + altgr alt keycode 166 = VoidSymbol +keycode 167 = nul + altgr control keycode 167 = VoidSymbol + shift alt keycode 167 = VoidSymbol + altgr alt keycode 167 = VoidSymbol +keycode 168 = nul + altgr control keycode 168 = VoidSymbol + shift alt keycode 168 = VoidSymbol + altgr alt keycode 168 = VoidSymbol +keycode 169 = nul + altgr control keycode 169 = VoidSymbol + shift alt keycode 169 = VoidSymbol + altgr alt keycode 169 = VoidSymbol +keycode 170 = nul + altgr control keycode 170 = VoidSymbol + shift alt keycode 170 = VoidSymbol + altgr alt keycode 170 = VoidSymbol +keycode 171 = nul + altgr control keycode 171 = VoidSymbol + shift alt keycode 171 = VoidSymbol + altgr alt keycode 171 = VoidSymbol +keycode 172 = nul + altgr control keycode 172 = VoidSymbol + shift alt keycode 172 = VoidSymbol + altgr alt keycode 172 = VoidSymbol +keycode 173 = nul + altgr control keycode 173 = VoidSymbol + shift alt keycode 173 = VoidSymbol + altgr alt keycode 173 = VoidSymbol +keycode 174 = nul + altgr control keycode 174 = VoidSymbol + shift alt keycode 174 = VoidSymbol + altgr alt keycode 174 = VoidSymbol +keycode 175 = nul + altgr control keycode 175 = VoidSymbol + shift alt keycode 175 = VoidSymbol + altgr alt keycode 175 = VoidSymbol +keycode 176 = nul + altgr control keycode 176 = VoidSymbol + shift alt keycode 176 = VoidSymbol + altgr alt keycode 176 = VoidSymbol +keycode 177 = nul + altgr control keycode 177 = VoidSymbol + shift alt keycode 177 = VoidSymbol + altgr alt keycode 177 = VoidSymbol +keycode 178 = nul + altgr control keycode 178 = VoidSymbol + shift alt keycode 178 = VoidSymbol + altgr alt keycode 178 = VoidSymbol +keycode 179 = nul + altgr control keycode 179 = VoidSymbol + shift alt keycode 179 = VoidSymbol + altgr alt keycode 179 = VoidSymbol +keycode 180 = nul + altgr control keycode 180 = VoidSymbol + shift alt keycode 180 = VoidSymbol + altgr alt keycode 180 = VoidSymbol +keycode 181 = nul + altgr control keycode 181 = VoidSymbol + shift alt keycode 181 = VoidSymbol + altgr alt keycode 181 = VoidSymbol +keycode 182 = nul + altgr control keycode 182 = VoidSymbol + shift alt keycode 182 = VoidSymbol + altgr alt keycode 182 = VoidSymbol +keycode 183 = nul + altgr control keycode 183 = VoidSymbol + shift alt keycode 183 = VoidSymbol + altgr alt keycode 183 = VoidSymbol +keycode 184 = nul + altgr control keycode 184 = VoidSymbol + shift alt keycode 184 = VoidSymbol + altgr alt keycode 184 = VoidSymbol +keycode 185 = nul + altgr control keycode 185 = VoidSymbol + shift alt keycode 185 = VoidSymbol + altgr alt keycode 185 = VoidSymbol +keycode 186 = nul + altgr control keycode 186 = VoidSymbol + shift alt keycode 186 = VoidSymbol + altgr alt keycode 186 = VoidSymbol +keycode 187 = nul + altgr control keycode 187 = VoidSymbol + shift alt keycode 187 = VoidSymbol + altgr alt keycode 187 = VoidSymbol +keycode 188 = nul + altgr control keycode 188 = VoidSymbol + shift alt keycode 188 = VoidSymbol + altgr alt keycode 188 = VoidSymbol +keycode 189 = nul + altgr control keycode 189 = VoidSymbol + shift alt keycode 189 = VoidSymbol + altgr alt keycode 189 = VoidSymbol +keycode 190 = nul + altgr control keycode 190 = VoidSymbol + shift alt keycode 190 = VoidSymbol + altgr alt keycode 190 = VoidSymbol +keycode 191 = nul + altgr control keycode 191 = VoidSymbol + shift alt keycode 191 = VoidSymbol + altgr alt keycode 191 = VoidSymbol +keycode 192 = nul + altgr control keycode 192 = VoidSymbol + shift alt keycode 192 = VoidSymbol + altgr alt keycode 192 = VoidSymbol +keycode 193 = nul + altgr control keycode 193 = VoidSymbol + shift alt keycode 193 = VoidSymbol + altgr alt keycode 193 = VoidSymbol +keycode 194 = nul + altgr control keycode 194 = VoidSymbol + shift alt keycode 194 = VoidSymbol + altgr alt keycode 194 = VoidSymbol +keycode 195 = nul + altgr control keycode 195 = VoidSymbol + shift alt keycode 195 = VoidSymbol + altgr alt keycode 195 = VoidSymbol +keycode 196 = nul + altgr control keycode 196 = VoidSymbol + shift alt keycode 196 = VoidSymbol + altgr alt keycode 196 = VoidSymbol +keycode 197 = nul + altgr control keycode 197 = VoidSymbol + shift alt keycode 197 = VoidSymbol + altgr alt keycode 197 = VoidSymbol +keycode 198 = nul + altgr control keycode 198 = VoidSymbol + shift alt keycode 198 = VoidSymbol + altgr alt keycode 198 = VoidSymbol +keycode 199 = nul + altgr control keycode 199 = VoidSymbol + shift alt keycode 199 = VoidSymbol + altgr alt keycode 199 = VoidSymbol +keycode 200 = nul + altgr control keycode 200 = VoidSymbol + shift alt keycode 200 = VoidSymbol + altgr alt keycode 200 = VoidSymbol +keycode 201 = nul + altgr control keycode 201 = VoidSymbol + shift alt keycode 201 = VoidSymbol + altgr alt keycode 201 = VoidSymbol +keycode 202 = nul + altgr control keycode 202 = VoidSymbol + shift alt keycode 202 = VoidSymbol + altgr alt keycode 202 = VoidSymbol +keycode 203 = nul + altgr control keycode 203 = VoidSymbol + shift alt keycode 203 = VoidSymbol + altgr alt keycode 203 = VoidSymbol +keycode 204 = nul + altgr control keycode 204 = VoidSymbol + shift alt keycode 204 = VoidSymbol + altgr alt keycode 204 = VoidSymbol +keycode 205 = nul + altgr control keycode 205 = VoidSymbol + shift alt keycode 205 = VoidSymbol + altgr alt keycode 205 = VoidSymbol +keycode 206 = nul + altgr control keycode 206 = VoidSymbol + shift alt keycode 206 = VoidSymbol + altgr alt keycode 206 = VoidSymbol +keycode 207 = nul + altgr control keycode 207 = VoidSymbol + shift alt keycode 207 = VoidSymbol + altgr alt keycode 207 = VoidSymbol +keycode 208 = nul + altgr control keycode 208 = VoidSymbol + shift alt keycode 208 = VoidSymbol + altgr alt keycode 208 = VoidSymbol +keycode 209 = nul + altgr control keycode 209 = VoidSymbol + shift alt keycode 209 = VoidSymbol + altgr alt keycode 209 = VoidSymbol +keycode 210 = nul + altgr control keycode 210 = VoidSymbol + shift alt keycode 210 = VoidSymbol + altgr alt keycode 210 = VoidSymbol +keycode 211 = nul + altgr control keycode 211 = VoidSymbol + shift alt keycode 211 = VoidSymbol + altgr alt keycode 211 = VoidSymbol +keycode 212 = nul + altgr control keycode 212 = VoidSymbol + shift alt keycode 212 = VoidSymbol + altgr alt keycode 212 = VoidSymbol +keycode 213 = nul + altgr control keycode 213 = VoidSymbol + shift alt keycode 213 = VoidSymbol + altgr alt keycode 213 = VoidSymbol +keycode 214 = nul + altgr control keycode 214 = VoidSymbol + shift alt keycode 214 = VoidSymbol + altgr alt keycode 214 = VoidSymbol +keycode 215 = nul + altgr control keycode 215 = VoidSymbol + shift alt keycode 215 = VoidSymbol + altgr alt keycode 215 = VoidSymbol +keycode 216 = nul + altgr control keycode 216 = VoidSymbol + shift alt keycode 216 = VoidSymbol + altgr alt keycode 216 = VoidSymbol +keycode 217 = nul + altgr control keycode 217 = VoidSymbol + shift alt keycode 217 = VoidSymbol + altgr alt keycode 217 = VoidSymbol +keycode 218 = nul + altgr control keycode 218 = VoidSymbol + shift alt keycode 218 = VoidSymbol + altgr alt keycode 218 = VoidSymbol +keycode 219 = nul + altgr control keycode 219 = VoidSymbol + shift alt keycode 219 = VoidSymbol + altgr alt keycode 219 = VoidSymbol +keycode 220 = nul + altgr control keycode 220 = VoidSymbol + shift alt keycode 220 = VoidSymbol + altgr alt keycode 220 = VoidSymbol +keycode 221 = nul + altgr control keycode 221 = VoidSymbol + shift alt keycode 221 = VoidSymbol + altgr alt keycode 221 = VoidSymbol +keycode 222 = nul + altgr control keycode 222 = VoidSymbol + shift alt keycode 222 = VoidSymbol + altgr alt keycode 222 = VoidSymbol +keycode 223 = nul + altgr control keycode 223 = VoidSymbol + shift alt keycode 223 = VoidSymbol + altgr alt keycode 223 = VoidSymbol +keycode 224 = nul + altgr control keycode 224 = VoidSymbol + shift alt keycode 224 = VoidSymbol + altgr alt keycode 224 = VoidSymbol +keycode 225 = nul + altgr control keycode 225 = VoidSymbol + shift alt keycode 225 = VoidSymbol + altgr alt keycode 225 = VoidSymbol +keycode 226 = nul + altgr control keycode 226 = VoidSymbol + shift alt keycode 226 = VoidSymbol + altgr alt keycode 226 = VoidSymbol +keycode 227 = nul + altgr control keycode 227 = VoidSymbol + shift alt keycode 227 = VoidSymbol + altgr alt keycode 227 = VoidSymbol +keycode 228 = nul + altgr control keycode 228 = VoidSymbol + shift alt keycode 228 = VoidSymbol + altgr alt keycode 228 = VoidSymbol +keycode 229 = nul + altgr control keycode 229 = VoidSymbol + shift alt keycode 229 = VoidSymbol + altgr alt keycode 229 = VoidSymbol +keycode 230 = nul + altgr control keycode 230 = VoidSymbol + shift alt keycode 230 = VoidSymbol + altgr alt keycode 230 = VoidSymbol +keycode 231 = nul + altgr control keycode 231 = VoidSymbol + shift alt keycode 231 = VoidSymbol + altgr alt keycode 231 = VoidSymbol +keycode 232 = nul + altgr control keycode 232 = VoidSymbol + shift alt keycode 232 = VoidSymbol + altgr alt keycode 232 = VoidSymbol +keycode 233 = nul + altgr control keycode 233 = VoidSymbol + shift alt keycode 233 = VoidSymbol + altgr alt keycode 233 = VoidSymbol +keycode 234 = nul + altgr control keycode 234 = VoidSymbol + shift alt keycode 234 = VoidSymbol + altgr alt keycode 234 = VoidSymbol +keycode 235 = nul + altgr control keycode 235 = VoidSymbol + shift alt keycode 235 = VoidSymbol + altgr alt keycode 235 = VoidSymbol +keycode 236 = nul + altgr control keycode 236 = VoidSymbol + shift alt keycode 236 = VoidSymbol + altgr alt keycode 236 = VoidSymbol +keycode 237 = nul + altgr control keycode 237 = VoidSymbol + shift alt keycode 237 = VoidSymbol + altgr alt keycode 237 = VoidSymbol +keycode 238 = nul + altgr control keycode 238 = VoidSymbol + shift alt keycode 238 = VoidSymbol + altgr alt keycode 238 = VoidSymbol +keycode 239 = nul + altgr control keycode 239 = VoidSymbol + shift alt keycode 239 = VoidSymbol + altgr alt keycode 239 = VoidSymbol +keycode 240 = nul + altgr control keycode 240 = VoidSymbol + shift alt keycode 240 = VoidSymbol + altgr alt keycode 240 = VoidSymbol +keycode 241 = nul + altgr control keycode 241 = VoidSymbol + shift alt keycode 241 = VoidSymbol + altgr alt keycode 241 = VoidSymbol +keycode 242 = nul + altgr control keycode 242 = VoidSymbol + shift alt keycode 242 = VoidSymbol + altgr alt keycode 242 = VoidSymbol +keycode 243 = nul + altgr control keycode 243 = VoidSymbol + shift alt keycode 243 = VoidSymbol + altgr alt keycode 243 = VoidSymbol +keycode 244 = nul + altgr control keycode 244 = VoidSymbol + shift alt keycode 244 = VoidSymbol + altgr alt keycode 244 = VoidSymbol +keycode 245 = nul + altgr control keycode 245 = VoidSymbol + shift alt keycode 245 = VoidSymbol + altgr alt keycode 245 = VoidSymbol +keycode 246 = nul + altgr control keycode 246 = VoidSymbol + shift alt keycode 246 = VoidSymbol + altgr alt keycode 246 = VoidSymbol +keycode 247 = nul + altgr control keycode 247 = VoidSymbol + shift alt keycode 247 = VoidSymbol + altgr alt keycode 247 = VoidSymbol +keycode 248 = nul + altgr control keycode 248 = VoidSymbol + shift alt keycode 248 = VoidSymbol + altgr alt keycode 248 = VoidSymbol +keycode 249 = nul + altgr control keycode 249 = VoidSymbol + shift alt keycode 249 = VoidSymbol + altgr alt keycode 249 = VoidSymbol +keycode 250 = nul + altgr control keycode 250 = VoidSymbol + shift alt keycode 250 = VoidSymbol + altgr alt keycode 250 = VoidSymbol +keycode 251 = nul + altgr control keycode 251 = VoidSymbol + shift alt keycode 251 = VoidSymbol + altgr alt keycode 251 = VoidSymbol +keycode 252 = nul + altgr control keycode 252 = VoidSymbol + shift alt keycode 252 = VoidSymbol + altgr alt keycode 252 = VoidSymbol +keycode 253 = nul + altgr control keycode 253 = VoidSymbol + shift alt keycode 253 = VoidSymbol + altgr alt keycode 253 = VoidSymbol +keycode 254 = nul + altgr control keycode 254 = VoidSymbol + shift alt keycode 254 = VoidSymbol + altgr alt keycode 254 = VoidSymbol +keycode 255 = nul + altgr control keycode 255 = VoidSymbol + shift alt keycode 255 = VoidSymbol + altgr alt keycode 255 = VoidSymbol +string F1 = "\033[[A" +string F2 = "\033[[B" +string F3 = "\033[[C" +string F4 = "\033[[D" +string F5 = "\033[[E" +string F6 = "\033[17~" +string F7 = "\033[18~" +string F8 = "\033[19~" +string F9 = "\033[20~" +string F10 = "\033[21~" +string F11 = "\033[23~" +string F12 = "\033[24~" +string F13 = "\033[25~" +string F14 = "\033[26~" +string F15 = "\033[28~" +string F16 = "\033[29~" +string F17 = "\033[31~" +string F18 = "\033[32~" +string F19 = "\033[33~" +string F20 = "\033[34~" +string Find = "\033[1~" +string Insert = "\033[2~" +string Remove = "\033[3~" +string Select = "\033[4~" +string Prior = "\033[5~" +string Next = "\033[6~" +string Macro = "\033[M" +string Pause = "\033[P" diff --git a/core/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps b/core/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps new file mode 100755 index 00000000..ee05e692 --- /dev/null +++ b/core/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps @@ -0,0 +1,22 @@ +#!/bin/ash +# Script serves as container script for a systemd-call due to the buggyness of several +# loadkeys-implementations <= kbd (Linux keyboard tools) 1.15.3. +# This bug can be detected through failure of the command pipe 'dumpkeys|loadkeys' yielding +# the message "unknown keysym 'compose'. + +# So we first try to insert a keymap including compose-lines: +loadkeys /opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map +ERR=$? + +# ... if this fails we enter a keymap without compose-lines: +if [ "$ERR" -eq 0 ]; then + exit 0 # in that case everything went smooth - exit. +fi + +loadkeys /opt/openslx/keymaps/german_qwertz_keyboard_translation.map # insert a keymap without compose lines +ERR=$? + +# if at this point the second keymap insertion failed we pass the errorlevel to +# systemd - we cannot do more at this point. +exit $ERR + diff --git a/core/modules/german/module.build b/core/modules/german/module.build new file mode 100644 index 00000000..8788a459 --- /dev/null +++ b/core/modules/german/module.build @@ -0,0 +1,39 @@ +fetch_source() { + : +} + +build() { + # Debian-like + if [ -e "/etc/locale.gen" ] && ! grep -q -E '^\s*de_DE\.UTF-8' "/etc/locale.gen"; then + pinfo "Generating locales..." + echo 'de_DE.UTF-8 UTF-8' >> "/etc/locale.gen" + locale-gen || perror "Could not generate locales (debian style)" + fi + # Ubuntu's version + if [ -d "/var/lib/locales/supported.d" ] && [ ! -d /usr/lib/locale/de_DE.utf8 ]; then + pinfo "Generating locales..." + grep -q -E -r '^\s*de_DE\.UTF-8' "/var/lib/locales/supported.d" || echo 'de_DE.UTF-8 UTF-8' >> "/var/lib/locales/supported.d/openslx" + locale-gen --no-archive --purge "de_DE.UTF-8" || perror "Could not generate locales (ubuntu style)" + fi + + # Put everything we build or get from the system in build dir + local FILELIST="$MODULE_WORK_DIR/list_copy_build" + rm -f "$FILELIST" + + # Copy required directories from source system to build dir + for FILE in ${REQUIRED_DIRECTORIES}; do + [ ! -d "${FILE}" ] && perror "Missing required directory $FILE" + echo ${FILE} >> "${FILELIST}" + done + + # Done collecting file and directory names, copy everything + tarcopy "$(sort -u "$FILELIST")" "$MODULE_BUILD_DIR" + +} + +post_copy() { + for i in LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION; do + add_env $i de_DE.UTF-8 || perror "$i: add_env function failed." + done +} + diff --git a/core/modules/german/module.conf b/core/modules/german/module.conf new file mode 100644 index 00000000..e2f82123 --- /dev/null +++ b/core/modules/german/module.conf @@ -0,0 +1,5 @@ +REQUIRED_BINARIES="" +REQUIRED_FILES="" +REQUIRED_DIRECTORIES=" + /usr/share/X11 +" diff --git a/core/modules/german/module.conf.debian b/core/modules/german/module.conf.debian new file mode 100644 index 00000000..a43faea2 --- /dev/null +++ b/core/modules/german/module.conf.debian @@ -0,0 +1,10 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-data +" +REQUIRED_CONTENT_PACKAGES=" + libX11-data +" +REQUIRED_DIRECTORIES+=" + /usr/lib/locale +" + diff --git a/core/modules/german/module.conf.opensuse b/core/modules/german/module.conf.opensuse new file mode 100644 index 00000000..2bb901ff --- /dev/null +++ b/core/modules/german/module.conf.opensuse @@ -0,0 +1,13 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-data + glibc-locale +" +REQUIRED_CONTENT_PACKAGES=" + libX11-data +" +REQUIRED_DIRECTORIES+=" + /usr/lib/locale/de_DE.utf8 +" +REQUIRED_BINARIES="" +REQUIRED_FILES="" + diff --git a/core/modules/german/module.conf.scientific b/core/modules/german/module.conf.scientific new file mode 100644 index 00000000..88ac0d27 --- /dev/null +++ b/core/modules/german/module.conf.scientific @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-data + glibc-common +" +REQUIRED_CONTENT_PACKAGES=" + libX11-data" +REQUIRED_BINARIES="" +REQUIRED_FILES="" diff --git a/core/modules/german/module.conf.ubuntu b/core/modules/german/module.conf.ubuntu new file mode 100644 index 00000000..aee3c64b --- /dev/null +++ b/core/modules/german/module.conf.ubuntu @@ -0,0 +1,11 @@ +REQUIRED_INSTALLED_PACKAGES=" + libx11-data + language-pack-de +" +REQUIRED_CONTENT_PACKAGES=" + libx11-data +" +REQUIRED_DIRECTORIES+=" + /usr/lib/locale/de_DE.utf8 +" + diff --git a/core/modules/hardware-stats/data/etc/systemd/system/hardware-stats.service b/core/modules/hardware-stats/data/etc/systemd/system/hardware-stats.service new file mode 100644 index 00000000..c28e75a5 --- /dev/null +++ b/core/modules/hardware-stats/data/etc/systemd/system/hardware-stats.service @@ -0,0 +1,11 @@ +[Unit] +Description=Gather statistics about this machine and send to boot server +DefaultDependencies=no +After=tmp.target multi-user.target +Wants=tmp.target + +[Service] +Type=oneshot +ExecStart=/opt/openslx/scripts/systemd-hardware_stats +RemainAfterExit=yes + diff --git a/core/modules/hardware-stats/data/etc/systemd/system/multi-user.target.wants/hardware-stats.service b/core/modules/hardware-stats/data/etc/systemd/system/multi-user.target.wants/hardware-stats.service new file mode 120000 index 00000000..e463586d --- /dev/null +++ b/core/modules/hardware-stats/data/etc/systemd/system/multi-user.target.wants/hardware-stats.service @@ -0,0 +1 @@ +../hardware-stats.service \ No newline at end of file diff --git a/core/modules/hardware-stats/data/etc/systemd/system/shutdown-usage-log.service b/core/modules/hardware-stats/data/etc/systemd/system/shutdown-usage-log.service new file mode 100644 index 00000000..fc65fe9f --- /dev/null +++ b/core/modules/hardware-stats/data/etc/systemd/system/shutdown-usage-log.service @@ -0,0 +1,11 @@ +[Unit] +Description=Gather statistics about this machine and send to boot server +DefaultDependencies=no +Before=shutdown.target +RefuseManualStart=yes + +[Service] +Type=oneshot +ExecStart=/opt/openslx/scripts/shutdown-system_usage_update +RemainAfterExit=yes + diff --git a/core/modules/hardware-stats/data/etc/systemd/system/shutdown.target.wants/shutdown-usage-log.service b/core/modules/hardware-stats/data/etc/systemd/system/shutdown.target.wants/shutdown-usage-log.service new file mode 120000 index 00000000..d94670ed --- /dev/null +++ b/core/modules/hardware-stats/data/etc/systemd/system/shutdown.target.wants/shutdown-usage-log.service @@ -0,0 +1 @@ +../shutdown-usage-log.service \ No newline at end of file diff --git a/core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update b/core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update new file mode 100755 index 00000000..232e5eab --- /dev/null +++ b/core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update @@ -0,0 +1,25 @@ +#!/bin/ash + +[ -r "/run/system-uuid" ] || exit 0 + +. /opt/openslx/config +[ -z "$SLX_REMOTE_LOG" ] && exit 0 + +UUID=$(cat "/run/system-uuid") + +[ -z "$UUID" ] && exit 1 + +USED=0 + +for SESSION in $(loginctl | awk '{print $1}'); do + unset Display Remote State + eval $(loginctl -p Display -p Remote -p State -p Class show-session "$SESSION") + if [ -n "$Display" ] && [ "$Remote" = "no" ] && [ "$State" = "active" ] && [ "$Class" = "user" ]; then + USED=1 + break; + fi +done + +curl -s --data-urlencode "type=~runstate" --data-urlencode "uuid=$UUID" --data-urlencode "used=$USED" \ + "$SLX_REMOTE_LOG" > /dev/null 2>&1 + diff --git a/core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_close.d/usage_stats b/core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_close.d/usage_stats new file mode 120000 index 00000000..129ca2f8 --- /dev/null +++ b/core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_close.d/usage_stats @@ -0,0 +1 @@ +../pam_script_ses_open.d/usage_stats \ No newline at end of file diff --git a/core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_open.d/usage_stats b/core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_open.d/usage_stats new file mode 100644 index 00000000..7c15ee1b --- /dev/null +++ b/core/modules/hardware-stats/data/opt/openslx/scripts/pam_script_ses_open.d/usage_stats @@ -0,0 +1,8 @@ + +( + sleep 3 + /opt/openslx/scripts/cron-system_usage_update +) & + +true + diff --git a/core/modules/hardware-stats/data/opt/openslx/scripts/shutdown-system_usage_update b/core/modules/hardware-stats/data/opt/openslx/scripts/shutdown-system_usage_update new file mode 100755 index 00000000..dc9f8f73 --- /dev/null +++ b/core/modules/hardware-stats/data/opt/openslx/scripts/shutdown-system_usage_update @@ -0,0 +1,12 @@ +#!/bin/ash + +. /opt/openslx/config +[ -z "$SLX_REMOTE_LOG" ] && exit 0 + +UUID=$(cat /run/system-uuid) + +[ -z "$UUID" ] && exit 1 + +curl -s --data-urlencode "type=~poweroff" --data-urlencode "uuid=$UUID" \ + "$SLX_REMOTE_LOG" > /dev/null 2>&1 + diff --git a/core/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats b/core/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats new file mode 100755 index 00000000..ce910a2b --- /dev/null +++ b/core/modules/hardware-stats/data/opt/openslx/scripts/systemd-hardware_stats @@ -0,0 +1,211 @@ +#!/bin/bash +# Use bash since ash can only do math on 32bit numbers, which is not sufficient for ID44 calculations +# also for negative length to ${x:0:-1} + +# This script gathers information about the hardware and configuration and reports it back to the server + +. /opt/openslx/config +export LANG=C +export LC_ALL=C + +if [ -z "$SLX_REMOTE_LOG" ]; then + echo "No remote log url given, will not report" + exit 1 +fi + +# 1) Get MAC Address used for booting +eval $(grep -Eo BOOTIF=\\S+ /proc/cmdline) +if [ "${#BOOTIF}" -ne "20" ]; then + echo "Getting MAC from /proc/cmdline failed, using 'ip a'..." + BOOTIF=01-$(ip a | grep -A 1 ': br0' | grep -o 'ether ..:..:..:..:..:..' | cut -d' ' -f2 | sed s/:/-/g) + if [ "${#BOOTIF}" -ne "20" ]; then + echo "FAIL FAIL FAIL" + BOOTIF="99-88-77-66-55-44-33" + fi +fi +MAC=${BOOTIF:3} + +which dmidecode || sleep 5 + +# 2) Get machine UUID, with fallback to MAC address if it fails for some reason +UUID=$(dmidecode -s system-uuid) +if [ "${#UUID}" -ne "36" ]; then + echo "Determined UUID (${UUID}) has not expected length of 36, falling back to MAC..." + UUID="000000000000000-$BOOTIF" +fi + +# 3) Uptime in seconds +UPTIME=$(grep -o -E '^[0-9]+' /proc/uptime) + +# 4) Number of real CPU cores +CPUCORES=$(cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list | sort -u | wc -l) +# Fallback 1... +if [ -z "$CPUCORES" ] || [ "$CPUCORES" = "0" ]; then + for c in $(dmidecode -t 4 | grep 'Core Enabled' | awk -F ':' '{print $2}'); do + CPUCORES=$(( $CPUCORES + $c )) + done +fi +# Fallback 2... +if [ -z "$CPUCORES" ] || [ "$CPUCORES" = "0" ]; then + CPUCORES=$(grep -E -e '^core id\s*:' -e '^physical\s*:' /proc/cpuinfo | xargs -l2 echo | sort -u | wc -l) +fi + +# 5) CPU model name +CPUMODEL=$(grep -m1 '^model name\s*:' /proc/cpuinfo | sed 's/^model name\s*:\s*//;s/\s\s*/ /g;s/^ //;s/ $//') + +# 6) RAM +RAM=$(grep '^MemTotal:' /proc/meminfo | awk '{print $2}') +RAM=$(( $RAM / 1024 )) +if [ -z "$RAM" ] || [ "$RAM" -lt 500 ]; then + # Fallback to dmidecode + RAM=0 + for c in $(dmidecode -t 17 | grep -o 'Size:.*MB$' | awk '{print $2}'); do + RAM=$(( $RAM + $c )) + done +fi + +# 7) 64bit virtualization support +VT="UNSUPPORTED" +VIRTTYPE=$(grep -m1 '^flags\s*:' /proc/cpuinfo | grep -wo -e svm -e vmx) +[ -n "$VIRTTYPE" ] && modprobe msr + +if [ "$VIRTTYPE" = "vmx" ]; then # intel + BIT1=$(rdmsr --bitfield 0:0 0x3a 2>/dev/null || echo "fail") + BIT2=$(rdmsr --bitfield 2:2 0x3a 2>/dev/null || echo "fail") + if [ "$BIT1" = "fail" -o "$BIT2" = "fail" ]; then + VT="UNKNOWN" + elif [ "$BIT1" = "0" -o "$BIT2" = "1" ]; then + VT="ENABLED" + else + VT="DISABLED" + fi +elif [ "$VIRTTYPE" = "svm" ]; then # amd + BIT=$(rdmsr --bitfield 4:4 0xc0010114 2>/dev/null || echo "fail") + if [ "$BIT" = "fail" ]; then + VT="UNKNOWN" + elif [ "$BIT" = "0" ]; then + VT="ENABLED" + else + VT="DISABLED" + fi +fi + +# 8) ID44 partition size +ID44=0 +for c in $(fdisk -l | grep -E '[0-9]+[\-\+]?\s+44\s+' | awk '{print $1}'); do + val=$(blockdev --getsize64 "$c") + [ -z "$val" ] && continue + [ "$val" -gt "$ID44" ] && ID44=$val +done +ID44=$(( $ID44 / 1058576 )) # we'd rather underreport + +# 9) check smart values +BADSECTORS=0 +if which smartctl; then + ALLSMART=$(mktemp) + FILE=$(mktemp) + [ -z "$FILE" ] && FILE="/tmp/smartctl.$$.$RANDOM.$RANDOM" + for dev in $(fdisk -l | grep -o '^Disk /dev/\S*:' | cut -c 6-); do + dev=${dev:0:-1} + smartctl -i -H -A -f "brief" "$dev" > "$FILE" || continue + echo "NEXTHDD=$dev" >> "$ALLSMART" + cat "$FILE" >> "$ALLSMART" + # parse + OVERALL=$(grep -o "test result: .*$" "$FILE" | cut -c 14-) + [ "x$OVERALL" = "xPASSED" ] && OVERALL="" + REALLOC=$(grep "^ *5 " "$FILE" | awk '{print $8}') + SPINRETRY_VAL=$(grep "^ *10 " "$FILE" | awk '{print $4}') + SPINRETRY_THR=$(grep "^ *10 " "$FILE" | awk '{print $6}') + [ -n "$OVERALL" ] && BADSECTORS=$(( $BADSECTORS + 100 )) + if [ -n "$REALLOC" ] && [ "$REALLOC" -gt "0" ]; then + BADSECTORS=$(( $BADSECTORS + $REALLOC )) + fi + if [ -n "$SPINRETRY_VAL" ] && [ "$SPINRETRY_VAL" -le "$SPINRETRY_THR" ]; then + BADSECTORS=$(( $BADSECTORS + 100 )) + fi + done + rm -f -- "$FILE" +fi + +# A) Read system model and manufacturer +dmidec() { + local MODEL=$(dmidecode "$@" | sed 's/\s\s*/ /g;s/^ //;s/ $//') + case "$MODEL" in + ""|*"Product Name"*|*"be filled"*|"unknown"|*"product name"*) + MODEL="Unknown" + ;; + esac + echo "$MODEL" +} +MODEL=$(dmidec -s system-product-name) +MANUF=$(dmidec -s system-manufacturer) +# Try fallback to baseboard +if [ "$MODEL" = "Unknown" ]; then + MODEL=$(dmidec -s baseboard-product-name) + MANUF=$(dmidec -s baseboard-manufacturer) +fi + +if [ "$MANUF" != "Unknown" ]; then + MODEL="$MODEL ($MANUF)" +fi + +# n) Dump raw data to a file +DATAFILE=$(mktemp) +[ -z "$DATAFILE" ] && DATAFILE="/root/power-stats.$$" +cat > "$DATAFILE" <<-EOF +############################### CPU ##################################### +Sockets: $(grep '^physical id' /proc/cpuinfo | sort -u | wc -l) +Real cores: $CPUCORES +Virtual cores: $(grep '^processor' /proc/cpuinfo | sort -u | wc -l) +######################## Partition tables ############################### +EOF +fdisk -l >> "$DATAFILE" +cat >> "$DATAFILE" <<-EOF +############################ PCI ID ##################################### +EOF +lspci -n -m >> "$DATAFILE" +cat >> "$DATAFILE" <<-EOF +########################## dmidecode #################################### +EOF +dmidecode >> "$DATAFILE" +if [ -n "$ALLSMART" ] && [ -s "$ALLSMART" ]; then + cat >> "$DATAFILE" <<-EOF + ########################### smartctl #################################### + EOF + cat "$ALLSMART" >> "$DATAFILE" +fi +cat >> "$DATAFILE" <<-EOF +######################### +EOF + +[ -n "$ALLSMART" ] && rm -f -- "$ALLSMART" + +# Fire away +for DELAY in 1 1 0; do + if curl --data-urlencode "type=~poweron" --data-urlencode "uuid=$UUID" --data-urlencode "macaddr=$MAC" \ + --data-urlencode "uptime=$UPTIME" --data-urlencode "realcores=$CPUCORES" --data-urlencode "mbram=$RAM" \ + --data-urlencode "kvmstate=$VT" --data-urlencode "cpumodel=$CPUMODEL" --data-urlencode "id44mb=$ID44" \ + --data-urlencode "badsectors=$BADSECTORS" --data-urlencode "systemmodel=$MODEL" \ + --data-urlencode "data@$DATAFILE" "$SLX_REMOTE_LOG" | grep -q "RESULT=0"; then + rm -f -- "$DATAFILE" + echo "$UUID" > "/run/system-uuid" + START=$(( $RANDOM % 5 )) + cat > "/etc/cron.d/usage_stats" <<-EOF + # Update usage statistics on server + + SHELL=/bin/sh + PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/openslx/sbin:/opt/openslx/bin + + ${START}-59/5 * * * * root /opt/openslx/scripts/cron-system_usage_update + EOF + touch "/etc/cron.d" # Sometimes, aufs doesn't update the mtime of dirs when creating files, + # so cron would not rescan the cron directory + exit 0 + fi + sleep "$DELAY" +done + +echo "Server doesn't seem to support hardware/usage stats - disabling logging" +rm -f -- "/etc/cron.d/usage_stats" +exit 1 + diff --git a/core/modules/hardware-stats/module.build b/core/modules/hardware-stats/module.build new file mode 100644 index 00000000..f9b81669 --- /dev/null +++ b/core/modules/hardware-stats/module.build @@ -0,0 +1,17 @@ +fetch_source() { + : +} + +build() { + COPYLIST="list_dpkg_output" + rm -f -- "$COPYLIST" + + + list_packet_files >> "$COPYLIST" + tarcopy "$(cat "${COPYLIST}" | sort -u)" "${MODULE_BUILD_DIR}" +} + +post_copy() { + : +} + diff --git a/core/modules/hardware-stats/module.conf b/core/modules/hardware-stats/module.conf new file mode 100644 index 00000000..5850b267 --- /dev/null +++ b/core/modules/hardware-stats/module.conf @@ -0,0 +1,6 @@ +REQUIRED_BINARIES=" + rdmsr + dmidecode + blockdev +" + diff --git a/core/modules/hardware-stats/module.conf.ubuntu b/core/modules/hardware-stats/module.conf.ubuntu new file mode 100644 index 00000000..2037d13c --- /dev/null +++ b/core/modules/hardware-stats/module.conf.ubuntu @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + msr-tools + dmidecode + util-linux +" + +REQUIRED_CONTENT_PACKAGES=" + msr-tools + dmidecode + util-linux +" + diff --git a/core/modules/idleaction/data/etc/cron.d/openslx-idleaction b/core/modules/idleaction/data/etc/cron.d/openslx-idleaction new file mode 100644 index 00000000..3dd07ccb --- /dev/null +++ b/core/modules/idleaction/data/etc/cron.d/openslx-idleaction @@ -0,0 +1,7 @@ +# Trigger scripts that checks idle status of machine and triggers actions + +SHELL=/bin/ash +PATH=/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin + +*/5 * * * * root /opt/openslx/scripts/idleaction-cron_script + diff --git a/core/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script b/core/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script new file mode 100755 index 00000000..b7617940 --- /dev/null +++ b/core/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script @@ -0,0 +1,138 @@ +#!/bin/ash + +. /opt/openslx/config || exit 1 + +# If existent, no session is open. Will contain timestamp of last activity. +# If not existent, at least one user is logged in +CRONFILE="/etc/cron.d/idleaction-shutdown_schedule" +IDLEHINT="/dev/shm/idlehint" +NOW=$(date +%s) + +# +# 1) Check for idle timeout +# +if [ -n "${SLX_LOGOUT_TIMEOUT}" ] && [ "${SLX_LOGOUT_TIMEOUT}" -gt 0 ]; then + # Logout timeout is set, see which users we should kick + IS_IDLE=yes + # get all sessions + SESSIONS=$(loginctl | awk '{print $1}') + if [ -n "$SESSIONS" ]; then + TMP="/dev/shm/idlecheck.tmp" + # Iterate over sessions + for ses in $SESSIONS; do + # Get information + loginctl show-session "$ses" > "$TMP" + NAME=$(grep '^Name=' "$TMP" | cut -c 6-) + [ -z "$NAME" ] && continue # No name - should not happen + export DISPLAY=$(grep '^Display=' "$TMP" | cut -c 9-) + # X11 + if [ -n "$DISPLAY" ]; then + # Seems to be x11 + IDLE= + export XAUTHORITY=$(ps a | grep " $DISPLAY " | grep -o -- '-auth.*$' | grep -m1 -v grep | awk '{print $2}') + [ -n "$XAUTHORITY" ] && [ -f "$XAUTHORITY" ] && IDLE=$(xprintidle) + # Now that we have DISPLAY and XAUTHORITY set, xprintidle should work + if [ -z "$IDLE" ]; then + # Try user's xauth + USRHOME=$(/usr/bin/getent passwd "$NAME" | awk -F ':' '{print $6}') + export XAUTHORITY="$USRHOME/.Xauthority" + [ -f "$XAUTHORITY" ] && IDLE=$(xprintidle) + fi + if [ -n "$IDLE" ]; then + IDLE=$(( $IDLE / 1000 )) + if [ -z "$IDLE" ] || [ "$IDLE" -lt "$SLX_LOGOUT_TIMEOUT" ]; then + IS_IDLE=no + else + loginctl terminate-session "$ses" + fi + else # xprintidle did not work + IS_IDLE=no + fi + continue # Done with this session, skip normal tty/ssh checks + fi + # end X11 + # other sessions + IDLE=$(grep '^IdleSinceHint=' "$TMP" | cut -c 15-) + if [ "${#IDLE}" -lt 7 ]; then # wah wah waaaah + IS_IDLE=no + continue + fi + # divide by 1000000 by chopping of last 6 chars - number might be too large for $(( )) + IDLE=$(echo "$IDLE" | cut -c "-$(( ${#IDLE} - 6 ))") + [ "$IDLE" -gt "$NOW" ] && IDLE="$NOW" + IDLE=$(( $NOW - $IDLE )) + if [ "$IDLE" -lt "$SLX_LOGOUT_TIMEOUT" ]; then + IS_IDLE=no + else + loginctl terminate-session "$ses" + fi + # end other sessions + done + rm -f -- "$TMP" + fi + if [ "$IS_IDLE" = "yes" ]; then + [ ! -e "$IDLEHINT" ] && echo "$NOW" > "$IDLEHINT" + else + rm -f -- "$IDLEHINT" + fi +else + # No logout timeout is set, take shortcut for shutdown timeout (if set) + if [ -n "$SLX_SHUTDOWN_TIMEOUT" ]; then + SESSIONS=$(loginctl | wc -l) + if [ "$SESSIONS" = "0" ]; then + [ ! -e "$IDLEHINT" ] && echo "$NOW" > "$IDLEHINT" + else + rm -f -- "$IDLEHINT" + fi + fi +fi + +# +# 2) Check for no-session-shutdown timeout +# +if [ -n "${SLX_SHUTDOWN_TIMEOUT}" ] && [ "${SLX_SHUTDOWN_TIMEOUT}" -gt 0 ] && [ -e "$IDLEHINT" ]; then + IDLE=$(cat "$IDLEHINT") + [ "$IDLE" -gt "$NOW" ] && IDLE="$NOW" + IDLE=$(( $NOW - $IDLE )) + if [ "$IDLE" -gt "$SLX_SHUTDOWN_TIMEOUT" ]; then + poweroff + fi +fi + +# +# 3) Check for hard scheduled shutdown +# +# A cron file is created dynamically here so there's everything +# in one module and you don't need to repack config.tgz + +invalid_time () +{ + slxlog "idleaction-schedule" "Invalid shutdown time: '$time'. Expected HH:MM format." + return 0 +} + +if [ -n "$SLX_SHUTDOWN_SCHEDULE" -o -n "$SLX_REBOOT_SCHEDULE" ] && [ ! -e "$CRONFILE" ]; then + echo "# OpenSLX: Trigger poweroff at certain time of day" > "$CRONFILE" + echo "SHELL=/bin/ash" >> "$CRONFILE" + echo "PATH=/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin" >> "$CRONFILE" + echo "" >> "$CRONFILE" + for time in $SLX_SHUTDOWN_SCHEDULE; do + HOUR=${time%%:*} + MINUTE=${time##*:} + [ -z "$HOUR$MINUTE" ] && invalid_time && continue + [ "$HOUR" -lt 0 -o "$HOUR" -gt 23 ] && invalid_time && continue + [ "$MINUTE" -lt 0 -o "$MINUTE" -gt 59 ] && invalid_time && continue + echo "$MINUTE $HOUR * * * root /opt/openslx/scripts/idleaction-scheduled_action poweroff" >> "$CRONFILE" + done + # do it again for SLX_REBOOT_SCHEDULE + for time in $SLX_REBOOT_SCHEDULE; do + HOUR=${time%%:*} + MINUTE=${time##*:} + [ -z "$HOUR$MINUTE" ] && invalid_time && continue + [ "$HOUR" -lt 0 -o "$HOUR" -gt 23 ] && invalid_time && continue + [ "$MINUTE" -lt 0 -o "$MINUTE" -gt 59 ] && invalid_time && continue + echo "$MINUTE $HOUR * * * root /opt/openslx/scripts/idleaction-scheduled_action reboot" >> "$CRONFILE" + done + touch "/etc/cron.d" # Aufs bug where it won't update dir mtime when creating the file within +fi + diff --git a/core/modules/idleaction/data/opt/openslx/scripts/idleaction-scheduled_action b/core/modules/idleaction/data/opt/openslx/scripts/idleaction-scheduled_action new file mode 100755 index 00000000..6ef6969c --- /dev/null +++ b/core/modules/idleaction/data/opt/openslx/scripts/idleaction-scheduled_action @@ -0,0 +1,77 @@ +#!/bin/ash + +if [ "$(whoami)" != "root" ]; then + echo "Only root can call this" + exit 1 +fi + +if [ $# -ne 1 ]; then + echo "$0 " + exit 1 +fi + +MODE=$1 + +if [ "$MODE" != "reboot" ] && [ "$MODE" != "poweroff" ]; then + slxlog "idleaction-failed-call" "Invalid call to idleaction-scheduled_action. Mode '$MODE' unknown." + exit 1 +fi + +NUM=$(who | wc -l) +[ "$NUM" = "0" ] && $MODE # Easy way out - machine is idle + +# Someone logged in +for MINUTES in 5 X X X X X X X 3 X X X 2 X X X 1 X X X; do + NUM=$(who | wc -l) + [ "$NUM" = "0" ] && break + if [ "$MINUTES" != "X" ]; then + USERS=0 + if [ "$MODE" = "reboot" ]; then + MESSAGE="Das System wird in $MINUTES Minute(n) neugestartet, bitte beenden Sie Ihre Sitzung. +The system will reboot in $MINUTES minute(s). Please save your work and end the session." + else + MESSAGE="Dieser Rechner wird in $MINUTES Minute(n) abgeschaltet, bitte beenden Sie Ihre Sitzung. +The system will power off in $MINUTES minute(s). Please save your work and end the session." + fi + for d in $(who | awk '{print $2}' | sort -u); do + if [ "${d:0:1}" = ":" ]; then + # X11 + export DISPLAY=$d + export XAUTHORITY=$(ps a | grep " $DISPLAY " | grep -o -- '-auth.*$' | grep -m1 -v grep | awk '{print $2}') + # TODO: Don't look... We need to pick a proper util for this + /opt/openslx/cups/printergui --error "$MESSAGE" & + unset DISPLAY XAUTHORITY + USERS=$(( $USERS + 1 )) + elif [ "${d:0:3}" = "tty" ]; then + # Regular tty + cat > "/dev/$d" <<-EOF + * + *************************** + $MESSAGE + *************************** + * + EOF + USERS=$(( $USERS + 1 )) + elif [ "${d:0:3}" = "pts" ]; then + # pts - xterm or ssh session + cat > "/dev/pts/${d:3}" <<-EOF + * + *************************** + $MESSAGE + *************************** + * + EOF + USERS=$(( $USERS + 1 )) + fi + done + FILE=$(mktemp) + who > "$FILE" + slxlog "idleaction-busy" "Postponed $MODE ($MINUTES minutes max.) - $USERS user(s) still active" + sleep 1 + rm -- "$FILE" + fi + sleep 15 +done + +$MODE + diff --git a/core/modules/idleaction/module.build b/core/modules/idleaction/module.build new file mode 100644 index 00000000..1b740aa1 --- /dev/null +++ b/core/modules/idleaction/module.build @@ -0,0 +1,16 @@ +fetch_source() { + : +} + +build() { + # We ship xprintidle's source as suse doesn't have it in one of the default repos + # and its just too tiny to do anything fancy like fetching source from somewhere + mkdir -p "$MODULE_BUILD_DIR/opt/openslx/bin" + gcc -o "$MODULE_BUILD_DIR/opt/openslx/bin/xprintidle" "$MODULE_DIR/xprintidle.c" -lX11 -lXss -lXext \ + || perror "Compilation of xprintidle failed!" +} + +post_copy() { + : +} + diff --git a/core/modules/idleaction/module.conf b/core/modules/idleaction/module.conf new file mode 100644 index 00000000..1661735b --- /dev/null +++ b/core/modules/idleaction/module.conf @@ -0,0 +1,4 @@ +REQUIRED_BINARIES=" + xprintidle +" + diff --git a/core/modules/idleaction/module.conf.centos b/core/modules/idleaction/module.conf.centos new file mode 100644 index 00000000..d368cbd8 --- /dev/null +++ b/core/modules/idleaction/module.conf.centos @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-devel + libXScrnSaver-devel + xorg-x11-proto-devel +" + diff --git a/core/modules/idleaction/module.conf.debian b/core/modules/idleaction/module.conf.debian new file mode 100644 index 00000000..0dad2e48 --- /dev/null +++ b/core/modules/idleaction/module.conf.debian @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + libx11-dev + libxss-dev + x11proto-scrnsaver-dev +" + diff --git a/core/modules/idleaction/module.conf.fedora b/core/modules/idleaction/module.conf.fedora new file mode 100644 index 00000000..d368cbd8 --- /dev/null +++ b/core/modules/idleaction/module.conf.fedora @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-devel + libXScrnSaver-devel + xorg-x11-proto-devel +" + diff --git a/core/modules/idleaction/module.conf.opensuse b/core/modules/idleaction/module.conf.opensuse new file mode 100644 index 00000000..d368cbd8 --- /dev/null +++ b/core/modules/idleaction/module.conf.opensuse @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + libX11-devel + libXScrnSaver-devel + xorg-x11-proto-devel +" + diff --git a/core/modules/idleaction/module.conf.ubuntu b/core/modules/idleaction/module.conf.ubuntu new file mode 100644 index 00000000..0dad2e48 --- /dev/null +++ b/core/modules/idleaction/module.conf.ubuntu @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + libx11-dev + libxss-dev + x11proto-scrnsaver-dev +" + diff --git a/core/modules/idleaction/xprintidle.c b/core/modules/idleaction/xprintidle.c new file mode 100644 index 00000000..7fc62486 --- /dev/null +++ b/core/modules/idleaction/xprintidle.c @@ -0,0 +1,136 @@ +/* + +This program prints the "idle time" of the user to stdout. The "idle +time" is the number of milliseconds since input was received on any +input device. If unsuccessful, the program prints a message to stderr +and exits with a non-zero exit code. + +Copyright (c) 2005, 2008 Magnus Henoch +Copyright (c) 2006, 2007 by Danny Kukawka + , +Copyright (c) 2008 Eivind Magnus Hvidevold + +This program is free software; you can redistribute it and/or modify +it under the terms of version 2 of the GNU General Public License +as published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the +Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +The function workaroundCreepyXServer was adapted from kpowersave-0.7.3 by +Eivind Magnus Hvidevold . kpowersave is licensed under +the GNU GPL, version 2 _only_. + +*/ + +#include +#include +#include +#include + +void usage(char *name); +unsigned long workaroundCreepyXServer(Display *dpy, unsigned long _idleTime ); + +int main(int argc, char *argv[]) +{ + XScreenSaverInfo ssi; + Display *dpy; + int event_basep, error_basep; + + if (argc != 1) { + usage(argv[0]); + return 1; + } + + dpy = XOpenDisplay(NULL); + if (dpy == NULL) { + fprintf(stderr, "couldn't open display\n"); + return 1; + } + + if (!XScreenSaverQueryExtension(dpy, &event_basep, &error_basep)) { + fprintf(stderr, "screen saver extension not supported\n"); + return 1; + } + + if (!XScreenSaverQueryInfo(dpy, DefaultRootWindow(dpy), &ssi)) { + fprintf(stderr, "couldn't query screen saver info\n"); + return 1; + } + + printf("%lu\n", workaroundCreepyXServer(dpy, ssi.idle)); + + XCloseDisplay(dpy); + return 0; +} + +void usage(char *name) +{ + fprintf(stderr, + "Usage:\n" + "%s\n" + "That is, no command line arguments. The user's idle time\n" + "in milliseconds is printed on stdout.\n", + name); +} + +/*! + * This function works around an XServer idleTime bug in the + * XScreenSaverExtension if dpms is running. In this case the current + * dpms-state time is always subtracted from the current idletime. + * This means: XScreenSaverInfo->idle is not the time since the last + * user activity, as descriped in the header file of the extension. + * This result in SUSE bug # and sf.net bug #. The bug in the XServer itself + * is reported at https://bugs.freedesktop.org/buglist.cgi?quicksearch=6439. + * + * Workaround: Check if if XServer is in a dpms state, check the + * current timeout for this state and add this value to + * the current idle time and return. + * + * \param _idleTime a unsigned long value with the current idletime from + * XScreenSaverInfo->idle + * \return a unsigned long with the corrected idletime + */ +unsigned long workaroundCreepyXServer(Display *dpy, unsigned long _idleTime ){ + int dummy; + CARD16 standby, suspend, off; + CARD16 state; + BOOL onoff; + + if (DPMSQueryExtension(dpy, &dummy, &dummy)) { + if (DPMSCapable(dpy)) { + DPMSGetTimeouts(dpy, &standby, &suspend, &off); + DPMSInfo(dpy, &state, &onoff); + + if (onoff) { + switch (state) { + case DPMSModeStandby: + /* this check is a littlebit paranoid, but be sure */ + if (_idleTime < (unsigned) (standby * 1000)) + _idleTime += (standby * 1000); + break; + case DPMSModeSuspend: + if (_idleTime < (unsigned) ((suspend + standby) * 1000)) + _idleTime += ((suspend + standby) * 1000); + break; + case DPMSModeOff: + if (_idleTime < (unsigned) ((off + suspend + standby) * 1000)) + _idleTime += ((off + suspend + standby) * 1000); + break; + case DPMSModeOn: + default: + break; + } + } + } + } + + return _idleTime; +} diff --git a/core/modules/iptables-helper/data/etc/systemd/system/basic.target.wants/openslx-iptables.service b/core/modules/iptables-helper/data/etc/systemd/system/basic.target.wants/openslx-iptables.service new file mode 120000 index 00000000..40213361 --- /dev/null +++ b/core/modules/iptables-helper/data/etc/systemd/system/basic.target.wants/openslx-iptables.service @@ -0,0 +1 @@ +../openslx-iptables.service \ No newline at end of file diff --git a/core/modules/iptables-helper/data/etc/systemd/system/openslx-iptables.service b/core/modules/iptables-helper/data/etc/systemd/system/openslx-iptables.service new file mode 100644 index 00000000..ef88cf69 --- /dev/null +++ b/core/modules/iptables-helper/data/etc/systemd/system/openslx-iptables.service @@ -0,0 +1,6 @@ +[Unit] +Description=OpenSLX iptables helper + +[Service] +ExecStart=/opt/openslx/iptables/iptables-reloader + diff --git a/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader new file mode 100755 index 00000000..60ca1e2c --- /dev/null +++ b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader @@ -0,0 +1,5 @@ +#!/bin/ash + +/opt/openslx/iptables/iptables-reloader-worker +exec /opt/openslx/sbin/inotifyd /opt/openslx/iptables/iptables-reloader-worker /opt/openslx/iptables/rules.d:cndmy + diff --git a/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker new file mode 100755 index 00000000..43e35eca --- /dev/null +++ b/core/modules/iptables-helper/data/opt/openslx/iptables/iptables-reloader-worker @@ -0,0 +1,112 @@ +#!/bin/ash + +# Reloads iptables rules by flushing the tables and applying everything +# in /opt/openslx/iptables/rules.d again. Actions are delayed by 5 seconds +# to coalesce changes, since inotifyd can trigger dozens of events in a row. +# +# This scriptis triggered by inotifyd, see openslx-iptables_reloader.service + +ALL_RULES="/run/iptables-reloader.cache" +LOCK="/run/iptables-reloader.lock" + +# Expects $1 to be the contents of $LOCK +reload_rules () { + if [ -z "$1" -o ! -s "$LOCK" ]; then + echo "'$1' empty or lock non-existent" + exit 0 + fi + sleep 2 + if [ "x$(cat "$LOCK")" != "x$1" ]; then + echo "Wrong lock, lost race" + exit 0 + fi + + rm -f -- "${ALL_RULES}.new" + + for file in /opt/openslx/iptables/rules.d/*; do + [ -f "$file" ] || continue + cat "$file" >> "${ALL_RULES}.new" + done + + # No change? Do nothing... + [ -s "${ALL_RULES}" -a -s "${ALL_RULES}.new" ] && diff "${ALL_RULES}" "${ALL_RULES}.new" && exit 0 + + # Reset + # Filter + for chain in INPUT FORWARD OUTPUT; do + iptables -w -t filter -P "$chain" ACCEPT + iptables -w -t filter -N "ipt-helper-$chain" 2>/dev/null + iptables -w -t filter -F "ipt-helper-$chain" + iptables -w -t filter -D "$chain" -j "ipt-helper-$chain" 2>/dev/null # make sure it's number one + iptables -w -t filter -I "$chain" 1 -j "ipt-helper-$chain" + done + # NAT + for chain in INPUT OUTPUT PREROUTING POSTROUTING; do + iptables -w -t nat -P "$chain" ACCEPT + iptables -w -t nat -N "ipt-helper-$chain" 2>/dev/null + iptables -w -t nat -F "ipt-helper-$chain" + iptables -w -t nat -D "$chain" -j "ipt-helper-$chain" 2>/dev/null # make sure it's number one + iptables -w -t nat -I "$chain" 1 -j "ipt-helper-$chain" + done + # Mangle + for chain in INPUT FORWARD OUTPUT PREROUTING POSTROUTING; do + iptables -w -t mangle -P "$chain" ACCEPT + iptables -w -t mangle -N "ipt-helper-$chain" 2>/dev/null + iptables -w -t mangle -F "ipt-helper-$chain" + iptables -w -t mangle -D "$chain" -j "ipt-helper-$chain" 2>/dev/null # make sure it's number one + iptables -w -t mangle -I "$chain" 1 -j "ipt-helper-$chain" + done + + # Apply + local LOGFILE=$(mktemp) + local DISABLED="/opt/openslx/iptables/rules.d/disabled/" + for file in /opt/openslx/iptables/rules.d/*; do + [ -f "$file" ] || continue + if [ ! -x "$file" ]; then + slxlog "firewall-script-exec" "The firewall script '$file' is not executable (+x), moving to disabled/" + mkdir -p "$DISABLED" + mv "$file" "$DISABLED" + continue + fi + # patch chain names, add "-w" + sed -i -r 's/ (-A|--append|-I|--insert|-D|--delete) +(PREROUTING|INPUT|FORWARD|OUTPUT|POSTROUTING) / \1 ipt-helper-\2 /g;s/iptables +-/iptables -w -/g' "$file" + if ! "$file" > "$LOGFILE" 2>&1; then + slxlog "firewall-script-apply" "The firewall script '$file' had nonzero exit code. Moving to disabled/" "$LOGFILE" + mkdir -p "$DISABLED" + mv "$file" "$DISABLED" + fi + done + + # Add default rule + for chain in INPUT FORWARD OUTPUT; do + iptables -w -t filter -A "ipt-helper-$chain" -j RETURN + done + # NAT + for chain in INPUT OUTPUT PREROUTING POSTROUTING; do + iptables -w -t nat -A "ipt-helper-$chain" -j RETURN + done + # Mangle + for chain in INPUT FORWARD OUTPUT PREROUTING POSTROUTING; do + iptables -w -t mangle -A "ipt-helper-$chain" -j RETURN + done + + # Do not just move file from above, as we sed'ed above and contents might have changed + rm -f -- "${ALL_RULES}.new" + for file in /opt/openslx/iptables/rules.d/*; do + [ -f "$file" ] || continue + cat "$file" >> "${ALL_RULES}.new" + done + mv -f -- "${ALL_RULES}.new" "${ALL_RULES}" + + echo "iptables rules successfully updated." + rm -f -- "$LOCK" + exit 0 +} + + +ID="$$+$RANDOM" +echo "$ID" > "$LOCK" +reload_rules "$ID" & + +exit 0 + diff --git a/core/modules/iptables-helper/data/opt/openslx/iptables/rules.d/.placeholder b/core/modules/iptables-helper/data/opt/openslx/iptables/rules.d/.placeholder new file mode 100644 index 00000000..11b30bcc --- /dev/null +++ b/core/modules/iptables-helper/data/opt/openslx/iptables/rules.d/.placeholder @@ -0,0 +1 @@ +# Put your iptables rules here. Full command, like "iptables ...." diff --git a/core/modules/iptables-helper/module.build b/core/modules/iptables-helper/module.build new file mode 100644 index 00000000..d8804784 --- /dev/null +++ b/core/modules/iptables-helper/module.build @@ -0,0 +1,13 @@ + +fetch_source() { + : +} + +build() { + : +} + +post_copy() { + : +} + diff --git a/core/modules/iptables-helper/module.conf b/core/modules/iptables-helper/module.conf new file mode 100644 index 00000000..34103f5b --- /dev/null +++ b/core/modules/iptables-helper/module.conf @@ -0,0 +1 @@ +# requires some rootfs that provies iptables diff --git a/core/modules/kdm/data/etc/branding.svg b/core/modules/kdm/data/etc/branding.svg new file mode 100644 index 00000000..4891fb58 --- /dev/null +++ b/core/modules/kdm/data/etc/branding.svg @@ -0,0 +1,22 @@ + + + + +image/svg+xml + + + \ No newline at end of file diff --git a/core/modules/kdm/data/etc/kde b/core/modules/kdm/data/etc/kde new file mode 120000 index 00000000..5a94165b --- /dev/null +++ b/core/modules/kdm/data/etc/kde @@ -0,0 +1 @@ +kde4 \ No newline at end of file diff --git a/core/modules/kdm/data/etc/kde4/kdm/kdmrc b/core/modules/kdm/data/etc/kde4/kdm/kdmrc new file mode 100644 index 00000000..5f9f9e39 --- /dev/null +++ b/core/modules/kdm/data/etc/kde4/kdm/kdmrc @@ -0,0 +1,52 @@ +[General] +PidFile=/var/run/kdm.pid +ServerVTs=-7 +# Always spawn :0 (this is the default but it won't hurt) +StaticServers=:0 + +[X-*-Greeter] +UseTheme=true +Theme=/usr/share/desktop/themes/kdm/openslx +UseBackground=false +GreetString=OpenSLX Workstation (%h) +SelectedUsers= +UserList=false +AuthComplain=true +AntiAliasing=true + +[X-:*-Greeter] +AllowClose=false +UseAdminSession=true + +[X-:0-Greeter] +LogSource=/dev/xconsole +PreselectUser=None +UseAdminSession=false + +[X-*-Core] +AllowRootLogin=true +AllowShutdown=All +AutoLoginEnable=false +ServerAttempts=2 +# Custom directory so kdm never sees any other sessions - it's up to the vmchooser to list them +SessionsDirs=/opt/openslx/xsessions +TerminateServer=true + +# Session is executed to start the user's session (as the user) +# "One of the keywords failsafe, default or custom, or a string to eval by a Bourne-compatible shell is passed as the first argument." +Session=/etc/X11/Xsession +# Reset is run after a session terminates (as root) +Reset=/etc/X11/Xreset +# Setup is executed once before the greeter starts (as root) +Setup=/etc/X11/Xsetup +# Startup is executed on successful authentication, before the session is opened (as root) +Startup=/etc/X11/Xstartup + +[Shutdown] +AllowFifo=false +HaltCmd=/usr/bin/systemctl poweroff +RebootCmd=/usr/bin/systemctl reboot + +[Xdmcp] +Enable=false + diff --git a/core/modules/kdm/data/etc/systemd/system/display-manager.service b/core/modules/kdm/data/etc/systemd/system/display-manager.service new file mode 120000 index 00000000..640910e3 --- /dev/null +++ b/core/modules/kdm/data/etc/systemd/system/display-manager.service @@ -0,0 +1 @@ +kdm.service \ No newline at end of file diff --git a/core/modules/kdm/data/etc/systemd/system/kdm.service b/core/modules/kdm/data/etc/systemd/system/kdm.service new file mode 100644 index 00000000..e77d1cbd --- /dev/null +++ b/core/modules/kdm/data/etc/systemd/system/kdm.service @@ -0,0 +1,10 @@ +[Unit] +Description=KDM Display Manager +Conflicts=getty@tty7.service +After=systemd-user-sessions.service getty@tty7.service setup-slx-addon@nvidia_libs.service setup-slx-addon@vmware.service + +[Service] +ExecStartPre=-/opt/openslx/bin/killall fbsplash +ExecStart=/usr/bin/kdm -nodaemon +Restart=always +IgnoreSIGPIPE=no diff --git a/core/modules/kdm/data/etc/tmpfiles.d/kdm.conf b/core/modules/kdm/data/etc/tmpfiles.d/kdm.conf new file mode 100644 index 00000000..9b726ba2 --- /dev/null +++ b/core/modules/kdm/data/etc/tmpfiles.d/kdm.conf @@ -0,0 +1,2 @@ +d /var/run/kdm 0755 root root + diff --git a/core/modules/kdm/data/usr/share/config/kdm b/core/modules/kdm/data/usr/share/config/kdm new file mode 120000 index 00000000..8f0c47bd --- /dev/null +++ b/core/modules/kdm/data/usr/share/config/kdm @@ -0,0 +1 @@ +/etc/kde4/kdm \ No newline at end of file diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop new file mode 100755 index 00000000..3cb9069d --- /dev/null +++ b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop @@ -0,0 +1,8 @@ +[KdmGreeterTheme] +Encoding=UTF-8 +Greeter=theme.xml +Name=OpenSLX KDM theme +Description=KDM Port of Daemonic KDM theme for FreeBSD +Author=MJanc / KDM by aceph +Copyright=Creative Commons +Screenshot=screenshot.png diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/color.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/color.png new file mode 100644 index 00000000..7a0feb03 Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/color.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter.png new file mode 100644 index 00000000..b2912721 Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter_inactive.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter_inactive.png new file mode 100644 index 00000000..c3efb2ea Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/enter_inactive.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/environment.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/environment.png new file mode 100644 index 00000000..76a4768c Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/environment.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/main-runner.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/main-runner.png new file mode 100644 index 00000000..dde10cc8 Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/main-runner.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo-main.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo-main.png new file mode 100644 index 00000000..dfae62d2 Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo-main.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo.png new file mode 100644 index 00000000..a2ea7929 Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/openslx-logo.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions.png new file mode 100644 index 00000000..fa5c52bf Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions_inactive.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions_inactive.png new file mode 100644 index 00000000..d9c11d93 Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/sessions_inactive.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system.png new file mode 100644 index 00000000..6e480364 Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system_inactive.png b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system_inactive.png new file mode 100644 index 00000000..28adad5a Binary files /dev/null and b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/system_inactive.png differ diff --git a/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/theme.xml b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/theme.xml new file mode 100644 index 00000000..8b4ca0f9 --- /dev/null +++ b/core/modules/kdm/data/usr/share/desktop/themes/kdm/openslx/theme.xml @@ -0,0 +1,235 @@ + + + + +