summaryrefslogtreecommitdiff
path: root/old/solanum
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-01-17 12:45:46 +0100
committerAlex Auvolat <alex@adnab.me>2023-01-17 12:45:46 +0100
commitd47dd5aa3882aea1a8eff4fb9faa4881274559dc (patch)
treeb438c8fb8953b84614c170a5278ae72ece90bb68 /old/solanum
parenteaf6d5b07bcdd9a3eb9bfdac93566b7432e46c37 (diff)
downloaduser-config-d47dd5aa3882aea1a8eff4fb9faa4881274559dc.tar.gz
user-config-d47dd5aa3882aea1a8eff4fb9faa4881274559dc.zip
Unify things and rename things
Diffstat (limited to 'old/solanum')
-rw-r--r--old/solanum/alacritty/alacritty.yml569
-rw-r--r--old/solanum/dot_Xresources7
-rw-r--r--old/solanum/dot_bashrc21
-rw-r--r--old/solanum/dot_gvimrc1
-rw-r--r--old/solanum/dot_tmux.conf60
-rw-r--r--old/solanum/dot_vimrc61
-rwxr-xr-xold/solanum/fzf2.sh17
-rw-r--r--old/solanum/sway/config313
-rw-r--r--old/solanum/xkb/symbols/custom-fr1749
-rw-r--r--old/solanum/xkb/symbols/xkb.dump1655
10 files changed, 4453 insertions, 0 deletions
diff --git a/old/solanum/alacritty/alacritty.yml b/old/solanum/alacritty/alacritty.yml
new file mode 100644
index 0000000..204bc76
--- /dev/null
+++ b/old/solanum/alacritty/alacritty.yml
@@ -0,0 +1,569 @@
+# Configuration for Alacritty, the GPU enhanced terminal emulator.
+
+# Any items in the `env` entry below will be added as
+# environment variables. Some entries may override variables
+# set by alacritty itself.
+#env:
+ # TERM variable
+ #
+ # This value is used to set the `$TERM` environment variable for
+ # each instance of Alacritty. If it is not present, alacritty will
+ # check the local terminfo database and use `alacritty` if it is
+ # available, otherwise `xterm-256color` is used.
+ #TERM: xterm-256color
+
+#window:
+ # Window dimensions (changes require restart)
+ #
+ # Specified in number of columns/lines, not pixels.
+ # If both are `0`, this setting is ignored.
+ #dimensions:
+ # columns: 0
+ # lines: 0
+
+ # Window position (changes require restart)
+ #
+ # Specified in number of pixels.
+ # If the position is not set, the window manager will handle the placement.
+ #position:
+ # x: 0
+ # y: 0
+
+ # Window padding (changes require restart)
+ #
+ # Blank space added around the window in pixels. This padding is scaled
+ # by DPI and the specified value is always added at both opposing sides.
+ #padding:
+ # x: 0
+ # y: 0
+
+ # Spread additional padding evenly around the terminal content.
+ #dynamic_padding: false
+
+ # Window decorations
+ #
+ # Values for `decorations`:
+ # - full: Borders and title bar
+ # - none: Neither borders nor title bar
+ #
+ # Values for `decorations` (macOS only):
+ # - transparent: Title bar, transparent background and title bar buttons
+ # - buttonless: Title bar, transparent background, but no title bar buttons
+ #decorations: full
+
+ # Startup Mode (changes require restart)
+ #
+ # Values for `startup_mode`:
+ # - Windowed
+ # - Maximized
+ # - Fullscreen
+ #
+ # Values for `startup_mode` (macOS only):
+ # - SimpleFullscreen
+ #startup_mode: Windowed
+
+ # Window title
+ #title: Alacritty
+
+ # Window class (Linux/BSD only):
+ #class:
+ # Application instance name
+ #instance: Alacritty
+ # General application class
+ #general: Alacritty
+
+ # GTK theme variant (Linux/BSD only)
+ #
+ # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
+ # Set this to `None` to use the default theme variant.
+ #gtk_theme_variant: None
+
+#scrolling:
+ # Maximum number of lines in the scrollback buffer.
+ # Specifying '0' will disable scrolling.
+ #history: 10000
+
+ # Number of lines the viewport will move for every line scrolled when
+ # scrollback is enabled (history > 0).
+ #multiplier: 3
+
+ # Scroll to the bottom when new text is written to the terminal.
+ #auto_scroll: false
+
+# Spaces per Tab (changes require restart)
+#
+# This setting defines the width of a tab in cells.
+#
+# Some applications, like Emacs, rely on knowing about the width of a tab.
+# To prevent unexpected behavior in these applications, it's also required to
+# change the `it` value in terminfo when altering this setting.
+#tabspaces: 8
+
+# Font configuration
+font:
+ # Normal (roman) font face
+ normal:
+ # Font family
+ #
+ # Default:
+ # - (macOS) Menlo
+ # - (Linux/BSD) monospace
+ # - (Windows) Consolas
+ family: Monaco
+
+ # The `style` can be specified to pick a specific face.
+ #style: Regular
+
+ # Bold font face
+ bold:
+ # Font family
+ #
+ # If the bold family is not specified, it will fall back to the
+ # value specified for the normal font.
+ family: Monaco
+
+ # The `style` can be specified to pick a specific face.
+ #style: Bold
+
+ # Italic font face
+ italic:
+ # Font family
+ #
+ # If the italic family is not specified, it will fall back to the
+ # value specified for the normal font.
+ family: Monaco
+
+ # The `style` can be specified to pick a specific face.
+ #style: Italic
+
+ # Bold italic font face
+ bold_italic:
+ # Font family
+ #
+ # If the bold italic family is not specified, it will fall back to the
+ # value specified for the normal font.
+ family: Monaco
+
+ # The `style` can be specified to pick a specific face.
+ #style: Bold Italic
+
+ # Point size
+ size: 11.0
+
+ # Offset is the extra space around each character. `offset.y` can be thought of
+ # as modifying the line spacing, and `offset.x` as modifying the letter spacing.
+ #offset:
+ # x: 0
+ # y: 0
+
+ # Glyph offset determines the locations of the glyphs within their cells with
+ # the default being at the bottom. Increasing `x` moves the glyph to the right,
+ # increasing `y` moves the glyph upwards.
+ #glyph_offset:
+ # x: 0
+ # y: 0
+
+ # Thin stroke font rendering (macOS only)
+ #
+ # Thin strokes are suitable for retina displays, but for non-retina screens
+ # it is recommended to set `use_thin_strokes` to `false`
+ #
+ # macOS >= 10.14.x:
+ #
+ # If the font quality on non-retina display looks bad then set
+ # `use_thin_strokes` to `true` and enable font smoothing by running the
+ # following command:
+ # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
+ #
+ # This is a global setting and will require a log out or restart to take
+ # effect.
+ #use_thin_strokes: true
+
+# If `true`, bold text is drawn using the bright color variants.
+draw_bold_text_with_bright_colors: true
+
+# Colors (Tomorrow Night Bright)
+colors:
+ # Default colors
+ primary:
+ background: '0x000000'
+ foreground: '0xFFFFFF'
+
+ # Bright and dim foreground colors
+ #
+ # The dimmed foreground color is calculated automatically if it is not present.
+ # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
+ # is `false`, the normal foreground color will be used.
+ #dim_foreground: '0x9a9a9a'
+ #bright_foreground: '0xffffff'
+
+ # Cursor colors
+ #
+ # Colors which should be used to draw the terminal cursor. If these are unset,
+ # the cursor color will be the inverse of the cell color.
+ cursor:
+ text: '0x000000'
+ cursor: '0xffffff'
+
+ # Selection colors
+ #
+ # Colors which should be used to draw the selection area. If selection
+ # background is unset, selection color will be the inverse of the cell colors.
+ # If only text is unset the cell text color will remain the same.
+ selection:
+ text: '0xeaeaea'
+ background: '0x404040'
+
+ # Normal colors
+ normal:
+ black: '0x000000'
+ red: '0xBB0000'
+ green: '0x33CC33'
+ yellow: '0xDDBB22'
+ blue: '0x3333FF'
+ magenta: '0xDD00FF'
+ cyan: '0x00CCFF'
+ white: '0xeaeaea'
+
+ # Bright colors
+ bright:
+ black: '0x666666'
+ red: '0xff3334'
+ green: '0x77FF77'
+ yellow: '0xFFEE44'
+ blue: '0x7777FF'
+ magenta: '0xFF7eFF'
+ cyan: '0x54FFFF'
+ white: '0xffffff'
+
+ # Dim colors
+ #
+ # If the dim colors are not set, they will be calculated automatically based
+ # on the `normal` colors.
+ #dim:
+ # black: '0x000000'
+ # red: '0x8c3336'
+ # green: '0x7a8530'
+ # yellow: '0x97822e'
+ # blue: '0x506d8f'
+ # magenta: '0x80638e'
+ # cyan: '0x497e7a'
+ # white: '0x9a9a9a'
+
+ # Indexed Colors
+ #
+ # The indexed colors include all colors from 16 to 256.
+ # When these are not set, they're filled with sensible defaults.
+ #
+ # Example:
+ # `- { index: 16, color: '0xff00ff' }`
+ #
+ #indexed_colors: []
+
+# Visual Bell
+#
+# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
+# rung, the terminal background will be set to white and transition back to the
+# default background color. You can control the rate of this transition by
+# setting the `duration` property (represented in milliseconds). You can also
+# configure the transition function by setting the `animation` property.
+#
+# Values for `animation`:
+# - Ease
+# - EaseOut
+# - EaseOutSine
+# - EaseOutQuad
+# - EaseOutCubic
+# - EaseOutQuart
+# - EaseOutQuint
+# - EaseOutExpo
+# - EaseOutCirc
+# - Linear
+#
+# Specifying a `duration` of `0` will disable the visual bell.
+#visual_bell:
+# animation: EaseOutExpo
+# duration: 0
+# color: '0xffffff'
+
+# Background opacity
+#
+# Window opacity as a floating point number from `0.0` to `1.0`.
+# The value `0.0` is completely transparent and `1.0` is opaque.
+#background_opacity: 1.0
+
+#selection:
+ #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
+
+ # When set to `true`, selected text will be copied to the primary clipboard.
+ #save_to_clipboard: false
+
+# Allow terminal applications to change Alacritty's window title.
+#dynamic_title: true
+
+#cursor:
+ # Cursor style
+ #
+ # Values for `style`:
+ # - ▇ Block
+ # - _ Underline
+ # - | Beam
+ #style: Block
+
+ # If this is `true`, the cursor will be rendered as a hollow box when the
+ # window is not focused.
+ #unfocused_hollow: true
+
+# Live config reload (changes require restart)
+#live_config_reload: true
+
+# Shell
+#
+# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
+# Entries in `shell.args` are passed unmodified as arguments to the shell.
+#
+# Default:
+# - (macOS) /bin/bash --login
+# - (Linux/BSD) user login shell
+# - (Windows) powershell
+#shell:
+# program: /bin/bash
+# args:
+# - --login
+
+# Startup directory
+#
+# Directory the shell is started in. If this is unset, or `None`, the working
+# directory of the parent process will be used.
+#working_directory: None
+
+# WinPTY backend (Windows only)
+#
+# Alacritty defaults to using the newer ConPTY backend if it is available,
+# since it resolves a lot of bugs and is quite a bit faster. If it is not
+# available, the the WinPTY backend will be used instead.
+#
+# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
+# even if the ConPTY backend is available.
+#winpty_backend: false
+
+# Send ESC (\x1b) before characters when alt is pressed.
+#alt_send_esc: true
+
+#debug:
+ # Display the time it takes to redraw each frame.
+ #render_timer: false
+
+ # Keep the log file after quitting Alacritty.
+ #persistent_logging: false
+
+ # Log level
+ #
+ # Values for `log_level`:
+ # - None
+ # - Error
+ # - Warn
+ # - Info
+ # - Debug
+ # - Trace
+ #log_level: Warn
+
+ # Print all received window events.
+ #print_events: false
+
+ # Record all characters and escape sequences as test data.
+ #ref_test: false
+
+#mouse:
+ # Click settings
+ #
+ # The `double_click` and `triple_click` settings control the time
+ # alacritty should wait for accepting multiple clicks as one double
+ # or triple click.
+ #double_click: { threshold: 300 }
+ #triple_click: { threshold: 300 }
+
+ # If this is `true`, the cursor is temporarily hidden when typing.
+ #hide_when_typing: false
+
+ #url:
+ # URL launcher
+ #
+ # This program is executed when clicking on a text which is recognized as a URL.
+ # The URL is always added to the command as the last parameter.
+ #
+ # When set to `None`, URL launching will be disabled completely.
+ #
+ # Default:
+ # - (macOS) open
+ # - (Linux/BSD) xdg-open
+ # - (Windows) explorer
+ #launcher:
+ # program: xdg-open
+ # args: []
+
+ # URL modifiers
+ #
+ # These are the modifiers that need to be held down for opening URLs when clicking
+ # on them. The available modifiers are documented in the key binding section.
+ #modifiers: None
+
+# Mouse bindings
+#
+# Mouse bindings are specified as a list of objects, much like the key
+# bindings further below.
+#
+# Each mouse binding will specify a:
+#
+# - `mouse`:
+#
+# - Middle
+# - Left
+# - Right
+# - Numeric identifier such as `5`
+#
+# - `action` (see key bindings)
+#
+# And optionally:
+#
+# - `mods` (see key bindings)
+#mouse_bindings:
+# - { mouse: Middle, action: PasteSelection }
+
+# Key bindings
+#
+# Key bindings are specified as a list of objects. For example, this is the
+# default paste binding:
+#
+# `- { key: V, mods: Control|Shift, action: Paste }`
+#
+# Each key binding will specify a:
+#
+# - `key`: Identifier of the key pressed
+#
+# - A-Z
+# - F1-F24
+# - Key0-Key9
+#
+# A full list with available key codes can be found here:
+# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
+#
+# Instead of using the name of the keys, the `key` field also supports using
+# the scancode of the desired key. Scancodes have to be specified as a
+# decimal number. This command will allow you to display the hex scancodes
+# for certain keys:
+#
+# `showkey --scancodes`.
+#
+# Then exactly one of:
+#
+# - `chars`: Send a byte sequence to the running application
+#
+# The `chars` field writes the specified string to the terminal. This makes
+# it possible to pass escape sequences. To find escape codes for bindings
+# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
+# of tmux. Note that applications use terminfo to map escape sequences back
+# to keys. It is therefore required to update the terminfo when changing an
+# escape sequence.
+#
+# - `action`: Execute a predefined action
+#
+# - Copy
+# - Paste
+# - PasteSelection
+# - IncreaseFontSize
+# - DecreaseFontSize
+# - ResetFontSize
+# - ScrollPageUp
+# - ScrollPageDown
+# - ScrollLineUp
+# - ScrollLineDown
+# - ScrollToTop
+# - ScrollToBottom
+# - ClearHistory
+# - Hide
+# - Minimize
+# - Quit
+# - ToggleFullscreen
+# - SpawnNewInstance
+# - ClearLogNotice
+# - ReceiveChar
+# - None
+#
+# (macOS only):
+# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
+#
+# - `command`: Fork and execute a specified command plus arguments
+#
+# The `command` field must be a map containing a `program` string and an
+# `args` array of command line parameter strings. For example:
+# `{ program: "alacritty", args: ["-e", "vttest"] }`
+#
+# And optionally:
+#
+# - `mods`: Key modifiers to filter binding actions
+#
+# - Command
+# - Control
+# - Option
+# - Super
+# - Shift
+# - Alt
+#
+# Multiple `mods` can be combined using `|` like this:
+# `mods: Control|Shift`.
+# Whitespace and capitalization are relevant and must match the example.
+#
+# - `mode`: Indicate a binding for only specific terminal reported modes
+#
+# This is mainly used to send applications the correct escape sequences
+# when in different modes.
+#
+# - AppCursor
+# - AppKeypad
+# - Alt
+#
+# A `~` operator can be used before a mode to apply the binding whenever
+# the mode is *not* active, e.g. `~Alt`.
+#
+# Bindings are always filled by default, but will be replaced when a new
+# binding with the same triggers is defined. To unset a default binding, it can
+# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
+# a no-op if you do not wish to receive input characters for that binding.
+#key_bindings:
+ # (Windows, Linux, and BSD only)
+ #- { key: V, mods: Control|Shift, action: Paste }
+ #- { key: C, mods: Control|Shift, action: Copy }
+ #- { key: Insert, mods: Shift, action: PasteSelection }
+ #- { key: Key0, mods: Control, action: ResetFontSize }
+ #- { key: Equals, mods: Control, action: IncreaseFontSize }
+ #- { key: Add, mods: Control, action: IncreaseFontSize }
+ #- { key: Subtract, mods: Control, action: DecreaseFontSize }
+ #- { key: Minus, mods: Control, action: DecreaseFontSize }
+
+ # (Windows only)
+ #- { key: Return, mods: Alt, action: ToggleFullscreen }
+
+ # (macOS only)
+ #- { key: Key0, mods: Command, action: ResetFontSize }
+ #- { key: Equals, mods: Command, action: IncreaseFontSize }
+ #- { key: Add, mods: Command, action: IncreaseFontSize }
+ #- { key: Minus, mods: Command, action: DecreaseFontSize }
+ #- { key: K, mods: Command, action: ClearHistory }
+ #- { key: K, mods: Command, chars: "\x0c" }
+ #- { key: V, mods: Command, action: Paste }
+ #- { key: C, mods: Command, action: Copy }
+ #- { key: H, mods: Command, action: Hide }
+ #- { key: M, mods: Command, action: Minimize }
+ #- { key: Q, mods: Command, action: Quit }
+ #- { key: W, mods: Command, action: Quit }
+ #- { key: F, mods: Command|Control, action: ToggleFullscreen }
+
+ #- { key: Paste, action: Paste }
+ #- { key: Copy, action: Copy }
+ #- { key: L, mods: Control, action: ClearLogNotice }
+ #- { key: L, mods: Control, chars: "\x0c" }
+ #- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
+ #- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
+ #- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
+ #- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
diff --git a/old/solanum/dot_Xresources b/old/solanum/dot_Xresources
new file mode 100644
index 0000000..622ef68
--- /dev/null
+++ b/old/solanum/dot_Xresources
@@ -0,0 +1,7 @@
+XTerm.vt100.locale: true
+XTerm.vt100.faceName: Monaco:size=10:antialias=true
+
+XTerm.vt100.translations: #override \n\
+ Shift Ctrl <Key>U: scroll-back(40) \n\
+ Shift Ctrl <Key>D: scroll-forw(40)
+
diff --git a/old/solanum/dot_bashrc b/old/solanum/dot_bashrc
new file mode 100644
index 0000000..e740a6c
--- /dev/null
+++ b/old/solanum/dot_bashrc
@@ -0,0 +1,21 @@
+#
+# ~/.bashrc
+#
+
+# If not running interactively, don't do anything
+[[ $- != *i* ]] && return
+
+source $HOME/.profile
+
+alias ls='ls --color=auto'
+PS1='[\u@\h \W]\$ '
+
+eval $(keychain --eval --quiet id_rsa)
+
+source /usr/share/fzf/completion.bash
+source /usr/share/fzf/key-bindings.bash
+
+alias irc="ssh -t adnab.me irc"
+
+#exec fish
+alias sway='exec sway'
diff --git a/old/solanum/dot_gvimrc b/old/solanum/dot_gvimrc
new file mode 100644
index 0000000..30c2e38
--- /dev/null
+++ b/old/solanum/dot_gvimrc
@@ -0,0 +1 @@
+colorscheme slate
diff --git a/old/solanum/dot_tmux.conf b/old/solanum/dot_tmux.conf
new file mode 100644
index 0000000..f122ae7
--- /dev/null
+++ b/old/solanum/dot_tmux.conf
@@ -0,0 +1,60 @@
+# KEY BINDINGS
+
+
+#new-session -n $HOST
+
+setw -g mode-keys vi
+
+# remap prefix to Control + a
+set -g prefix C-q
+unbind C-b
+bind C-q send-prefix
+
+unbind q
+bind-key q copy-mode
+
+unbind p
+bind p paste-buffer
+
+# force a reload of the config file
+unbind r
+bind r source-file ~/.tmux.conf
+
+# quick pane cycling
+unbind ^A
+bind ^A select-pane -t :.+
+
+# switch panes using vim-like bindings C-a hjkl
+unbind h
+unbind j
+unbind k
+unbind l
+bind h select-pane -L
+bind l select-pane -R
+bind k select-pane -U
+bind j select-pane -D
+# switch panes using bindings C-q C-hl
+unbind ^H
+unbind ^L
+bind ^H previous-window
+bind ^L next-window
+
+# OTHER OPTIONS
+
+#set -g mouse on
+
+set -g escape-time 0
+
+# don't rename windows automatically
+set-option -g allow-rename off
+
+
+######################
+### DESIGN CHANGES ###
+######################
+
+set -g status-bg colour6
+
+set -g default-terminal "screen-256color"
+
+#set -ga terminal-overrides ',xterm*:smglr=\E7\E[?69h\E[%i%p1%d;%p2%ds\E8:mgc=\E7\E[?69l\E8'
diff --git a/old/solanum/dot_vimrc b/old/solanum/dot_vimrc
new file mode 100644
index 0000000..be17b3b
--- /dev/null
+++ b/old/solanum/dot_vimrc
@@ -0,0 +1,61 @@
+source /usr/share/vim/vim82/defaults.vim
+source /etc/vimrc
+
+let NERDTreeIgnore=['\.o$', '\.cmo$', '\.cmx$', '\.cmi$', '\.lib$', '\.pyc$', '^__pycache__$', '\.class$']
+
+set exrc
+set hlsearch
+
+set number
+set relativenumber
+
+let mapleader=","
+
+" Tab modes.
+map <leader>m <Esc>:set expandtab ts=2 sw=2 sts=2<CR>
+map <leader>t <Esc>:set noexpandtab ts=4 sw=4 sts=4<CR>
+map <leader>T <Esc>:set expandtab ts=4 sw=4 sts=4<CR>
+
+" FZF bindings
+" map <leader>f <Esc>:FZF<CR>
+map ; <Esc>:FZF<CR>
+
+map <leader>l <Esc>:ALENextWrap<CR>
+
+" Append modeline after last line in buffer.
+" Use substitute() instead of printf() to handle '%%s' modeline in LaTeX
+" files.
+function! AppendModeline()
+ let l:modeline = printf(" vim: set sts=%d ts=%d sw=%d tw=%d %set :",
+ \ &softtabstop, &tabstop, &shiftwidth, &textwidth, &expandtab ? '' : 'no')
+ let l:modeline = substitute(&commentstring, "%s", l:modeline, "")
+ call append(line("$"), l:modeline)
+endfunction
+nnoremap <silent> <Leader>ml :call AppendModeline()<CR>
+
+filetype plugin indent on
+set autoindent
+set smartindent
+set ts=4 sw=4
+
+" indentation for long line wraps
+set wrap
+set linebreak
+set breakindent
+let &showbreak = '> '
+
+set bg=dark
+
+au FileType make setl noexpandtab
+au FileType python setl sw=4 sts=4 et
+au FileType html setl sw=2 sts=2 et
+au FileType htmldjango setl sw=2 sts=2 et
+au FileType json setl sw=2 sts=2 et
+au FileType javascript setl sw=2 sts=2 et
+au FileType yaml setl sw=2 sts=2 et
+au FileType css setl sw=4 sts=4 et
+au FileType lua setl ts=4 sw=4 noet
+au FileType trema setl ts=2 sts=2 et
+au FileType trema setl ts=2 sts=2 et
+au FileType typescript.tsx setl ts=2 sts=2 et
+
diff --git a/old/solanum/fzf2.sh b/old/solanum/fzf2.sh
new file mode 100755
index 0000000..bf774a5
--- /dev/null
+++ b/old/solanum/fzf2.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+cmd=$(compgen -c | fzf)
+
+if [ -z "$cmd" ]; then
+ exit
+fi
+
+file=$(fzf)
+
+if [ -z "$file" ]; then
+ exit
+fi
+
+"$cmd" "$file" &
+
+sleep 1
diff --git a/old/solanum/sway/config b/old/solanum/sway/config
new file mode 100644
index 0000000..e9b40b6
--- /dev/null
+++ b/old/solanum/sway/config
@@ -0,0 +1,313 @@
+# This file has been auto-generated by i3-config-wizard(1).
+# It will not be overwritten, so edit it as you like.
+#
+# Should you change your keyboard layout somewhen, delete
+# this file and re-run i3-config-wizard(1).
+#
+
+xwayland enable
+
+#input "*" xkb_layout "fr"
+#input "*" xkb_variant "oss"
+input "*" xkb_file "/home/aauvolat/.xkb/symbols/custom-fr"
+
+#input "*" xkb_layout "us"
+#input "*" xkb_variant "intl"
+
+seat "*" hide_cursor 5000
+
+#output "eDP-1" scale 1.2
+
+# i3 config file (v4)
+#
+# Please see http://i3wm.org/docs/userguide.html for a complete reference!
+
+# defaults
+client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577
+client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
+client.unfocused #333333 #222222 #888888 #292d2e #222222
+client.urgent #2f343a #900000 #ffffff #900000 #900000
+
+set $mod Mod4
+
+# font for window titles. ISO 10646 = Unicode
+#font -misc-fixed-medium-r-normal--12-120-75-75-C-70-iso10646-1
+font pango:Inconsolata 14px
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+#bindsym $mod+Return exec i3-sensible-terminal
+#bindsym $mod+Return exec xfce4-terminal
+#bindsym $mod+Return exec gnome-terminal
+
+bindsym $mod+Return exec alacritty -e tmux
+#bindsym $mod+Return exec xterm -rv -ti vt340x -e tmux attach
+bindsym $mod+o exec alacritty -e /home/aauvolat/.local/bin/fzf2.sh
+#bindsym $mod+m exec xterm -rv -ti vt340x -e /home/aauvolat/tmp/tmux/tmux -S /tmp/sixock attach
+bindsym $mod+m exec xterm -rv -ti vt340x
+
+# bindsym $mod+Shift+X exec xscreensaver-command -lock
+#bindsym $mod+Shift+X exec i3lock -d -c 111111 -I 5
+#bindsym $mod+Shift+X exec /home/aauvolat/.i3/i3lock-dpms
+bindsym $mod+Shift+X exec swaylock -c 000000 --clock --indicator-radius 200 --timestr "%H:%m"
+
+# music control
+bindsym $mod+Shift+P exec mpc toggle
+bindsym $mod+Shift+N exec mpc next
+
+
+# kill focused window
+bindsym $mod+Shift+Q kill
+
+# start dmenu (a program launcher)
+bindsym $mod+p exec bemenu-run --fn 'Inconsolata'
+
+bindsym $mod+n exec makoctl dismiss -a
+
+#bindsym $mod+i exec /usr/local/bin/lapdisplay
+#bindsym $mod+o exec /usr/local/bin/extdisplay
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# move focused window
+bindsym $mod+Shift+H move left
+bindsym $mod+Shift+J move down
+bindsym $mod+Shift+K move up
+bindsym $mod+Shift+L move right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# split in horizontal orientation
+bindsym $mod+b split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen
+
+# change container layout (stacked, tabbed, default)
+bindsym $mod+s layout stacking
+bindsym $mod+z layout tabbed
+bindsym $mod+e layout default
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+# focus the parent container
+bindsym $mod+q focus parent
+
+# focus the child container
+#bindcode $mod+d focus child
+
+# switch to workspace
+
+# ALEX FR CUSTOM LAYOUT
+bindsym $mod+braceleft workspace 1
+bindsym $mod+eacute workspace 2
+bindsym $mod+quotedbl workspace 3
+bindsym $mod+apostrophe workspace 4
+bindsym $mod+parenleft workspace 5
+bindsym $mod+minus workspace 6
+bindsym $mod+dead_grave workspace 7
+bindsym $mod+underscore workspace 8
+bindsym $mod+ccedilla workspace 9
+bindsym $mod+braceright workspace 10
+bindsym $mod+parenright workspace 11
+bindsym $mod+equal workspace 12
+
+# QWERTY LAYOUT
+#bindsym $mod+1 workspace 1
+#bindsym $mod+2 workspace 2
+#bindsym $mod+3 workspace 3
+#bindsym $mod+4 workspace 4
+#bindsym $mod+5 workspace 5
+#bindsym $mod+6 workspace 6
+#bindsym $mod+7 workspace 7
+#bindsym $mod+8 workspace 8
+#bindsym $mod+9 workspace 9
+#bindsym $mod+0 workspace 10
+#bindsym $mod+minus workspace 11
+#bindsym $mod+equal workspace 12
+
+workspace_auto_back_and_forth yes
+
+# move focused container to workspace
+
+# ALEX FR CUSTOM LAYOUT
+bindsym $mod+Shift+braceleft move container to workspace 1
+bindsym $mod+Shift+eacute move container to workspace 2
+bindsym $mod+Shift+quotedbl move container to workspace 3
+bindsym $mod+Shift+apostrophe move container to workspace 4
+bindsym $mod+Shift+parenleft move container to workspace 5
+bindsym $mod+Shift+minus move container to workspace 6
+bindsym $mod+Shift+dead_grave move container to workspace 7
+bindsym $mod+Shift+underscore move container to workspace 8
+bindsym $mod+Shift+ccedilla move container to workspace 9
+bindsym $mod+Shift+braceright move container to workspace 10
+bindsym $mod+Shift+parenright move container to workspace 11
+bindsym $mod+Shift+equal move container to workspace 12
+
+# QWERTY LAYOUT
+#bindsym $mod+Shift+1 move container to workspace 1
+#bindsym $mod+Shift+2 move container to workspace 2
+#bindsym $mod+Shift+3 move container to workspace 3
+#bindsym $mod+Shift+4 move container to workspace 4
+#bindsym $mod+Shift+5 move container to workspace 5
+#bindsym $mod+Shift+6 move container to workspace 6
+#bindsym $mod+Shift+7 move container to workspace 7
+#bindsym $mod+Shift+8 move container to workspace 8
+#bindsym $mod+Shift+9 move container to workspace 9
+#bindsym $mod+Shift+0 move container to workspace 10
+#bindsym $mod+Shift+underscore move container to workspace 11
+#bindsym $mod+Shift+plus move container to workspace 12
+
+# Multi monitor setup
+workspace 1 output DP-4 DP-6 HDMI-A-1 eDP-1
+workspace 2 output DP-3 DP-5 HDMI-A-1 eDP-1
+workspace 3 output DP-4 DP-6 HDMI-A-1 eDP-1
+workspace 4 output DP-3 DP-5 HDMI-A-1 eDP-1
+workspace 5 output DP-4 DP-6 HDMI-A-1 eDP-1
+workspace 6 output DP-3 DP-5 HDMI-A-1 eDP-1
+workspace 7 output DP-4 DP-6 HDMI-A-1 eDP-1
+workspace 8 output DP-3 DP-5 HDMI-A-1 eDP-1
+workspace 9 output DP-4 DP-6 HDMI-A-1 eDP-1
+workspace 10 output DP-3 DP-5 HDMI-A-1 eDP-1
+workspace 11 output DP-4 DP-6 HDMI-A-1 eDP-1
+workspace 12 output eDP-1
+
+# reload the configuration file
+bindsym $mod+Shift+C reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+R restart
+# exit i3 (logs you out of your X session)
+bindsym $mod+Shift+E exit
+
+bindsym $mod+t border normal
+bindsym $mod+y border pixel 1
+bindsym $mod+u border none
+
+bindsym XF86MonBrightnessDown exec sudo brightnessctl set 10%-
+bindsym XF86MonBrightnessUp exec sudo brightnessctl set +10%
+bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle
+bindsym XF86AudioRaiseVolume exec pactl set-sink-mute 0 false && pactl set-sink-volume 0 +5%
+bindsym XF86AudioLowerVolume exec pactl set-sink-mute 0 false && pactl set-sink-volume 0 -5%
+
+
+for_window [window_type="dialog"] floating enable
+for_window [window_type="utility"] floating enable
+for_window [window_type="splash"] floating enable
+for_window [title="xfce4-notifyd"] floating enable
+for_window [title="xfce4-notifyd"] border none
+for_window [title="Caml graphics"] floating enable
+for_window [title="QEMU"] floating enable
+for_window [title="a.out"] floating enable
+for_window [title="mgrx*"] floating enable
+for_window [class="Klavaro"] floating enable
+for_window [class="Steam"] floating enable
+for_window [class="Wine"] floating enable
+for_window [class="StepMania"] floating enable
+for_window [class="stepmania"] floating enable
+for_window [class="anki"] floating enable
+for_window [class="visu.bin"] floating enable
+for_window [class="pathfind"] floating enable
+for_window [class="anbox"] floating enable
+
+default_border pixel 1
+#new_window none
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym h resize shrink width 5 px or 5 ppt
+ bindsym j resize grow height 5 px or 5 ppt
+ bindsym k resize shrink height 5 px or 5 ppt
+ bindsym l resize grow width 5 px or 5 ppt
+
+ # same bindings, but for the arrow keys
+ #bindsym 113 resize shrink width 5 px or 5 ppt
+ #bindsym 116 resize grow height 5 px or 5 ppt
+ #bindsym 111 resize shrink height 5 px or 5 ppt
+ #bindsym 114 resize grow width 5 px or 5 ppt
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+ status_command i3status -c ~/.i3/i3status.conf
+ #font -misc-fixed-medium-r-normal--12-120-75-75-C-70-iso10646-1
+ font pango:Inconsolata 15px
+ colors {
+ background #000000
+ statusline #FFFFFF
+
+ # focused_workspace #222222 #222222 #C8E7A4
+ # active_workspace #222222 #222222 #EAB93D
+ # inactive_workspace #222222 #222222 #888888
+ # urgent_workspace #222222 #222222 #FF8D8D
+ focused_workspace #000000 #000000 #C8E7A4
+ active_workspace #000000 #000000 #EAB93D
+ inactive_workspace #000000 #000000 #888888
+ urgent_workspace #000000 #000000 #FF8D8D
+ }
+}
+
+exec_always pulseaudio --start
+
+#exec_always xsetroot -cursor_name arrow
+#exec_always xcompmgr
+output "*" bg /home/aauvolat/Downloads/wp20190404.jpg fill
+
+exec gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'
+exec gsettings set org.gnome.desktop.interface icon-theme 'Arc'
+
+
+exec mako
+exec swayidle -w timeout 600 'swaylock -f -c 000000 --clock --indicator-radius 200 --timestr "%H:%m"' \
+ timeout 610 'swaymsg "output * dpms off"' \
+ resume 'swaymsg "output * dpms on"' \
+ before-sleep 'swaylock -f -c 000000 --clock --indicator-radius 200 --timestr "%H:%m"'
+
+#exec_always /home/katchup/lab/wkwwin/script.sh
+#exec xscreensaver -nosplash
+#exec mpd
+#exec ~/.i3/mpdscribble.sh
+#exec seafile-applet
+#exec redshift-gtk -l 48.8567:2.3508
+#exec ~/.i3/notify-serv.sh
+exec xset -b # disable bell
+exec xset s off -dpms # disable DPMS
+#exec nm-applet
+exec xrdb merge /home/aauvolat/.Xresources
+
+
diff --git a/old/solanum/xkb/symbols/custom-fr b/old/solanum/xkb/symbols/custom-fr
new file mode 100644
index 0000000..faadbed
--- /dev/null
+++ b/old/solanum/xkb/symbols/custom-fr
@@ -0,0 +1,1749 @@
+xkb_keymap {
+xkb_keycodes "(unnamed)" {
+ minimum = 8;
+ maximum = 255;
+ <ESC> = 9;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <BKSP> = 22;
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+ <LCTL> = 37;
+ <AC01> = 38;
+ <AC02> = 39;
+ <AC03> = 40;
+ <AC04> = 41;
+ <AC05> = 42;
+ <AC06> = 43;
+ <AC07> = 44;
+ <AC08> = 45;
+ <AC09> = 46;
+ <AC10> = 47;
+ <AC11> = 48;
+ <TLDE> = 49;
+ <LFSH> = 50;
+ <BKSL> = 51;
+ <AB01> = 52;
+ <AB02> = 53;
+ <AB03> = 54;
+ <AB04> = 55;
+ <AB05> = 56;
+ <AB06> = 57;
+ <AB07> = 58;
+ <AB08> = 59;
+ <AB09> = 60;
+ <AB10> = 61;
+ <RTSH> = 62;
+ <KPMU> = 63;
+ <LALT> = 64;
+ <SPCE> = 65;
+ <CAPS> = 66;
+ <FK01> = 67;
+ <FK02> = 68;
+ <FK03> = 69;
+ <FK04> = 70;
+ <FK05> = 71;
+ <FK06> = 72;
+ <FK07> = 73;
+ <FK08> = 74;
+ <FK09> = 75;
+ <FK10> = 76;
+ <NMLK> = 77;
+ <SCLK> = 78;
+ <KP7> = 79;
+ <KP8> = 80;
+ <KP9> = 81;
+ <KPSU> = 82;
+ <KP4> = 83;
+ <KP5> = 84;
+ <KP6> = 85;
+ <KPAD> = 86;
+ <KP1> = 87;
+ <KP2> = 88;
+ <KP3> = 89;
+ <KP0> = 90;
+ <KPDL> = 91;
+ <LVL3> = 92;
+ <LSGT> = 94;
+ <FK11> = 95;
+ <FK12> = 96;
+ <AB11> = 97;
+ <KATA> = 98;
+ <HIRA> = 99;
+ <HENK> = 100;
+ <HKTG> = 101;
+ <MUHE> = 102;
+ <JPCM> = 103;
+ <KPEN> = 104;
+ <RCTL> = 105;
+ <KPDV> = 106;
+ <PRSC> = 107;
+ <RALT> = 108;
+ <LNFD> = 109;
+ <HOME> = 110;
+ <UP> = 111;
+ <PGUP> = 112;
+ <LEFT> = 113;
+ <RGHT> = 114;
+ <END> = 115;
+ <DOWN> = 116;
+ <PGDN> = 117;
+ <INS> = 118;
+ <DELE> = 119;
+ <I120> = 120;
+ <MUTE> = 121;
+ <VOL-> = 122;
+ <VOL+> = 123;
+ <POWR> = 124;
+ <KPEQ> = 125;
+ <I126> = 126;
+ <PAUS> = 127;
+ <I128> = 128;
+ <I129> = 129;
+ <HNGL> = 130;
+ <HJCV> = 131;
+ <AE13> = 132;
+ <LWIN> = 133;
+ <RWIN> = 134;
+ <COMP> = 135;
+ <STOP> = 136;
+ <AGAI> = 137;
+ <PROP> = 138;
+ <UNDO> = 139;
+ <FRNT> = 140;
+ <COPY> = 141;
+ <OPEN> = 142;
+ <PAST> = 143;
+ <FIND> = 144;
+ <CUT> = 145;
+ <HELP> = 146;
+ <I147> = 147;
+ <I148> = 148;
+ <I149> = 149;
+ <I150> = 150;
+ <I151> = 151;
+ <I152> = 152;
+ <I153> = 153;
+ <I154> = 154;
+ <I155> = 155;
+ <I156> = 156;
+ <I157> = 157;
+ <I158> = 158;
+ <I159> = 159;
+ <I160> = 160;
+ <I161> = 161;
+ <I162> = 162;
+ <I163> = 163;
+ <I164> = 164;
+ <I165> = 165;
+ <I166> = 166;
+ <I167> = 167;
+ <I168> = 168;
+ <I169> = 169;
+ <I170> = 170;
+ <I171> = 171;
+ <I172> = 172;
+ <I173> = 173;
+ <I174> = 174;
+ <I175> = 175;
+ <I176> = 176;
+ <I177> = 177;
+ <I178> = 178;
+ <I179> = 179;
+ <I180> = 180;
+ <I181> = 181;
+ <I182> = 182;
+ <I183> = 183;
+ <I184> = 184;
+ <I185> = 185;
+ <I186> = 186;
+ <I187> = 187;
+ <I188> = 188;
+ <I189> = 189;
+ <I190> = 190;
+ <FK13> = 191;
+ <FK14> = 192;
+ <FK15> = 193;
+ <FK16> = 194;
+ <FK17> = 195;
+ <FK18> = 196;
+ <FK19> = 197;
+ <FK20> = 198;
+ <FK21> = 199;
+ <FK22> = 200;
+ <FK23> = 201;
+ <FK24> = 202;
+ <MDSW> = 203;
+ <ALT> = 204;
+ <META> = 205;
+ <SUPR> = 206;
+ <HYPR> = 207;
+ <I208> = 208;
+ <I209> = 209;
+ <I210> = 210;
+ <I211> = 211;
+ <I212> = 212;
+ <I213> = 213;
+ <I214> = 214;
+ <I215> = 215;
+ <I216> = 216;
+ <I217> = 217;
+ <I218> = 218;
+ <I219> = 219;
+ <I220> = 220;
+ <I221> = 221;
+ <I222> = 222;
+ <I223> = 223;
+ <I224> = 224;
+ <I225> = 225;
+ <I226> = 226;
+ <I227> = 227;
+ <I228> = 228;
+ <I229> = 229;
+ <I230> = 230;
+ <I231> = 231;
+ <I232> = 232;
+ <I233> = 233;
+ <I234> = 234;
+ <I235> = 235;
+ <I236> = 236;
+ <I237> = 237;
+ <I238> = 238;
+ <I239> = 239;
+ <I240> = 240;
+ <I241> = 241;
+ <I242> = 242;
+ <I243> = 243;
+ <I244> = 244;
+ <I245> = 245;
+ <I246> = 246;
+ <I247> = 247;
+ <I248> = 248;
+ <I249> = 249;
+ <I250> = 250;
+ <I251> = 251;
+ <I252> = 252;
+ <I253> = 253;
+ <I254> = 254;
+ <I255> = 255;
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+ indicator 4 = "Compose";
+ indicator 5 = "Kana";
+ indicator 6 = "Sleep";
+ indicator 7 = "Suspend";
+ indicator 8 = "Mute";
+ indicator 9 = "Misc";
+ indicator 10 = "Mail";
+ indicator 11 = "Charging";
+ indicator 12 = "Shift Lock";
+ indicator 13 = "Group 2";
+ indicator 14 = "Mouse Keys";
+ alias <AC12> = <BKSL>;
+ alias <MENU> = <COMP>;
+ alias <HZTG> = <TLDE>;
+ alias <LMTA> = <LWIN>;
+ alias <RMTA> = <RWIN>;
+ alias <ALGR> = <RALT>;
+ alias <KPPT> = <I129>;
+ alias <LatA> = <AD01>;
+ alias <LatZ> = <AD02>;
+ alias <LatE> = <AD03>;
+ alias <LatR> = <AD04>;
+ alias <LatT> = <AD05>;
+ alias <LatY> = <AD06>;
+ alias <LatU> = <AD07>;
+ alias <LatI> = <AD08>;
+ alias <LatO> = <AD09>;
+ alias <LatP> = <AD10>;
+ alias <LatQ> = <AC01>;
+ alias <LatS> = <AC02>;
+ alias <LatD> = <AC03>;
+ alias <LatF> = <AC04>;
+ alias <LatG> = <AC05>;
+ alias <LatH> = <AC06>;
+ alias <LatJ> = <AC07>;
+ alias <LatK> = <AC08>;
+ alias <LatL> = <AC09>;
+ alias <LatM> = <AC10>;
+ alias <LatW> = <AB01>;
+ alias <LatX> = <AB02>;
+ alias <LatC> = <AB03>;
+ alias <LatV> = <AB04>;
+ alias <LatB> = <AB05>;
+ alias <LatN> = <AB06>;
+};
+
+xkb_types "(unnamed)" {
+
+ virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
+
+ type "ONE_LEVEL" {
+ modifiers= none;
+ level_name[Level1]= "Any";
+ };
+ type "TWO_LEVEL" {
+ modifiers= Shift;
+ map[Shift]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ };
+ type "ALPHABETIC" {
+ modifiers= Shift+Lock;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Caps";
+ };
+ type "KEYPAD" {
+ modifiers= Shift+NumLock;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ };
+ type "SHIFT+ALT" {
+ modifiers= Shift+Alt;
+ map[Shift+Alt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift+Alt";
+ };
+ type "PC_SUPER_LEVEL2" {
+ modifiers= Mod4;
+ map[Mod4]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Super";
+ };
+ type "PC_CONTROL_LEVEL2" {
+ modifiers= Control;
+ map[Control]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Control";
+ };
+ type "PC_LCONTROL_LEVEL2" {
+ modifiers= LControl;
+ map[LControl]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "LControl";
+ };
+ type "PC_RCONTROL_LEVEL2" {
+ modifiers= RControl;
+ map[RControl]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "RControl";
+ };
+ type "PC_ALT_LEVEL2" {
+ modifiers= Alt;
+ map[Alt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Alt";
+ };
+ type "PC_LALT_LEVEL2" {
+ modifiers= LAlt;
+ map[LAlt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "LAlt";
+ };
+ type "PC_RALT_LEVEL2" {
+ modifiers= RAlt;
+ map[RAlt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "RAlt";
+ };
+ type "CTRL+ALT" {
+ modifiers= Shift+Control+Alt+LevelThree;
+ map[Shift]= Level2;
+ preserve[Shift]= Shift;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ preserve[Shift+LevelThree]= Shift;
+ map[Control+Alt]= Level5;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "Ctrl+Alt";
+ };
+ type "LOCAL_EIGHT_LEVEL" {
+ modifiers= Shift+Lock+Control+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Control]= Level5;
+ map[Shift+Lock+Control]= Level5;
+ map[Shift+Control]= Level6;
+ map[Lock+Control]= Level6;
+ map[Control+LevelThree]= Level7;
+ map[Shift+Lock+Control+LevelThree]= Level7;
+ map[Shift+Control+LevelThree]= Level8;
+ map[Lock+Control+LevelThree]= Level8;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Level3";
+ level_name[Level4]= "Shift Level3";
+ level_name[Level5]= "Ctrl";
+ level_name[Level6]= "Shift Ctrl";
+ level_name[Level7]= "Level3 Ctrl";
+ level_name[Level8]= "Shift Level3 Ctrl";
+ };
+ type "THREE_LEVEL" {
+ modifiers= Shift+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Level3";
+ };
+ type "EIGHT_LEVEL" {
+ modifiers= Shift+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Shift+Lock+LevelThree]= Level3;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[Lock+LevelFive]= Level6;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[Lock+LevelThree+LevelFive]= Level8;
+ map[Shift+Lock+LevelThree+LevelFive]= Level7;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
+ modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ preserve[Shift+LevelFive]= Shift;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[NumLock]= Level5;
+ map[Shift+NumLock]= Level6;
+ preserve[Shift+NumLock]= Shift;
+ map[NumLock+LevelThree]= Level7;
+ map[Shift+NumLock+LevelThree]= Level8;
+ map[Shift+NumLock+LevelFive]= Level2;
+ map[NumLock+LevelThree+LevelFive]= Level3;
+ map[Shift+NumLock+LevelThree+LevelFive]= Level4;
+ map[Shift+Lock]= Level2;
+ map[Lock+LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level4;
+ map[Lock+LevelFive]= Level5;
+ map[Shift+Lock+LevelFive]= Level6;
+ preserve[Shift+Lock+LevelFive]= Shift;
+ map[Lock+LevelThree+LevelFive]= Level7;
+ map[Shift+Lock+LevelThree+LevelFive]= Level8;
+ map[Lock+NumLock]= Level5;
+ map[Shift+Lock+NumLock]= Level6;
+ preserve[Shift+Lock+NumLock]= Shift;
+ map[Lock+NumLock+LevelThree]= Level7;
+ map[Shift+Lock+NumLock+LevelThree]= Level8;
+ map[Shift+Lock+NumLock+LevelFive]= Level2;
+ map[Lock+NumLock+LevelThree+LevelFive]= Level3;
+ map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
+ modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ preserve[Shift+LevelFive]= Shift;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[NumLock]= Level5;
+ map[Shift+NumLock]= Level6;
+ preserve[Shift+NumLock]= Shift;
+ map[NumLock+LevelThree]= Level7;
+ map[Shift+NumLock+LevelThree]= Level8;
+ map[Shift+NumLock+LevelFive]= Level2;
+ map[NumLock+LevelThree+LevelFive]= Level3;
+ map[Shift+NumLock+LevelThree+LevelFive]= Level4;
+ map[Lock]= Level2;
+ map[Lock+LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level4;
+ map[Lock+LevelFive]= Level5;
+ map[Shift+Lock+LevelFive]= Level6;
+ map[Lock+LevelThree+LevelFive]= Level7;
+ map[Shift+Lock+LevelThree+LevelFive]= Level8;
+ map[Lock+NumLock]= Level5;
+ map[Shift+Lock+NumLock]= Level6;
+ map[Lock+NumLock+LevelThree]= Level7;
+ map[Shift+Lock+NumLock+LevelThree]= Level8;
+ map[Lock+NumLock+LevelFive]= Level2;
+ map[Lock+NumLock+LevelThree+LevelFive]= Level4;
+ map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_SEMIALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level4;
+ preserve[Shift+Lock+LevelThree]= Lock;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[Lock+LevelFive]= Level6;
+ preserve[Lock+LevelFive]= Lock;
+ map[Shift+Lock+LevelFive]= Level6;
+ preserve[Shift+Lock+LevelFive]= Lock;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[Lock+LevelThree+LevelFive]= Level7;
+ preserve[Lock+LevelThree+LevelFive]= Lock;
+ map[Shift+Lock+LevelThree+LevelFive]= Level8;
+ preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "FOUR_LEVEL" {
+ modifiers= Shift+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Shift+Lock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level4;
+ preserve[Shift+Lock+LevelThree]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_MIXED_KEYPAD" {
+ modifiers= Shift+NumLock+LevelThree;
+ map[NumLock]= Level2;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[NumLock+LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Shift+NumLock+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_X" {
+ modifiers= Shift+Control+Alt+LevelThree;
+ map[LevelThree]= Level2;
+ map[Shift+LevelThree]= Level3;
+ map[Control+Alt]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Alt Base";
+ level_name[Level3]= "Shift Alt";
+ level_name[Level4]= "Ctrl+Alt";
+ };
+ type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level4;
+ preserve[Lock]= Lock;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "AltGr Base";
+ level_name[Level4]= "Shift AltGr";
+ };
+ type "FOUR_LEVEL_PLUS_LOCK" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock]= Level5;
+ map[Shift+Lock]= Level2;
+ map[Lock+LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "Lock";
+ };
+ type "FOUR_LEVEL_KEYPAD" {
+ modifiers= Shift+NumLock+LevelThree;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[NumLock+LevelThree]= Level4;
+ map[Shift+NumLock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Alt Number";
+ };
+};
+
+xkb_compatibility "(unnamed)" {
+
+ virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
+
+ interpret.useModMapMods= AnyLevel;
+ interpret.repeat= False;
+ interpret.locking= False;
+ interpret ISO_Level2_Latch+Exactly(Shift) {
+ useModMapMods=level1;
+ action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
+ };
+ interpret Shift_Lock+AnyOf(Shift+Lock) {
+ action= LockMods(modifiers=Shift);
+ };
+ interpret Num_Lock+AnyOf(all) {
+ virtualModifier= NumLock;
+ action= LockMods(modifiers=NumLock);
+ };
+ interpret ISO_Level3_Shift+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= SetMods(modifiers=LevelThree,clearLocks);
+ };
+ interpret ISO_Level3_Latch+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
+ };
+ interpret ISO_Level3_Lock+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= LockMods(modifiers=LevelThree);
+ };
+ interpret Alt_L+AnyOf(all) {
+ virtualModifier= Alt;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Alt_R+AnyOf(all) {
+ virtualModifier= Alt;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Meta_L+AnyOf(all) {
+ virtualModifier= Meta;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Meta_R+AnyOf(all) {
+ virtualModifier= Meta;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Super_L+AnyOf(all) {
+ virtualModifier= Super;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Super_R+AnyOf(all) {
+ virtualModifier= Super;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Hyper_L+AnyOf(all) {
+ virtualModifier= Hyper;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Hyper_R+AnyOf(all) {
+ virtualModifier= Hyper;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Scroll_Lock+AnyOf(all) {
+ virtualModifier= ScrollLock;
+ action= LockMods(modifiers=modMapMods);
+ };
+ interpret ISO_Level5_Shift+AnyOf(all) {
+ virtualModifier= LevelFive;
+ useModMapMods=level1;
+ action= SetMods(modifiers=LevelFive,clearLocks);
+ };
+ interpret ISO_Level5_Latch+AnyOf(all) {
+ virtualModifier= LevelFive;
+ useModMapMods=level1;
+ action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
+ };
+ interpret ISO_Level5_Lock+AnyOf(all) {
+ virtualModifier= LevelFive;
+ useModMapMods=level1;
+ action= LockMods(modifiers=LevelFive);
+ };
+ interpret Mode_switch+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= SetGroup(group=+1);
+ };
+ interpret ISO_Level3_Shift+AnyOfOrNone(all) {
+ action= SetMods(modifiers=LevelThree,clearLocks);
+ };
+ interpret ISO_Level3_Latch+AnyOfOrNone(all) {
+ action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
+ };
+ interpret ISO_Level3_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=LevelThree);
+ };
+ interpret ISO_Group_Latch+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LatchGroup(group=2);
+ };
+ interpret ISO_Next_Group+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LockGroup(group=+1);
+ };
+ interpret ISO_Prev_Group+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LockGroup(group=-1);
+ };
+ interpret ISO_First_Group+AnyOfOrNone(all) {
+ action= LockGroup(group=1);
+ };
+ interpret ISO_Last_Group+AnyOfOrNone(all) {
+ action= LockGroup(group=2);
+ };
+ interpret KP_1+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret KP_End+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret KP_2+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=+1);
+ };
+ interpret KP_Down+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=+1);
+ };
+ interpret KP_3+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret KP_Next+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret KP_4+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+0);
+ };
+ interpret KP_Left+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+0);
+ };
+ interpret KP_6+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+0);
+ };
+ interpret KP_Right+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+0);
+ };
+ interpret KP_7+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret KP_Home+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret KP_8+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=-1);
+ };
+ interpret KP_Up+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=-1);
+ };
+ interpret KP_9+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret KP_Prior+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret KP_5+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret KP_Begin+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret KP_F2+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret KP_Divide+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret KP_F3+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret KP_Multiply+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret KP_F4+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=3);
+ };
+ interpret KP_Subtract+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=3);
+ };
+ interpret KP_Separator+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret KP_Add+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret KP_0+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=lock);
+ };
+ interpret KP_Insert+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=lock);
+ };
+ interpret KP_Decimal+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=unlock);
+ };
+ interpret KP_Delete+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=unlock);
+ };
+ interpret F25+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret F26+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret F27+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret F29+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret F31+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret F33+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret F35+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
+ action= PtrBtn(button=default);
+ };
+ interpret Pointer_Button1+AnyOfOrNone(all) {
+ action= PtrBtn(button=1);
+ };
+ interpret Pointer_Button2+AnyOfOrNone(all) {
+ action= PtrBtn(button=2);
+ };
+ interpret Pointer_Button3+AnyOfOrNone(all) {
+ action= PtrBtn(button=3);
+ };
+ interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret Pointer_DblClick1+AnyOfOrNone(all) {
+ action= PtrBtn(button=1,count=2);
+ };
+ interpret Pointer_DblClick2+AnyOfOrNone(all) {
+ action= PtrBtn(button=2,count=2);
+ };
+ interpret Pointer_DblClick3+AnyOfOrNone(all) {
+ action= PtrBtn(button=3,count=2);
+ };
+ interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=default,affect=both);
+ };
+ interpret Pointer_Drag1+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=1,affect=both);
+ };
+ interpret Pointer_Drag2+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=2,affect=both);
+ };
+ interpret Pointer_Drag3+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=3,affect=both);
+ };
+ interpret Pointer_EnableKeys+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeys);
+ };
+ interpret Pointer_Accelerate+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+ interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
+ action= SetPtrDflt(affect=button,button=+1);
+ };
+ interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
+ action= SetPtrDflt(affect=button,button=-1);
+ };
+ interpret AccessX_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AccessXKeys);
+ };
+ interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AccessXFeedback);
+ };
+ interpret RepeatKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=RepeatKeys);
+ };
+ interpret SlowKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=SlowKeys);
+ };
+ interpret BounceKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=BounceKeys);
+ };
+ interpret StickyKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=StickyKeys);
+ };
+ interpret MouseKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeys);
+ };
+ interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+ interpret Overlay1_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=none);
+ };
+ interpret Overlay2_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=none);
+ };
+ interpret AudibleBell_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AudibleBell);
+ };
+ interpret Terminate_Server+AnyOfOrNone(all) {
+ action= Terminate();
+ };
+ interpret Alt_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Alt,clearLocks);
+ };
+ interpret Alt_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Alt,clearLocks);
+ };
+ interpret Meta_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Meta,clearLocks);
+ };
+ interpret Meta_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Meta,clearLocks);
+ };
+ interpret Super_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Super,clearLocks);
+ };
+ interpret Super_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Super,clearLocks);
+ };
+ interpret Hyper_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Hyper,clearLocks);
+ };
+ interpret Hyper_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Hyper,clearLocks);
+ };
+ interpret Shift_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Shift,clearLocks);
+ };
+ interpret XF86Switch_VT_1+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=1,!same);
+ };
+ interpret XF86Switch_VT_2+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=2,!same);
+ };
+ interpret XF86Switch_VT_3+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=3,!same);
+ };
+ interpret XF86Switch_VT_4+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=4,!same);
+ };
+ interpret XF86Switch_VT_5+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=5,!same);
+ };
+ interpret XF86Switch_VT_6+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=6,!same);
+ };
+ interpret XF86Switch_VT_7+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=7,!same);
+ };
+ interpret XF86Switch_VT_8+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=8,!same);
+ };
+ interpret XF86Switch_VT_9+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=9,!same);
+ };
+ interpret XF86Switch_VT_10+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=10,!same);
+ };
+ interpret XF86Switch_VT_11+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=11,!same);
+ };
+ interpret XF86Switch_VT_12+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=12,!same);
+ };
+ interpret XF86LogGrabInfo+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
+ };
+ interpret XF86LogWindowTree+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
+ };
+ interpret XF86Next_VMode+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
+ };
+ interpret XF86Prev_VMode+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
+ };
+ interpret ISO_Level5_Shift+AnyOfOrNone(all) {
+ action= SetMods(modifiers=LevelFive,clearLocks);
+ };
+ interpret ISO_Level5_Latch+AnyOfOrNone(all) {
+ action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
+ };
+ interpret ISO_Level5_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=LevelFive);
+ };
+ interpret Caps_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=Lock);
+ };
+ interpret Any+Exactly(Lock) {
+ action= LockMods(modifiers=Lock);
+ };
+ interpret Any+AnyOf(all) {
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ indicator "Caps Lock" {
+ whichModState= locked;
+ modifiers= Lock;
+ };
+ indicator "Num Lock" {
+ whichModState= locked;
+ modifiers= NumLock;
+ };
+ indicator "Scroll Lock" {
+ whichModState= locked;
+ modifiers= ScrollLock;
+ };
+ indicator "Shift Lock" {
+ whichModState= locked;
+ modifiers= Shift;
+ };
+ indicator "Group 2" {
+ groups= 0xfe;
+ };
+ indicator "Mouse Keys" {
+ controls= mouseKeys;
+ };
+};
+
+xkb_symbols "(unnamed)" {
+
+ name[group1]="French (alt.)";
+
+ key <ESC> { [ Escape ] };
+
+ #key <TLDE> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ twosuperior, threesuperior, onesuperior, dead_cedilla ]
+ #};
+ key <TLDE> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ asciicircum, bracketleft, twosuperior, threesuperior ]
+ };
+
+ #key <AE01> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ ampersand, 1, dead_caron, dead_ogonek ]
+ #};
+ key <AE01> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ braceleft, 1, dead_caron, dead_ogonek ]
+ };
+
+ key <AE02> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ eacute, 2, asciitilde, Eacute ]
+ };
+ key <AE03> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ quotedbl, 3, numbersign, dead_breve ]
+ };
+
+ #key <AE04> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ apostrophe, 4, braceleft, U2014 ]
+ #};
+ key <AE04> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ apostrophe, 4, dead_acute, U2014 ]
+ };
+
+ key <AE05> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ parenleft, 5, bracketleft, U2013 ]
+ };
+
+ #key <AE06> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ minus, 6, bar, U2011 ]
+ #};
+ key <AE06> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ minus, 6, section, U2011 ]
+ };
+
+ #key <AE07> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ egrave, 7, grave, Egrave ]
+ #};
+ key <AE07> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ dead_grave, 7, grave, Egrave ]
+ };
+
+ #key <AE08> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ underscore, 8, backslash, trademark ]
+ #};
+ key <AE08> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ underscore, 8, onesuperior, U2014 ]
+ };
+
+ key <AE09> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ ccedilla, 9, asciicircum, Ccedilla ]
+ };
+
+ #key <AE10> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ agrave, 0, at, Agrave ]
+ #};
+ key <AE10> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ braceright, 0, at, Agrave ]
+ };
+
+ #key <AE11> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ parenright, degree, bracketright, notequal ]
+ #};
+ key <AE11> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ parenright, bracketright, bracketright, degree ]
+ };
+
+ #key <AE12> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ equal, plus, braceright, plusminus ]
+ #};
+ key <AE12> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ equal, plus, notequal, plusminus ]
+ };
+
+ key <BKSP> { [ BackSpace, BackSpace ] };
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ a, A, ae, AE ]
+ };
+ key <AD02> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ z, Z, acircumflex, Acircumflex ]
+ };
+ key <AD03> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ e, E, EuroSign, cent ]
+ };
+ key <AD04> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ r, R, ecircumflex, Ecircumflex ]
+ };
+ key <AD05> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ t, T, thorn, THORN ]
+ };
+ key <AD06> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ y, Y, ydiaeresis, Ydiaeresis ]
+ };
+ key <AD07> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ u, U, ucircumflex, Ucircumflex ]
+ };
+ key <AD08> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ i, I, icircumflex, Icircumflex ]
+ };
+ key <AD09> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ o, O, oe, OE ]
+ };
+ key <AD10> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ p, P, ocircumflex, Ocircumflex ]
+ };
+ key <AD11> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ]
+ };
+
+ #key <AD12> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ dollar, sterling, oslash, Oslash ]
+ #};
+ key <AD12> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ dollar, at, oslash, Oslash ]
+ };
+
+ key <RTRN> { [ Return ] };
+ key <LCTL> { [ Control_L ] };
+ key <AC01> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ q, Q, adiaeresis, Adiaeresis ]
+ };
+ key <AC02> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ s, S, ssharp, doublelowquotemark ]
+ };
+ key <AC03> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ d, D, ediaeresis, Ediaeresis ]
+ };
+ key <AC04> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ f, F, leftsinglequotemark, singlelowquotemark ]
+ };
+ key <AC05> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ g, G, rightsinglequotemark, yen ]
+ };
+ key <AC06> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ h, H, eth, ETH ]
+ };
+ key <AC07> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ j, J, udiaeresis, Udiaeresis ]
+ };
+ key <AC08> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ k, K, idiaeresis, Idiaeresis ]
+ };
+ key <AC09> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ l, L, U0140, U013F ]
+ };
+ key <AC10> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ m, M, odiaeresis, Odiaeresis ]
+ };
+
+ #key <AC11> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ ugrave, percent, dead_acute, Ugrave ]
+ #};
+ key <AC11> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ backslash, percent, dead_acute, Ugrave ]
+ };
+
+ key <LFSH> { [ Shift_L ] };
+
+ #key <BKSL> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ asterisk, mu, dead_grave, dead_macron ]
+ #};
+ key <BKSL> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ asterisk, bar, dead_grave, dead_macron ]
+ };
+
+ key <AB01> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ w, W, guillemotleft, leftdoublequotemark ]
+ };
+ key <AB02> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ x, X, guillemotright, rightdoublequotemark ]
+ };
+ key <AB03> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ c, C, copyright, registered ]
+ };
+ key <AB04> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ v, V, U202F, leftarrow ]
+ };
+ key <AB05> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ b, B, downarrow, uparrow ]
+ };
+ key <AB06> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ n, N, notsign, rightarrow ]
+ };
+
+ #key <AB07> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ comma, question, questiondown, U2026 ]
+ #};
+ key <AB07> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ comma, question, dead_cedilla, questiondown ]
+ };
+
+ key <AB08> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ semicolon, period, multiply, U22C5 ]
+ };
+ key <AB09> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ colon, slash, division, U2215 ]
+ };
+
+ #key <AB10> {
+ # type= "FOUR_LEVEL",
+ # symbols[Group1]= [ exclam, section, exclamdown, U2212 ]
+ #};
+ key <AB10> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ exclam, ampersand, exclamdown, U2212 ]
+ };
+
+ key <RTSH> { [ Shift_R ] };
+ key <KPMU> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Multiply, U22C5, 0x10000d7, VoidSymbol, XF86ClearGrab ]
+ };
+
+ #key <LALT> { [ Alt_L, Meta_L ] };
+ key <LALT> { [ Super_L ] };
+
+ key <SPCE> {
+ type= "EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, U202F, NoSymbol, NoSymbol ]
+ };
+
+ #key <CAPS> { [ Caps_Lock ] };
+ #key <CAPS> { [ Super_L ] };
+ key <CAPS> { [ Escape ] };
+
+ key <FK01> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
+ };
+ key <FK02> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
+ };
+ key <FK03> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
+ };
+ key <FK04> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
+ };
+ key <FK05> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
+ };
+ key <FK06> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
+ };
+ key <FK07> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
+ };
+ key <FK08> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
+ };
+ key <FK09> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
+ };
+ key <FK10> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
+ };
+ key <NMLK> { [ Num_Lock ] };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <KP7> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Home, KP_7, U2196, U21D6 ]
+ };
+ key <KP8> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Up, KP_8, U2191, U21D1 ]
+ };
+ key <KP9> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Prior, KP_9, U2197, U21D7 ]
+ };
+ key <KPSU> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Subtract, U2212, U2212, VoidSymbol, XF86Prev_VMode ]
+ };
+ key <KP4> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Left, KP_4, U2190, U21D0 ]
+ };
+ key <KP5> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Begin, KP_5, U2194, U21D4 ]
+ };
+ key <KP6> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Right, KP_6, U2192, U21D2 ]
+ };
+ key <KPAD> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Add, 0x100002b, 0x100002b, VoidSymbol, XF86Next_VMode ]
+ };
+ key <KP1> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_End, KP_1, U2199, U21D9 ]
+ };
+ key <KP2> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Down, KP_2, U2193, U21D3 ]
+ };
+ key <KP3> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Next, KP_3, U2198, U21D8 ]
+ };
+ key <KP0> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Insert, KP_0, U2195, U21D5 ]
+ };
+ key <KPDL> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Delete, period, comma, U202F ]
+ };
+ key <LVL3> {
+ type= "ONE_LEVEL",
+ symbols[Group1]= [ ISO_Level3_Shift ]
+ };
+ key <LSGT> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ less, greater, lessthanequal, greaterthanequal ]
+ };
+ key <FK11> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
+ };
+ key <FK12> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
+ };
+ key <KATA> { [ Katakana ] };
+ key <HIRA> { [ Hiragana ] };
+ key <HENK> { [ Henkan_Mode ] };
+ key <HKTG> { [ Hiragana_Katakana ] };
+ key <MUHE> { [ Muhenkan ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <RCTL> { [ Control_R ] };
+ key <KPDV> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Divide, U2215, 0x10000f7, VoidSymbol, XF86Ungrab ]
+ };
+ key <PRSC> {
+ type= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <RALT> {
+ type= "ONE_LEVEL",
+ symbols[Group1]= [ ISO_Level3_Shift ]
+ };
+ key <LNFD> { [ Linefeed ] };
+ key <HOME> { [ Home ] };
+ key <UP> { [ Up ] };
+ key <PGUP> { [ Prior ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <END> { [ End ] };
+ key <DOWN> { [ Down ] };
+ key <PGDN> { [ Next ] };
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <MUTE> { [ XF86AudioMute ] };
+ key <VOL-> { [ XF86AudioLowerVolume ] };
+ key <VOL+> { [ XF86AudioRaiseVolume ] };
+ key <POWR> { [ XF86PowerOff ] };
+ key <KPEQ> { [ KP_Equal ] };
+ key <I126> { [ plusminus ] };
+ key <PAUS> {
+ type= "PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <I128> { [ XF86LaunchA ] };
+ key <I129> { [ KP_Decimal, KP_Decimal ] };
+ key <HNGL> { [ Hangul ] };
+ key <HJCV> { [ Hangul_Hanja ] };
+
+ #key <LWIN> { [ Super_L ] };
+ key <LWIN> { [ Alt_L, Meta_L ] };
+
+ key <RWIN> { [ Super_R ] };
+ key <COMP> { [ Menu ] };
+ key <STOP> { [ Cancel ] };
+ key <AGAI> { [ Redo ] };
+ key <PROP> { [ SunProps ] };
+ key <UNDO> { [ Undo ] };
+ key <FRNT> { [ SunFront ] };
+ key <COPY> { [ XF86Copy ] };
+ key <OPEN> { [ XF86Open ] };
+ key <PAST> { [ XF86Paste ] };
+ key <FIND> { [ Find ] };
+ key <CUT> { [ XF86Cut ] };
+ key <HELP> { [ Help ] };
+ key <I147> { [ XF86MenuKB ] };
+ key <I148> { [ XF86Calculator ] };
+ key <I150> { [ XF86Sleep ] };
+ key <I151> { [ XF86WakeUp ] };
+ key <I152> { [ XF86Explorer ] };
+ key <I153> { [ XF86Send ] };
+ key <I155> { [ XF86Xfer ] };
+ key <I156> { [ XF86Launch1 ] };
+ key <I157> { [ XF86Launch2 ] };
+ key <I158> { [ XF86WWW ] };
+ key <I159> { [ XF86DOS ] };
+ key <I160> { [ XF86ScreenSaver ] };
+ key <I161> { [ XF86RotateWindows ] };
+ key <I162> { [ XF86TaskPane ] };
+ key <I163> { [ XF86Mail ] };
+ key <I164> { [ XF86Favorites ] };
+ key <I165> { [ XF86MyComputer ] };
+ key <I166> { [ XF86Back ] };
+ key <I167> { [ XF86Forward ] };
+ key <I169> { [ XF86Eject ] };
+ key <I170> { [ XF86Eject, XF86Eject ] };
+ key <I171> { [ XF86AudioNext ] };
+ key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I173> { [ XF86AudioPrev ] };
+ key <I174> { [ XF86AudioStop, XF86Eject ] };
+ key <I175> { [ XF86AudioRecord ] };
+ key <I176> { [ XF86AudioRewind ] };
+ key <I177> { [ XF86Phone ] };
+ key <I179> { [ XF86Tools ] };
+ key <I180> { [ XF86HomePage ] };
+ key <I181> { [ XF86Reload ] };
+ key <I182> { [ XF86Close ] };
+ key <I185> { [ XF86ScrollUp ] };
+ key <I186> { [ XF86ScrollDown ] };
+ key <I187> { [ parenleft ] };
+ key <I188> { [ parenright ] };
+ key <I189> { [ XF86New ] };
+ key <I190> { [ Redo ] };
+ key <FK13> { [ XF86Tools ] };
+ key <FK14> { [ XF86Launch5 ] };
+ key <FK15> { [ XF86Launch6 ] };
+ key <FK16> { [ XF86Launch7 ] };
+ key <FK17> { [ XF86Launch8 ] };
+ key <FK18> { [ XF86Launch9 ] };
+ key <FK20> { [ XF86AudioMicMute ] };
+ key <FK21> { [ XF86TouchpadToggle ] };
+ key <FK22> { [ XF86TouchpadOn ] };
+ key <FK23> { [ XF86TouchpadOff ] };
+ key <MDSW> { [ Mode_switch ] };
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ key <META> { [ NoSymbol, Meta_L ] };
+ key <SUPR> { [ NoSymbol, Super_L ] };
+ key <HYPR> { [ NoSymbol, Hyper_L ] };
+ key <I208> { [ XF86AudioPlay ] };
+ key <I209> { [ XF86AudioPause ] };
+ key <I210> { [ XF86Launch3 ] };
+ key <I211> { [ XF86Launch4 ] };
+ key <I212> { [ XF86LaunchB ] };
+ key <I213> { [ XF86Suspend ] };
+ key <I214> { [ XF86Close ] };
+ key <I215> { [ XF86AudioPlay ] };
+ key <I216> { [ XF86AudioForward ] };
+ key <I218> { [ Print ] };
+ key <I220> { [ XF86WebCam ] };
+ key <I221> { [ XF86AudioPreset ] };
+ key <I223> { [ XF86Mail ] };
+ key <I224> { [ XF86Messenger ] };
+ key <I225> { [ XF86Search ] };
+ key <I226> { [ XF86Go ] };
+ key <I227> { [ XF86Finance ] };
+ key <I228> { [ XF86Game ] };
+ key <I229> { [ XF86Shop ] };
+ key <I231> { [ Cancel ] };
+ key <I232> { [ XF86MonBrightnessDown ] };
+ key <I233> { [ XF86MonBrightnessUp ] };
+ key <I234> { [ XF86AudioMedia ] };
+ key <I235> { [ XF86Display ] };
+ key <I236> { [ XF86KbdLightOnOff ] };
+ key <I237> { [ XF86KbdBrightnessDown ] };
+ key <I238> { [ XF86KbdBrightnessUp ] };
+ key <I239> { [ XF86Send ] };
+ key <I240> { [ XF86Reply ] };
+ key <I241> { [ XF86MailForward ] };
+ key <I242> { [ XF86Save ] };
+ key <I243> { [ XF86Documents ] };
+ key <I244> { [ XF86Battery ] };
+ key <I245> { [ XF86Bluetooth ] };
+ key <I246> { [ XF86WLAN ] };
+ key <I251> { [ XF86MonBrightnessCycle ] };
+ key <I254> { [ XF86WWAN ] };
+ key <I255> { [ XF86RFKill ] };
+ modifier_map Control { <LCTL> };
+ modifier_map Shift { <LFSH> };
+ modifier_map Shift { <RTSH> };
+ #modifier_map Mod1 { <LALT> };
+ modifier_map Mod1 { <LWIN> };
+
+ ## COMMENT THIS TO DEACTIVATE
+ #modifier_map Lock { <CAPS> };
+
+ modifier_map Mod2 { <NMLK> };
+ modifier_map Mod5 { <LVL3> };
+ modifier_map Control { <RCTL> };
+ #modifier_map Mod4 { <LWIN> };
+ modifier_map Mod4 { <LALT> };
+ modifier_map Mod4 { <RWIN> };
+ modifier_map Mod5 { <MDSW> };
+ modifier_map Mod1 { <META> };
+ modifier_map Mod4 { <SUPR> };
+ modifier_map Mod4 { <HYPR> };
+};
+
+};
diff --git a/old/solanum/xkb/symbols/xkb.dump b/old/solanum/xkb/symbols/xkb.dump
new file mode 100644
index 0000000..2c0bc8c
--- /dev/null
+++ b/old/solanum/xkb/symbols/xkb.dump
@@ -0,0 +1,1655 @@
+xkb_keymap {
+xkb_keycodes "(unnamed)" {
+ minimum = 8;
+ maximum = 255;
+ <ESC> = 9;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <BKSP> = 22;
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+ <LCTL> = 37;
+ <AC01> = 38;
+ <AC02> = 39;
+ <AC03> = 40;
+ <AC04> = 41;
+ <AC05> = 42;
+ <AC06> = 43;
+ <AC07> = 44;
+ <AC08> = 45;
+ <AC09> = 46;
+ <AC10> = 47;
+ <AC11> = 48;
+ <TLDE> = 49;
+ <LFSH> = 50;
+ <BKSL> = 51;
+ <AB01> = 52;
+ <AB02> = 53;
+ <AB03> = 54;
+ <AB04> = 55;
+ <AB05> = 56;
+ <AB06> = 57;
+ <AB07> = 58;
+ <AB08> = 59;
+ <AB09> = 60;
+ <AB10> = 61;
+ <RTSH> = 62;
+ <KPMU> = 63;
+ <LALT> = 64;
+ <SPCE> = 65;
+ <CAPS> = 66;
+ <FK01> = 67;
+ <FK02> = 68;
+ <FK03> = 69;
+ <FK04> = 70;
+ <FK05> = 71;
+ <FK06> = 72;
+ <FK07> = 73;
+ <FK08> = 74;
+ <FK09> = 75;
+ <FK10> = 76;
+ <NMLK> = 77;
+ <SCLK> = 78;
+ <KP7> = 79;
+ <KP8> = 80;
+ <KP9> = 81;
+ <KPSU> = 82;
+ <KP4> = 83;
+ <KP5> = 84;
+ <KP6> = 85;
+ <KPAD> = 86;
+ <KP1> = 87;
+ <KP2> = 88;
+ <KP3> = 89;
+ <KP0> = 90;
+ <KPDL> = 91;
+ <LVL3> = 92;
+ <LSGT> = 94;
+ <FK11> = 95;
+ <FK12> = 96;
+ <AB11> = 97;
+ <KATA> = 98;
+ <HIRA> = 99;
+ <HENK> = 100;
+ <HKTG> = 101;
+ <MUHE> = 102;
+ <JPCM> = 103;
+ <KPEN> = 104;
+ <RCTL> = 105;
+ <KPDV> = 106;
+ <PRSC> = 107;
+ <RALT> = 108;
+ <LNFD> = 109;
+ <HOME> = 110;
+ <UP> = 111;
+ <PGUP> = 112;
+ <LEFT> = 113;
+ <RGHT> = 114;
+ <END> = 115;
+ <DOWN> = 116;
+ <PGDN> = 117;
+ <INS> = 118;
+ <DELE> = 119;
+ <I120> = 120;
+ <MUTE> = 121;
+ <VOL-> = 122;
+ <VOL+> = 123;
+ <POWR> = 124;
+ <KPEQ> = 125;
+ <I126> = 126;
+ <PAUS> = 127;
+ <I128> = 128;
+ <I129> = 129;
+ <HNGL> = 130;
+ <HJCV> = 131;
+ <AE13> = 132;
+ <LWIN> = 133;
+ <RWIN> = 134;
+ <COMP> = 135;
+ <STOP> = 136;
+ <AGAI> = 137;
+ <PROP> = 138;
+ <UNDO> = 139;
+ <FRNT> = 140;
+ <COPY> = 141;
+ <OPEN> = 142;
+ <PAST> = 143;
+ <FIND> = 144;
+ <CUT> = 145;
+ <HELP> = 146;
+ <I147> = 147;
+ <I148> = 148;
+ <I149> = 149;
+ <I150> = 150;
+ <I151> = 151;
+ <I152> = 152;
+ <I153> = 153;
+ <I154> = 154;
+ <I155> = 155;
+ <I156> = 156;
+ <I157> = 157;
+ <I158> = 158;
+ <I159> = 159;
+ <I160> = 160;
+ <I161> = 161;
+ <I162> = 162;
+ <I163> = 163;
+ <I164> = 164;
+ <I165> = 165;
+ <I166> = 166;
+ <I167> = 167;
+ <I168> = 168;
+ <I169> = 169;
+ <I170> = 170;
+ <I171> = 171;
+ <I172> = 172;
+ <I173> = 173;
+ <I174> = 174;
+ <I175> = 175;
+ <I176> = 176;
+ <I177> = 177;
+ <I178> = 178;
+ <I179> = 179;
+ <I180> = 180;
+ <I181> = 181;
+ <I182> = 182;
+ <I183> = 183;
+ <I184> = 184;
+ <I185> = 185;
+ <I186> = 186;
+ <I187> = 187;
+ <I188> = 188;
+ <I189> = 189;
+ <I190> = 190;
+ <FK13> = 191;
+ <FK14> = 192;
+ <FK15> = 193;
+ <FK16> = 194;
+ <FK17> = 195;
+ <FK18> = 196;
+ <FK19> = 197;
+ <FK20> = 198;
+ <FK21> = 199;
+ <FK22> = 200;
+ <FK23> = 201;
+ <FK24> = 202;
+ <MDSW> = 203;
+ <ALT> = 204;
+ <META> = 205;
+ <SUPR> = 206;
+ <HYPR> = 207;
+ <I208> = 208;
+ <I209> = 209;
+ <I210> = 210;
+ <I211> = 211;
+ <I212> = 212;
+ <I213> = 213;
+ <I214> = 214;
+ <I215> = 215;
+ <I216> = 216;
+ <I217> = 217;
+ <I218> = 218;
+ <I219> = 219;
+ <I220> = 220;
+ <I221> = 221;
+ <I222> = 222;
+ <I223> = 223;
+ <I224> = 224;
+ <I225> = 225;
+ <I226> = 226;
+ <I227> = 227;
+ <I228> = 228;
+ <I229> = 229;
+ <I230> = 230;
+ <I231> = 231;
+ <I232> = 232;
+ <I233> = 233;
+ <I234> = 234;
+ <I235> = 235;
+ <I236> = 236;
+ <I237> = 237;
+ <I238> = 238;
+ <I239> = 239;
+ <I240> = 240;
+ <I241> = 241;
+ <I242> = 242;
+ <I243> = 243;
+ <I244> = 244;
+ <I245> = 245;
+ <I246> = 246;
+ <I247> = 247;
+ <I248> = 248;
+ <I249> = 249;
+ <I250> = 250;
+ <I251> = 251;
+ <I252> = 252;
+ <I253> = 253;
+ <I254> = 254;
+ <I255> = 255;
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+ indicator 4 = "Compose";
+ indicator 5 = "Kana";
+ indicator 6 = "Sleep";
+ indicator 7 = "Suspend";
+ indicator 8 = "Mute";
+ indicator 9 = "Misc";
+ indicator 10 = "Mail";
+ indicator 11 = "Charging";
+ indicator 12 = "Shift Lock";
+ indicator 13 = "Group 2";
+ indicator 14 = "Mouse Keys";
+ alias <AC12> = <BKSL>;
+ alias <MENU> = <COMP>;
+ alias <HZTG> = <TLDE>;
+ alias <LMTA> = <LWIN>;
+ alias <RMTA> = <RWIN>;
+ alias <ALGR> = <RALT>;
+ alias <KPPT> = <I129>;
+ alias <LatA> = <AD01>;
+ alias <LatZ> = <AD02>;
+ alias <LatE> = <AD03>;
+ alias <LatR> = <AD04>;
+ alias <LatT> = <AD05>;
+ alias <LatY> = <AD06>;
+ alias <LatU> = <AD07>;
+ alias <LatI> = <AD08>;
+ alias <LatO> = <AD09>;
+ alias <LatP> = <AD10>;
+ alias <LatQ> = <AC01>;
+ alias <LatS> = <AC02>;
+ alias <LatD> = <AC03>;
+ alias <LatF> = <AC04>;
+ alias <LatG> = <AC05>;
+ alias <LatH> = <AC06>;
+ alias <LatJ> = <AC07>;
+ alias <LatK> = <AC08>;
+ alias <LatL> = <AC09>;
+ alias <LatM> = <AC10>;
+ alias <LatW> = <AB01>;
+ alias <LatX> = <AB02>;
+ alias <LatC> = <AB03>;
+ alias <LatV> = <AB04>;
+ alias <LatB> = <AB05>;
+ alias <LatN> = <AB06>;
+};
+
+xkb_types "(unnamed)" {
+
+ virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
+
+ type "ONE_LEVEL" {
+ modifiers= none;
+ level_name[Level1]= "Any";
+ };
+ type "TWO_LEVEL" {
+ modifiers= Shift;
+ map[Shift]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ };
+ type "ALPHABETIC" {
+ modifiers= Shift+Lock;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Caps";
+ };
+ type "KEYPAD" {
+ modifiers= Shift+NumLock;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ };
+ type "SHIFT+ALT" {
+ modifiers= Shift+Alt;
+ map[Shift+Alt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift+Alt";
+ };
+ type "PC_SUPER_LEVEL2" {
+ modifiers= Mod4;
+ map[Mod4]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Super";
+ };
+ type "PC_CONTROL_LEVEL2" {
+ modifiers= Control;
+ map[Control]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Control";
+ };
+ type "PC_LCONTROL_LEVEL2" {
+ modifiers= LControl;
+ map[LControl]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "LControl";
+ };
+ type "PC_RCONTROL_LEVEL2" {
+ modifiers= RControl;
+ map[RControl]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "RControl";
+ };
+ type "PC_ALT_LEVEL2" {
+ modifiers= Alt;
+ map[Alt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Alt";
+ };
+ type "PC_LALT_LEVEL2" {
+ modifiers= LAlt;
+ map[LAlt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "LAlt";
+ };
+ type "PC_RALT_LEVEL2" {
+ modifiers= RAlt;
+ map[RAlt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "RAlt";
+ };
+ type "CTRL+ALT" {
+ modifiers= Shift+Control+Alt+LevelThree;
+ map[Shift]= Level2;
+ preserve[Shift]= Shift;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ preserve[Shift+LevelThree]= Shift;
+ map[Control+Alt]= Level5;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "Ctrl+Alt";
+ };
+ type "LOCAL_EIGHT_LEVEL" {
+ modifiers= Shift+Lock+Control+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Control]= Level5;
+ map[Shift+Lock+Control]= Level5;
+ map[Shift+Control]= Level6;
+ map[Lock+Control]= Level6;
+ map[Control+LevelThree]= Level7;
+ map[Shift+Lock+Control+LevelThree]= Level7;
+ map[Shift+Control+LevelThree]= Level8;
+ map[Lock+Control+LevelThree]= Level8;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Level3";
+ level_name[Level4]= "Shift Level3";
+ level_name[Level5]= "Ctrl";
+ level_name[Level6]= "Shift Ctrl";
+ level_name[Level7]= "Level3 Ctrl";
+ level_name[Level8]= "Shift Level3 Ctrl";
+ };
+ type "THREE_LEVEL" {
+ modifiers= Shift+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Level3";
+ };
+ type "EIGHT_LEVEL" {
+ modifiers= Shift+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Shift+Lock+LevelThree]= Level3;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[Lock+LevelFive]= Level6;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[Lock+LevelThree+LevelFive]= Level8;
+ map[Shift+Lock+LevelThree+LevelFive]= Level7;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
+ modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ preserve[Shift+LevelFive]= Shift;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[NumLock]= Level5;
+ map[Shift+NumLock]= Level6;
+ preserve[Shift+NumLock]= Shift;
+ map[NumLock+LevelThree]= Level7;
+ map[Shift+NumLock+LevelThree]= Level8;
+ map[Shift+NumLock+LevelFive]= Level2;
+ map[NumLock+LevelThree+LevelFive]= Level3;
+ map[Shift+NumLock+LevelThree+LevelFive]= Level4;
+ map[Shift+Lock]= Level2;
+ map[Lock+LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level4;
+ map[Lock+LevelFive]= Level5;
+ map[Shift+Lock+LevelFive]= Level6;
+ preserve[Shift+Lock+LevelFive]= Shift;
+ map[Lock+LevelThree+LevelFive]= Level7;
+ map[Shift+Lock+LevelThree+LevelFive]= Level8;
+ map[Lock+NumLock]= Level5;
+ map[Shift+Lock+NumLock]= Level6;
+ preserve[Shift+Lock+NumLock]= Shift;
+ map[Lock+NumLock+LevelThree]= Level7;
+ map[Shift+Lock+NumLock+LevelThree]= Level8;
+ map[Shift+Lock+NumLock+LevelFive]= Level2;
+ map[Lock+NumLock+LevelThree+LevelFive]= Level3;
+ map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
+ modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ preserve[Shift+LevelFive]= Shift;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[NumLock]= Level5;
+ map[Shift+NumLock]= Level6;
+ preserve[Shift+NumLock]= Shift;
+ map[NumLock+LevelThree]= Level7;
+ map[Shift+NumLock+LevelThree]= Level8;
+ map[Shift+NumLock+LevelFive]= Level2;
+ map[NumLock+LevelThree+LevelFive]= Level3;
+ map[Shift+NumLock+LevelThree+LevelFive]= Level4;
+ map[Lock]= Level2;
+ map[Lock+LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level4;
+ map[Lock+LevelFive]= Level5;
+ map[Shift+Lock+LevelFive]= Level6;
+ map[Lock+LevelThree+LevelFive]= Level7;
+ map[Shift+Lock+LevelThree+LevelFive]= Level8;
+ map[Lock+NumLock]= Level5;
+ map[Shift+Lock+NumLock]= Level6;
+ map[Lock+NumLock+LevelThree]= Level7;
+ map[Shift+Lock+NumLock+LevelThree]= Level8;
+ map[Lock+NumLock+LevelFive]= Level2;
+ map[Lock+NumLock+LevelThree+LevelFive]= Level4;
+ map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_SEMIALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level4;
+ preserve[Shift+Lock+LevelThree]= Lock;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[Lock+LevelFive]= Level6;
+ preserve[Lock+LevelFive]= Lock;
+ map[Shift+Lock+LevelFive]= Level6;
+ preserve[Shift+Lock+LevelFive]= Lock;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[Lock+LevelThree+LevelFive]= Level7;
+ preserve[Lock+LevelThree+LevelFive]= Lock;
+ map[Shift+Lock+LevelThree+LevelFive]= Level8;
+ preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "FOUR_LEVEL" {
+ modifiers= Shift+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Shift+Lock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level4;
+ preserve[Shift+Lock+LevelThree]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_MIXED_KEYPAD" {
+ modifiers= Shift+NumLock+LevelThree;
+ map[NumLock]= Level2;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[NumLock+LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Shift+NumLock+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_X" {
+ modifiers= Shift+Control+Alt+LevelThree;
+ map[LevelThree]= Level2;
+ map[Shift+LevelThree]= Level3;
+ map[Control+Alt]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Alt Base";
+ level_name[Level3]= "Shift Alt";
+ level_name[Level4]= "Ctrl+Alt";
+ };
+ type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level4;
+ preserve[Lock]= Lock;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "AltGr Base";
+ level_name[Level4]= "Shift AltGr";
+ };
+ type "FOUR_LEVEL_PLUS_LOCK" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock]= Level5;
+ map[Shift+Lock]= Level2;
+ map[Lock+LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "Lock";
+ };
+ type "FOUR_LEVEL_KEYPAD" {
+ modifiers= Shift+NumLock+LevelThree;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[NumLock+LevelThree]= Level4;
+ map[Shift+NumLock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Alt Number";
+ };
+};
+
+xkb_compatibility "(unnamed)" {
+
+ virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
+
+ interpret.useModMapMods= AnyLevel;
+ interpret.repeat= False;
+ interpret.locking= False;
+ interpret ISO_Level2_Latch+Exactly(Shift) {
+ useModMapMods=level1;
+ action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
+ };
+ interpret Shift_Lock+AnyOf(Shift+Lock) {
+ action= LockMods(modifiers=Shift);
+ };
+ interpret Num_Lock+AnyOf(all) {
+ virtualModifier= NumLock;
+ action= LockMods(modifiers=NumLock);
+ };
+ interpret ISO_Level3_Shift+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= SetMods(modifiers=LevelThree,clearLocks);
+ };
+ interpret ISO_Level3_Latch+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
+ };
+ interpret ISO_Level3_Lock+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= LockMods(modifiers=LevelThree);
+ };
+ interpret Alt_L+AnyOf(all) {
+ virtualModifier= Alt;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Alt_R+AnyOf(all) {
+ virtualModifier= Alt;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Meta_L+AnyOf(all) {
+ virtualModifier= Meta;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Meta_R+AnyOf(all) {
+ virtualModifier= Meta;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Super_L+AnyOf(all) {
+ virtualModifier= Super;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Super_R+AnyOf(all) {
+ virtualModifier= Super;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Hyper_L+AnyOf(all) {
+ virtualModifier= Hyper;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Hyper_R+AnyOf(all) {
+ virtualModifier= Hyper;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Scroll_Lock+AnyOf(all) {
+ virtualModifier= ScrollLock;
+ action= LockMods(modifiers=modMapMods);
+ };
+ interpret ISO_Level5_Shift+AnyOf(all) {
+ virtualModifier= LevelFive;
+ useModMapMods=level1;
+ action= SetMods(modifiers=LevelFive,clearLocks);
+ };
+ interpret ISO_Level5_Latch+AnyOf(all) {
+ virtualModifier= LevelFive;
+ useModMapMods=level1;
+ action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
+ };
+ interpret ISO_Level5_Lock+AnyOf(all) {
+ virtualModifier= LevelFive;
+ useModMapMods=level1;
+ action= LockMods(modifiers=LevelFive);
+ };
+ interpret Mode_switch+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= SetGroup(group=+1);
+ };
+ interpret ISO_Level3_Shift+AnyOfOrNone(all) {
+ action= SetMods(modifiers=LevelThree,clearLocks);
+ };
+ interpret ISO_Level3_Latch+AnyOfOrNone(all) {
+ action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
+ };
+ interpret ISO_Level3_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=LevelThree);
+ };
+ interpret ISO_Group_Latch+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LatchGroup(group=2);
+ };
+ interpret ISO_Next_Group+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LockGroup(group=+1);
+ };
+ interpret ISO_Prev_Group+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LockGroup(group=-1);
+ };
+ interpret ISO_First_Group+AnyOfOrNone(all) {
+ action= LockGroup(group=1);
+ };
+ interpret ISO_Last_Group+AnyOfOrNone(all) {
+ action= LockGroup(group=2);
+ };
+ interpret KP_1+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret KP_End+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret KP_2+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=+1);
+ };
+ interpret KP_Down+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=+1);
+ };
+ interpret KP_3+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret KP_Next+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret KP_4+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+0);
+ };
+ interpret KP_Left+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+0);
+ };
+ interpret KP_6+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+0);
+ };
+ interpret KP_Right+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+0);
+ };
+ interpret KP_7+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret KP_Home+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret KP_8+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=-1);
+ };
+ interpret KP_Up+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=-1);
+ };
+ interpret KP_9+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret KP_Prior+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret KP_5+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret KP_Begin+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret KP_F2+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret KP_Divide+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret KP_F3+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret KP_Multiply+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret KP_F4+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=3);
+ };
+ interpret KP_Subtract+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=3);
+ };
+ interpret KP_Separator+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret KP_Add+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret KP_0+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=lock);
+ };
+ interpret KP_Insert+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=lock);
+ };
+ interpret KP_Decimal+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=unlock);
+ };
+ interpret KP_Delete+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=unlock);
+ };
+ interpret F25+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret F26+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret F27+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret F29+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret F31+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret F33+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret F35+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
+ action= PtrBtn(button=default);
+ };
+ interpret Pointer_Button1+AnyOfOrNone(all) {
+ action= PtrBtn(button=1);
+ };
+ interpret Pointer_Button2+AnyOfOrNone(all) {
+ action= PtrBtn(button=2);
+ };
+ interpret Pointer_Button3+AnyOfOrNone(all) {
+ action= PtrBtn(button=3);
+ };
+ interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret Pointer_DblClick1+AnyOfOrNone(all) {
+ action= PtrBtn(button=1,count=2);
+ };
+ interpret Pointer_DblClick2+AnyOfOrNone(all) {
+ action= PtrBtn(button=2,count=2);
+ };
+ interpret Pointer_DblClick3+AnyOfOrNone(all) {
+ action= PtrBtn(button=3,count=2);
+ };
+ interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=default,affect=both);
+ };
+ interpret Pointer_Drag1+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=1,affect=both);
+ };
+ interpret Pointer_Drag2+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=2,affect=both);
+ };
+ interpret Pointer_Drag3+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=3,affect=both);
+ };
+ interpret Pointer_EnableKeys+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeys);
+ };
+ interpret Pointer_Accelerate+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+ interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
+ action= SetPtrDflt(affect=button,button=+1);
+ };
+ interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
+ action= SetPtrDflt(affect=button,button=-1);
+ };
+ interpret AccessX_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AccessXKeys);
+ };
+ interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AccessXFeedback);
+ };
+ interpret RepeatKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=RepeatKeys);
+ };
+ interpret SlowKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=SlowKeys);
+ };
+ interpret BounceKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=BounceKeys);
+ };
+ interpret StickyKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=StickyKeys);
+ };
+ interpret MouseKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeys);
+ };
+ interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+ interpret Overlay1_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=none);
+ };
+ interpret Overlay2_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=none);
+ };
+ interpret AudibleBell_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AudibleBell);
+ };
+ interpret Terminate_Server+AnyOfOrNone(all) {
+ action= Terminate();
+ };
+ interpret Alt_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Alt,clearLocks);
+ };
+ interpret Alt_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Alt,clearLocks);
+ };
+ interpret Meta_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Meta,clearLocks);
+ };
+ interpret Meta_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Meta,clearLocks);
+ };
+ interpret Super_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Super,clearLocks);
+ };
+ interpret Super_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Super,clearLocks);
+ };
+ interpret Hyper_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Hyper,clearLocks);
+ };
+ interpret Hyper_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Hyper,clearLocks);
+ };
+ interpret Shift_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Shift,clearLocks);
+ };
+ interpret XF86Switch_VT_1+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=1,!same);
+ };
+ interpret XF86Switch_VT_2+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=2,!same);
+ };
+ interpret XF86Switch_VT_3+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=3,!same);
+ };
+ interpret XF86Switch_VT_4+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=4,!same);
+ };
+ interpret XF86Switch_VT_5+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=5,!same);
+ };
+ interpret XF86Switch_VT_6+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=6,!same);
+ };
+ interpret XF86Switch_VT_7+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=7,!same);
+ };
+ interpret XF86Switch_VT_8+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=8,!same);
+ };
+ interpret XF86Switch_VT_9+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=9,!same);
+ };
+ interpret XF86Switch_VT_10+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=10,!same);
+ };
+ interpret XF86Switch_VT_11+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=11,!same);
+ };
+ interpret XF86Switch_VT_12+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=12,!same);
+ };
+ interpret XF86LogGrabInfo+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
+ };
+ interpret XF86LogWindowTree+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
+ };
+ interpret XF86Next_VMode+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
+ };
+ interpret XF86Prev_VMode+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
+ };
+ interpret ISO_Level5_Shift+AnyOfOrNone(all) {
+ action= SetMods(modifiers=LevelFive,clearLocks);
+ };
+ interpret ISO_Level5_Latch+AnyOfOrNone(all) {
+ action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
+ };
+ interpret ISO_Level5_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=LevelFive);
+ };
+ interpret Caps_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=Lock);
+ };
+ interpret Any+Exactly(Lock) {
+ action= LockMods(modifiers=Lock);
+ };
+ interpret Any+AnyOf(all) {
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ indicator "Caps Lock" {
+ whichModState= locked;
+ modifiers= Lock;
+ };
+ indicator "Num Lock" {
+ whichModState= locked;
+ modifiers= NumLock;
+ };
+ indicator "Scroll Lock" {
+ whichModState= locked;
+ modifiers= ScrollLock;
+ };
+ indicator "Shift Lock" {
+ whichModState= locked;
+ modifiers= Shift;
+ };
+ indicator "Group 2" {
+ groups= 0xfe;
+ };
+ indicator "Mouse Keys" {
+ controls= mouseKeys;
+ };
+};
+
+xkb_symbols "(unnamed)" {
+
+ name[group1]="French (alt.)";
+
+ key <ESC> { [ Escape ] };
+ key <AE01> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ ampersand, 1, dead_caron, dead_ogonek ]
+ };
+ key <AE02> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ eacute, 2, asciitilde, Eacute ]
+ };
+ key <AE03> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ quotedbl, 3, numbersign, dead_breve ]
+ };
+ key <AE04> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ apostrophe, 4, braceleft, U2014 ]
+ };
+ key <AE05> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ parenleft, 5, bracketleft, U2013 ]
+ };
+ key <AE06> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ minus, 6, bar, U2011 ]
+ };
+ key <AE07> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ egrave, 7, grave, Egrave ]
+ };
+ key <AE08> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ underscore, 8, backslash, trademark ]
+ };
+ key <AE09> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ ccedilla, 9, asciicircum, Ccedilla ]
+ };
+ key <AE10> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ agrave, 0, at, Agrave ]
+ };
+ key <AE11> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ parenright, degree, bracketright, notequal ]
+ };
+ key <AE12> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ equal, plus, braceright, plusminus ]
+ };
+ key <BKSP> { [ BackSpace, BackSpace ] };
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ a, A, ae, AE ]
+ };
+ key <AD02> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ z, Z, acircumflex, Acircumflex ]
+ };
+ key <AD03> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ e, E, EuroSign, cent ]
+ };
+ key <AD04> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ r, R, ecircumflex, Ecircumflex ]
+ };
+ key <AD05> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ t, T, thorn, THORN ]
+ };
+ key <AD06> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ y, Y, ydiaeresis, Ydiaeresis ]
+ };
+ key <AD07> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ u, U, ucircumflex, Ucircumflex ]
+ };
+ key <AD08> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ i, I, icircumflex, Icircumflex ]
+ };
+ key <AD09> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ o, O, oe, OE ]
+ };
+ key <AD10> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ p, P, ocircumflex, Ocircumflex ]
+ };
+ key <AD11> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ]
+ };
+ key <AD12> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ dollar, sterling, oslash, Oslash ]
+ };
+ key <RTRN> { [ Return ] };
+ key <LCTL> { [ Control_L ] };
+ key <AC01> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ q, Q, adiaeresis, Adiaeresis ]
+ };
+ key <AC02> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ s, S, ssharp, doublelowquotemark ]
+ };
+ key <AC03> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ d, D, ediaeresis, Ediaeresis ]
+ };
+ key <AC04> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ f, F, leftsinglequotemark, singlelowquotemark ]
+ };
+ key <AC05> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ g, G, rightsinglequotemark, yen ]
+ };
+ key <AC06> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ h, H, eth, ETH ]
+ };
+ key <AC07> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ j, J, udiaeresis, Udiaeresis ]
+ };
+ key <AC08> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ k, K, idiaeresis, Idiaeresis ]
+ };
+ key <AC09> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ l, L, U0140, U013F ]
+ };
+ key <AC10> {
+ type= "FOUR_LEVEL_ALPHABETIC",
+ symbols[Group1]= [ m, M, odiaeresis, Odiaeresis ]
+ };
+ key <AC11> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ ugrave, percent, dead_acute, Ugrave ]
+ };
+ key <TLDE> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ twosuperior, threesuperior, onesuperior, dead_cedilla ]
+ };
+ key <LFSH> { [ Shift_L ] };
+ key <BKSL> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ asterisk, mu, dead_grave, dead_macron ]
+ };
+ key <AB01> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ w, W, guillemotleft, leftdoublequotemark ]
+ };
+ key <AB02> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ x, X, guillemotright, rightdoublequotemark ]
+ };
+ key <AB03> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ c, C, copyright, registered ]
+ };
+ key <AB04> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ v, V, U202F, leftarrow ]
+ };
+ key <AB05> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ b, B, downarrow, uparrow ]
+ };
+ key <AB06> {
+ type= "FOUR_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ n, N, notsign, rightarrow ]
+ };
+ key <AB07> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ comma, question, questiondown, U2026 ]
+ };
+ key <AB08> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ semicolon, period, multiply, U22C5 ]
+ };
+ key <AB09> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ colon, slash, division, U2215 ]
+ };
+ key <AB10> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ exclam, section, exclamdown, U2212 ]
+ };
+ key <RTSH> { [ Shift_R ] };
+ key <KPMU> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Multiply, U22C5, 0x10000d7, VoidSymbol, XF86ClearGrab ]
+ };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <SPCE> {
+ type= "EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, U202F, NoSymbol, NoSymbol ]
+ };
+ key <CAPS> { [ Caps_Lock ] };
+ key <FK01> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
+ };
+ key <FK02> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
+ };
+ key <FK03> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
+ };
+ key <FK04> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
+ };
+ key <FK05> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
+ };
+ key <FK06> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
+ };
+ key <FK07> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
+ };
+ key <FK08> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
+ };
+ key <FK09> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
+ };
+ key <FK10> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
+ };
+ key <NMLK> { [ Num_Lock ] };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <KP7> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Home, KP_7, U2196, U21D6 ]
+ };
+ key <KP8> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Up, KP_8, U2191, U21D1 ]
+ };
+ key <KP9> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Prior, KP_9, U2197, U21D7 ]
+ };
+ key <KPSU> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Subtract, U2212, U2212, VoidSymbol, XF86Prev_VMode ]
+ };
+ key <KP4> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Left, KP_4, U2190, U21D0 ]
+ };
+ key <KP5> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Begin, KP_5, U2194, U21D4 ]
+ };
+ key <KP6> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Right, KP_6, U2192, U21D2 ]
+ };
+ key <KPAD> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Add, 0x100002b, 0x100002b, VoidSymbol, XF86Next_VMode ]
+ };
+ key <KP1> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_End, KP_1, U2199, U21D9 ]
+ };
+ key <KP2> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Down, KP_2, U2193, U21D3 ]
+ };
+ key <KP3> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Next, KP_3, U2198, U21D8 ]
+ };
+ key <KP0> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Insert, KP_0, U2195, U21D5 ]
+ };
+ key <KPDL> {
+ type= "FOUR_LEVEL_MIXED_KEYPAD",
+ symbols[Group1]= [ KP_Delete, period, comma, U202F ]
+ };
+ key <LVL3> {
+ type= "ONE_LEVEL",
+ symbols[Group1]= [ ISO_Level3_Shift ]
+ };
+ key <LSGT> {
+ type= "FOUR_LEVEL",
+ symbols[Group1]= [ less, greater, lessthanequal, greaterthanequal ]
+ };
+ key <FK11> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
+ };
+ key <FK12> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
+ };
+ key <KATA> { [ Katakana ] };
+ key <HIRA> { [ Hiragana ] };
+ key <HENK> { [ Henkan_Mode ] };
+ key <HKTG> { [ Hiragana_Katakana ] };
+ key <MUHE> { [ Muhenkan ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <RCTL> { [ Control_R ] };
+ key <KPDV> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ KP_Divide, U2215, 0x10000f7, VoidSymbol, XF86Ungrab ]
+ };
+ key <PRSC> {
+ type= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <RALT> {
+ type= "ONE_LEVEL",
+ symbols[Group1]= [ ISO_Level3_Shift ]
+ };
+ key <LNFD> { [ Linefeed ] };
+ key <HOME> { [ Home ] };
+ key <UP> { [ Up ] };
+ key <PGUP> { [ Prior ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <END> { [ End ] };
+ key <DOWN> { [ Down ] };
+ key <PGDN> { [ Next ] };
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <MUTE> { [ XF86AudioMute ] };
+ key <VOL-> { [ XF86AudioLowerVolume ] };
+ key <VOL+> { [ XF86AudioRaiseVolume ] };
+ key <POWR> { [ XF86PowerOff ] };
+ key <KPEQ> { [ KP_Equal ] };
+ key <I126> { [ plusminus ] };
+ key <PAUS> {
+ type= "PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <I128> { [ XF86LaunchA ] };
+ key <I129> { [ KP_Decimal, KP_Decimal ] };
+ key <HNGL> { [ Hangul ] };
+ key <HJCV> { [ Hangul_Hanja ] };
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ key <COMP> { [ Menu ] };
+ key <STOP> { [ Cancel ] };
+ key <AGAI> { [ Redo ] };
+ key <PROP> { [ SunProps ] };
+ key <UNDO> { [ Undo ] };
+ key <FRNT> { [ SunFront ] };
+ key <COPY> { [ XF86Copy ] };
+ key <OPEN> { [ XF86Open ] };
+ key <PAST> { [ XF86Paste ] };
+ key <FIND> { [ Find ] };
+ key <CUT> { [ XF86Cut ] };
+ key <HELP> { [ Help ] };
+ key <I147> { [ XF86MenuKB ] };
+ key <I148> { [ XF86Calculator ] };
+ key <I150> { [ XF86Sleep ] };
+ key <I151> { [ XF86WakeUp ] };
+ key <I152> { [ XF86Explorer ] };
+ key <I153> { [ XF86Send ] };
+ key <I155> { [ XF86Xfer ] };
+ key <I156> { [ XF86Launch1 ] };
+ key <I157> { [ XF86Launch2 ] };
+ key <I158> { [ XF86WWW ] };
+ key <I159> { [ XF86DOS ] };
+ key <I160> { [ XF86ScreenSaver ] };
+ key <I161> { [ XF86RotateWindows ] };
+ key <I162> { [ XF86TaskPane ] };
+ key <I163> { [ XF86Mail ] };
+ key <I164> { [ XF86Favorites ] };
+ key <I165> { [ XF86MyComputer ] };
+ key <I166> { [ XF86Back ] };
+ key <I167> { [ XF86Forward ] };
+ key <I169> { [ XF86Eject ] };
+ key <I170> { [ XF86Eject, XF86Eject ] };
+ key <I171> { [ XF86AudioNext ] };
+ key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I173> { [ XF86AudioPrev ] };
+ key <I174> { [ XF86AudioStop, XF86Eject ] };
+ key <I175> { [ XF86AudioRecord ] };
+ key <I176> { [ XF86AudioRewind ] };
+ key <I177> { [ XF86Phone ] };
+ key <I179> { [ XF86Tools ] };
+ key <I180> { [ XF86HomePage ] };
+ key <I181> { [ XF86Reload ] };
+ key <I182> { [ XF86Close ] };
+ key <I185> { [ XF86ScrollUp ] };
+ key <I186> { [ XF86ScrollDown ] };
+ key <I187> { [ parenleft ] };
+ key <I188> { [ parenright ] };
+ key <I189> { [ XF86New ] };
+ key <I190> { [ Redo ] };
+ key <FK13> { [ XF86Tools ] };
+ key <FK14> { [ XF86Launch5 ] };
+ key <FK15> { [ XF86Launch6 ] };
+ key <FK16> { [ XF86Launch7 ] };
+ key <FK17> { [ XF86Launch8 ] };
+ key <FK18> { [ XF86Launch9 ] };
+ key <FK20> { [ XF86AudioMicMute ] };
+ key <FK21> { [ XF86TouchpadToggle ] };
+ key <FK22> { [ XF86TouchpadOn ] };
+ key <FK23> { [ XF86TouchpadOff ] };
+ key <MDSW> { [ Mode_switch ] };
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ key <META> { [ NoSymbol, Meta_L ] };
+ key <SUPR> { [ NoSymbol, Super_L ] };
+ key <HYPR> { [ NoSymbol, Hyper_L ] };
+ key <I208> { [ XF86AudioPlay ] };
+ key <I209> { [ XF86AudioPause ] };
+ key <I210> { [ XF86Launch3 ] };
+ key <I211> { [ XF86Launch4 ] };
+ key <I212> { [ XF86LaunchB ] };
+ key <I213> { [ XF86Suspend ] };
+ key <I214> { [ XF86Close ] };
+ key <I215> { [ XF86AudioPlay ] };
+ key <I216> { [ XF86AudioForward ] };
+ key <I218> { [ Print ] };
+ key <I220> { [ XF86WebCam ] };
+ key <I221> { [ XF86AudioPreset ] };
+ key <I223> { [ XF86Mail ] };
+ key <I224> { [ XF86Messenger ] };
+ key <I225> { [ XF86Search ] };
+ key <I226> { [ XF86Go ] };
+ key <I227> { [ XF86Finance ] };
+ key <I228> { [ XF86Game ] };
+ key <I229> { [ XF86Shop ] };
+ key <I231> { [ Cancel ] };
+ key <I232> { [ XF86MonBrightnessDown ] };
+ key <I233> { [ XF86MonBrightnessUp ] };
+ key <I234> { [ XF86AudioMedia ] };
+ key <I235> { [ XF86Display ] };
+ key <I236> { [ XF86KbdLightOnOff ] };
+ key <I237> { [ XF86KbdBrightnessDown ] };
+ key <I238> { [ XF86KbdBrightnessUp ] };
+ key <I239> { [ XF86Send ] };
+ key <I240> { [ XF86Reply ] };
+ key <I241> { [ XF86MailForward ] };
+ key <I242> { [ XF86Save ] };
+ key <I243> { [ XF86Documents ] };
+ key <I244> { [ XF86Battery ] };
+ key <I245> { [ XF86Bluetooth ] };
+ key <I246> { [ XF86WLAN ] };
+ key <I251> { [ XF86MonBrightnessCycle ] };
+ key <I254> { [ XF86WWAN ] };
+ key <I255> { [ XF86RFKill ] };
+ modifier_map Control { <LCTL> };
+ modifier_map Shift { <LFSH> };
+ modifier_map Shift { <RTSH> };
+ modifier_map Mod1 { <LALT> };
+ modifier_map Lock { <CAPS> };
+ modifier_map Mod2 { <NMLK> };
+ modifier_map Mod5 { <LVL3> };
+ modifier_map Control { <RCTL> };
+ modifier_map Mod4 { <LWIN> };
+ modifier_map Mod4 { <RWIN> };
+ modifier_map Mod5 { <MDSW> };
+ modifier_map Mod1 { <META> };
+ modifier_map Mod4 { <SUPR> };
+ modifier_map Mod4 { <HYPR> };
+};
+
+};