From 3b177d8c95f70db8e27fd046711f480e81ea3fa7 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Sun, 16 Apr 2023 17:06:22 -0500 Subject: uhhhh --- bash/aliases.bash | 2 +- bash/completion.bash | 4 +- bash/emacs.bash | 2 +- bash/functions.bash | 2 +- bash/prompt.bash | 25 +++-- bash/z.bash | 2 +- bootstrap.manifest | 7 +- chicken/csirc | 3 +- git/config | 2 + keepassxc/roaming.ini | 17 ++- notmuch/config | 103 ------------------- notmuch/post-new.tags | 4 +- npm/npmrc | 1 - profile/01_path.sh | 2 +- profile/manpath.sh | 4 +- profile/nodejs.sh | 2 +- profile/profile | 5 +- profile/python.sh | 5 +- profile/xdg.sh | 55 ++++++++-- xorg/xmodmap | 279 +++++++++++++++++++++++++++++++++++++++++++++++++- 20 files changed, 382 insertions(+), 144 deletions(-) delete mode 100644 notmuch/config diff --git a/bash/aliases.bash b/bash/aliases.bash index 0132d33..6515873 100644 --- a/bash/aliases.bash +++ b/bash/aliases.bash @@ -20,7 +20,7 @@ alias ll='ls -l' alias tree='tree -F' # make locally -alias lake='make PREFIX=$LOCAL_PATH ' +alias lake='make PREFIX=$LOCAL_PREFIX ' # bash meta alias rebash='source ~/.bash_profile' diff --git a/bash/completion.bash b/bash/completion.bash index 764463e..2b3ca37 100644 --- a/bash/completion.bash +++ b/bash/completion.bash @@ -2,14 +2,14 @@ # Source bash completion libraries POSSIBLE_COMPLETION_FILES=( - /etc/bash_completion # Debian + /etc/bash_completion # Debian /etc/profile.d/bash_completion.sh # Alpine # I'm sure there are many more + /usr/share/bash-completion/bash_completion ) for candidate in "${POSSIBLE_COMPLETION_FILES[@]}"; do if [[ -r "$candidate" ]]; then source "$candidate" - break # XXX: Do I want this? fi done diff --git a/bash/emacs.bash b/bash/emacs.bash index 188c64f..3b7bb64 100644 --- a/bash/emacs.bash +++ b/bash/emacs.bash @@ -18,7 +18,7 @@ setup_vterm() { setup_emacs_shell() { export PAGER=cat - export PS1='\w \$ ' + # export PS1='\w \$ ' } # CONSIDER: Could this go in ~/.profile ? diff --git a/bash/functions.bash b/bash/functions.bash index 97f89b8..debea2c 100644 --- a/bash/functions.bash +++ b/bash/functions.bash @@ -81,7 +81,7 @@ f() { } words() { - grep "$1" /usr/share/dict/words + grep -E "$1" /usr/share/dict/words } if ! command -v dict >/dev/null 2>&1; then diff --git a/bash/prompt.bash b/bash/prompt.bash index f09d3ab..bee5223 100644 --- a/bash/prompt.bash +++ b/bash/prompt.bash @@ -26,13 +26,7 @@ __prompt_exit_code() { # __prompt_exit_code CODES... printf '%s\n' "$ec" } -two_line_prompt() { - PS1= - - # user, host, and cwd - PROMPT_DIRTRIM=3 # how many dirs above current to print (rest are '...') - PS1+='\[\e[0;46m\]\u@\h \w' - +git_prompt_integration() { # git bit # see https://unix.stackexchange.com/questions/278206 possible_git_prompt_locations=( @@ -45,10 +39,18 @@ two_line_prompt() { for file in "${possible_git_prompt_locations[@]}"; do if [[ -f "$file" ]]; then source "$file" && - PS1+='\[\e[0m\]\[\e[35m\]$(__git_ps1)' + PS1+='\[\e[35m\]$(__git_ps1) \[\e[0m\]' break fi done +} + +two_line_prompt() { + PS1= + + # user, host, and cwd + PROMPT_DIRTRIM=3 # how many dirs above current to print (rest are '...') + PS1+='\[\e[0;46m\]\u@\h \w' # newline PS1+='\[\e[0m\]\n' @@ -62,7 +64,12 @@ two_line_prompt() { smiley_prompt() { __prompt_ec() { case $? in 0) echo '^_^' ;; *) echo ';_;' ;; esac } - PS1='\[\e[1m\]$(__prompt_exit_code "ok=^_^" "fail=;_;") \w\[\e[0m\] ' + + PS1='\[\e[33m\]$(__prompt_exit_code "ok=^_^" "fail=;_;")' + PS1+=' \w\[\e[0m\]' + + git_prompt_integration + PS1+='\[$(__prompt_term_title "$USER@$(hostname): $PWD")\]' PS1+='\$ ' } diff --git a/bash/z.bash b/bash/z.bash index d84fd55..0f644c7 100644 --- a/bash/z.bash +++ b/bash/z.bash @@ -3,7 +3,7 @@ zlua="$HOME/misc/z.lua/z.lua" -if [ -f "$zlua" ]; then +if [ -x "$zlua" ]; then export _ZL_DATA="${XDG_DATA_HOME:-$LOCAL_PREFIX/share}/zlua" eval "$(lua "$zlua" --init bash enhanced once)" fi diff --git a/bootstrap.manifest b/bootstrap.manifest index 28358c3..657095d 100644 --- a/bootstrap.manifest +++ b/bootstrap.manifest @@ -1,6 +1,6 @@ ### bootstrap.manifest -*- conf -*- -# TAB-separated SOURCEs and DESTINATIONs for configuration-file links to ~. -# see bootstrap.sh for details. +# Whitespace-separated SOURCEs and DESTINATIONs for configuration-file links to +# $HOME. See bootstrap.sh for details. # Custom XDG Directories (just in case they're hardcoded somewhere) ~/etc ~/.config @@ -21,3 +21,6 @@ mail/mbsyncrc ~/.mbsyncrc xorg/xinitrc ~/.xinitrc xorg/xsession ~/.xsession xorg/xcompose ~/.Xcompose + +# SBCL +sbcl/sbclrc ~/.sbclrc \ No newline at end of file diff --git a/chicken/csirc b/chicken/csirc index 8cc74cf..9ff6c9d 100644 --- a/chicken/csirc +++ b/chicken/csirc @@ -3,8 +3,7 @@ (set! ##sys#notices-enabled #f) (import (chicken load)) (load-verbose #f) -(import (r7rs) - (utf8)) +(import (utf8)) ;; set up breadline (let () (import (chicken format)) diff --git a/git/config b/git/config index 62455ef..d71289b 100644 --- a/git/config +++ b/git/config @@ -43,6 +43,8 @@ # Shortened commonalities st = status -bs ac = !git add . && git commit -m + yeet = push + yoink = pull # diffing [diff "lisp"] diff --git a/keepassxc/roaming.ini b/keepassxc/roaming.ini index 76df3be..53417cd 100644 --- a/keepassxc/roaming.ini +++ b/keepassxc/roaming.ini @@ -3,6 +3,8 @@ BackupBeforeSave=true ConfigVersion=2 GlobalAutoTypeKey=61 GlobalAutoTypeModifiers=469762048 +MinimizeAfterUnlock=true +NumberOfRememberedLastDatabases=1 UseAtomicSaves=false [Browser] @@ -11,18 +13,28 @@ CustomProxyLocation= Enabled=true [FdoSecrets] +ConfirmAccessItem=false Enabled=true +ShowNotification=false [GUI] AdvancedSettings=true ApplicationTheme=classic CompactMode=false +MinimizeOnClose=true +MinimizeOnStartup=true +MinimizeToTray=true ShowExpiredEntriesOnDatabaseUnlock=false -TrayIconAppearance=monochrome-light +ShowTrayIcon=true +TrayIconAppearance=colorful [PasswordGenerator] -AdditionalChars= +AdditionalChars=!@#$%^&*() +AdvancedMode=true ExcludedChars= +Length=32 +Logograms=false +SpecialChars=true [SSHAgent] Enabled=true @@ -30,5 +42,6 @@ Enabled=true [Security] EnableCopyOnDoubleClick=true IconDownloadFallback=true +LockDatabaseScreenLock=false PasswordEmptyPlaceholder=true Security_HideNotes=true diff --git a/notmuch/config b/notmuch/config deleted file mode 100644 index be90ebc..0000000 --- a/notmuch/config +++ /dev/null @@ -1,103 +0,0 @@ -# .notmuch-config - Configuration file for the notmuch mail system -# -# For more information about notmuch, see https://notmuchmail.org - -# Database configuration -# -# The only value supported here is 'path' which should be the top-level -# directory where your mail currently exists and to where mail will be -# delivered in the future. Files should be individual email messages. -# Notmuch will store its database within a sub-directory of the path -# configured here named ".notmuch". -# -[database] -path=/home/case/var/mail -hook_dir=/home/case/etc/notmuch/default/hooks - -# User configuration -# -# Here is where you can let notmuch know how you would like to be -# addressed. Valid settings are -# -# name Your full name. -# primary_email Your primary email address. -# other_email A list (separated by ';') of other email addresses -# at which you receive email. -# -# Notmuch will use the various email addresses configured here when -# formatting replies. It will avoid including your own addresses in the -# recipient list of replies, and will set the From address based on the -# address to which the original email was addressed. -# -[user] -name=Case Duckworth -primary_email=case@acdw.net -other_email=acdw@fastmail.com;acdw@acdw.net;breadpunk@acdw.net;caseandrachel19@acdw.net;caseduckworth@acdw.net;comments@acdw.net;lists@acdw.net;me@acdw.net;pam@acdw.net;ring@acdw.net;sonn-it@acdw.net;webring@acdw.net;caseduckworth@fastmail.com;loosepoops@fea.st;case@clickheredigital.com;case@thebryc.org;case.duckworth@papertutors.co - -# Configuration for "notmuch new" -# -# The following options are supported here: -# -# tags A list (separated by ';') of the tags that will be -# added to all messages incorporated by "notmuch new". -# -# ignore A list (separated by ';') of file and directory names -# that will not be searched for messages by "notmuch new". -# -# NOTE: *Every* file/directory that goes by one of those -# names will be ignored, independent of its depth/location -# in the mail store. -# -[new] -tags=inbox;unread; -ignore=.mbsyncstate;.isyncuidmap.db;.uidvalidity;/.*[.](json|lock|bak|journal|new|drafts)$/; - -# Search configuration -# -# The following option is supported here: -# -# exclude_tags -# A ;-separated list of tags that will be excluded from -# search results by default. Using an excluded tag in a -# query will override that exclusion. -# -[search] -exclude_tags=deleted;spam;Spam;Trash;sent - -# Show configuration -[show] -extra_headers=List-Post; - -# Maildir compatibility configuration -# -# The following option is supported here: -# -# synchronize_flags Valid values are true and false. -# -# If true, then the following maildir flags (in message filenames) -# will be synchronized with the corresponding notmuch tags: -# -# Flag Tag -# ---- ------- -# D draft -# F flagged -# P passed -# R replied -# S unread (added when 'S' flag is not present) -# -# The "notmuch new" command will notice flag changes in filenames -# and update tags, while the "notmuch tag" and "notmuch restore" -# commands will notice tag changes and update flags in filenames -# -[maildir] -synchronize_flags=true - -# Cryptography related configuration -# -# The following option is supported here: -# -# gpg_path -# binary name or full path to invoke gpg. -# -[crypto] -gpg_path=gpg diff --git a/notmuch/post-new.tags b/notmuch/post-new.tags index e9dd2f7..f582c08 100644 --- a/notmuch/post-new.tags +++ b/notmuch/post-new.tags @@ -6,6 +6,7 @@ +clickhere +work -- path:clickhere/** -inbox -unread -- tag:TaskIQ +-inbox -unread -- from:taskiq@clickheredigital.com -inbox -unread -- from:get@myreports.email or from:mail@semrush.com -inbox -unread -- from:"/Semrush App Center Team/" -inbox -- to:seo@clickheredigital.com @@ -14,9 +15,10 @@ +paper +work -- path:paper/** -inbox -unread -- path:paper/** and subject:"Shift Transfer Request" +-inbox +slack -- from:notification@slack.com # Spam -+spam -new -- folder:/.*[Ss]pam.*/ or folder:/.*[Jj]unk.*/ ++spam -new -- (folder:/.*[Ss]pam.*/ or folder:/.*[Jj]unk.*/ or Xspam:yes) and tag:new # Auto-archive +archive -new -inbox -- not tag:unread and date:..6M diff --git a/npm/npmrc b/npm/npmrc index fc84b78..c2da224 100644 --- a/npm/npmrc +++ b/npm/npmrc @@ -1,4 +1,3 @@ prefix=${XDG_DATA_HOME}/npm cache=${XDG_CACHE_HOME}/npm -tmp=${XDG_RUNTIME_DIR}/npm init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js diff --git a/profile/01_path.sh b/profile/01_path.sh index 6675241..8b18f5e 100644 --- a/profile/01_path.sh +++ b/profile/01_path.sh @@ -1,6 +1,6 @@ # PATH and variables for $HOME-local installations -LOCAL_PREFIX="$LOCAL_PATH" +LOCAL_PREFIX="$HOME/usr" export LOCAL_PREFIX # Pkg-config diff --git a/profile/manpath.sh b/profile/manpath.sh index b52f5f8..bda4fd2 100644 --- a/profile/manpath.sh +++ b/profile/manpath.sh @@ -3,8 +3,8 @@ path_add_unsafe MANPATH \ "${XDG_DATA_HOME:-$LOCAL_PREFIX/share}/man" \ "$LOCAL_PREFIX/local/man" \ - "$LOCAL_PATH/local/man" \ - "$LOCAL_PATH/man" + "$LOCAL_PREFIX/local/man" \ + "$LOCAL_PREFIX/man" # $MANPATH ends with `:' so that manpath(1) will prepend it to its # special thing. diff --git a/profile/nodejs.sh b/profile/nodejs.sh index 6d95dea..224dbbe 100644 --- a/profile/nodejs.sh +++ b/profile/nodejs.sh @@ -1,3 +1,3 @@ # node.js environment -export npm_config_prefix="$LOCAL_PATH" +export npm_config_prefix="$LOCAL_PREFIX" diff --git a/profile/profile b/profile/profile index 9a81186..5faff51 100644 --- a/profile/profile +++ b/profile/profile @@ -4,10 +4,13 @@ # Source system profile source /etc/profile +# Local prefix +export LOCAL_PREFIX="$HOME/usr" + # XDG directories export XDG_CONFIG_HOME="$HOME/etc" export XDG_CACHE_HOME="$HOME/var/cache" -export XDG_DATA_HOME="$LOCAL_PATH/share" +export XDG_DATA_HOME="$LOCAL_PREFIX/share" export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}" diff --git a/profile/python.sh b/profile/python.sh index 80d4ee2..9353cfe 100644 --- a/profile/python.sh +++ b/profile/python.sh @@ -3,4 +3,7 @@ # sometimes it's unavoidable. # from grym on #emacs --- TODO: research what this actually does, lol -export PIP_REQUIRE_VIRTUALENV=1 +# it's annoying ... (2023-02-08) +#export PIP_REQUIRE_VIRTUALENV=1 + +path_add_to_PATH "$XDG_DATA_HOME/python/bin" diff --git a/profile/xdg.sh b/profile/xdg.sh index e11c5df..a4e395f 100644 --- a/profile/xdg.sh +++ b/profile/xdg.sh @@ -4,15 +4,17 @@ # moved there (e.g., HISTFILE is in history.bash). So variables might # move /out/ of this directory, but they probably won't move /in/. -# See also [[https://github.com/b3nj5m1n/xdg-ninja][xdg-ninja]]. +# See also https://github.com/b3nj5m1n/xdg-ninja, +# https://wiki.archlinux.org/title/XDG_Base_Directory#Support # Readline -export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc +export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc" +export RLWRAP_HOME="$XDG_DATA_HOME/rlwrap" # Less -export LESSKEY="$XDG_CONFIG_HOME"/less/lesskey -export LESSHISTFILE="$XDG_CACHE_HOME"/less/history -mkdir -p "$XDG_CACHE_HOME"/less +export LESSKEY="$XDG_CONFIG_HOME/less/lesskey" +export LESSHISTFILE="$XDG_CACHE_HOME/less/history" +mkdir -p "$XDG_CACHE_HOME/less" # Vim export VIMINIT="source ${XDG_CONFIG_HOME:=$HOME/.config}/vim/vimrc" @@ -27,9 +29,14 @@ export LYNX_CFG="$XDG_CONFIG_HOME/lynx/lynx.cfg" export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-$HOME}" export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" export XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc" +export USERXSESSION="$XDG_CACHE_HOME/X11/xsession" +export ALTUSERXSESSION="$XDG_CACHE_HOME/X11/Xsession" +export ERRFILE="$XDG_CACHE_HOME/X11/xsession-errors" -# Notmuch -export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:=$HOME/.config}/notmuch/config" + + +# Notmuch -- https://notmuchmail.org/pipermail/notmuch/2011/007007.html +export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:=$HOME/.config}/notmuch/default/config" # GNUPG export GNUPGHOME="$XDG_DATA_HOME/gnupg" @@ -39,7 +46,39 @@ export ICEAUTHORITY="$XDG_CACHE_HOME/ICEauthority" # mbsync (requires alias) export MBSYNC_CONFIG_HOME="$XDG_CONFIG_HOME/isync/mbsyncrc" -alias mbsync='mbsync -c "$MBSYNC_CONFIG_HOME"' +alias mbsync='command mbsync -c "$MBSYNC_CONFIG_HOME"' # npm export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc" + +# bash-complete +export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME/bash/completion" + +# aspell +ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf" +ASPELL_CONF="$ASPELL_CONF; personal $XDG_CONFIG_HOME/aspell/en.pws" +ASPELL_CONF="$ASPELL_CONF; repl $XDG_CONFIG_HOME/aspell/en.prepl" +mkdir -p "$XDG_CONFIG_HOME/aspell" +export ASPELL_CONF + +# Xcompose +export XCOMPOSEFILE="$XDG_CONFIG_HOME/xorg/xcompose" +export XCOMPOSECACHE="$XDG_CACHE_HOME/xorg/xcompose" + +# sqlite +export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history" +alias sqlite3='sqlite3 -init "$XDG_CONFIG_HOME/sqlite3/sqliterc"' + +# python +export PYTHONSTARTUPFILE="$XDG_CONFIG_HOME/python/startup" +export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME/python" +export PYTHON_EGG_CACHE="$XDG_CACHE_HOME/python/eggs" +export PYTHONUSERBASE="$XDG_DATA_HOME/python" + +# wget +export WGETRC="$XDG_CONFIG_HOME/wget/config" +mkdir -p "$XDG_CONFIG_HOME/wget" +alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"' + +# dvdcss +export DVDCSS_HOME="$XDG_CACHE_HOME/dvdcss" diff --git a/xorg/xmodmap b/xorg/xmodmap index 4f7ed21..0117159 100644 --- a/xorg/xmodmap +++ b/xorg/xmodmap @@ -1,6 +1,277 @@ -! ~/.xmodmap -*- conf-xdefaults -*- +! xmodmap for the Colemak Mod-DH layout (US, ISO keyboard). +! http://colemakmods.github.io/mod-dh/ +! Public domain. -! Make CapsLock an extra Control +keycode 49 = grave asciitilde dead_tilde asciitilde +keycode 10 = 1 exclam exclamdown onesuperior +keycode 11 = 2 at masculine twosuperior +keycode 12 = 3 numbersign ordfeminine threesuperior +keycode 13 = 4 dollar cent sterling +keycode 14 = 5 percent EuroSign yen +keycode 15 = 6 asciicircum hstroke Hstroke +keycode 16 = 7 ampersand eth ETH +keycode 17 = 8 asterisk thorn THORN +keycode 18 = 9 parenleft leftsinglequotemark leftdoublequotemark +keycode 19 = 0 parenright rightsinglequotemark rightdoublequotemark +keycode 20 = minus underscore endash emdash +keycode 21 = equal plus multiply division + +keycode 24 = q Q adiaeresis Adiaeresis +keycode 25 = w W aring Aring +keycode 26 = f F atilde Atilde +keycode 27 = p P oslash Ooblique +keycode 28 = b B dead_breve asciitilde +keycode 29 = j J dstroke Dstroke +keycode 30 = l L lstroke Lstroke +keycode 31 = u U uacute Uacute +keycode 32 = y Y udiaeresis Udiaeresis +keycode 33 = semicolon colon odiaeresis Odiaeresis +keycode 34 = bracketleft braceleft guillemotleft U2039 +keycode 35 = bracketright braceright guillemotright U203a +keycode 51 = numbersign asciitilde dead_circumflex asciitilde + +keycode 38 = a A aacute Aacute +keycode 39 = r R dead_grave asciitilde +keycode 40 = s S ssharp asciitilde +keycode 41 = t T dead_acute dead_doubleacute +keycode 42 = g G dead_ogonek asciitilde +keycode 43 = m M dead_macron asciitilde +keycode 44 = n N ntilde Ntilde +keycode 45 = e E eacute Eacute +keycode 46 = i I iacute Iacute +keycode 47 = o O oacute Oacute +keycode 48 = apostrophe quotedbl otilde Otilde + +keycode 94 = z Z ae AE +keycode 52 = x X dead_circumflex asciitilde +keycode 53 = c C ccedilla Ccedilla +keycode 54 = d D dead_diaeresis asciitilde +keycode 55 = v V oe OE +keycode 56 = backslash bar asciitilde asciitilde +keycode 57 = k K dead_abovering asciitilde +keycode 58 = h H dead_caron asciitilde +keycode 59 = comma less dead_cedilla asciitilde +keycode 60 = period greater dead_abovedot asciitilde +keycode 61 = slash question questiondown asciitilde + +keycode 65 = space space space nobreakspace + +keycode 108 = Mode_switch Mode_switch + +! Remove these 2 lines if you want caps lock unmodified +keycode 66 = BackSpace BackSpace BackSpace BackSpace clear Lock -keycode 66 = Control_R -add Control = Control_R + +!clear Shift +!clear Control +!clear Mod1 +!clear Mod2 +!clear Mod3 +!clear Mod4 +!clear Mod5 + +!add Shift = Shift_L Shift_R +!add Control = Control_L Control_R +!add Mod1 = Alt_L Alt_R +!add Mod2 = Num_Lock +!add Mod4 = Meta_L Meta_R +!add Mod5 = Scroll_Lock + +!keycode 9 = Escape +!keycode 22 = BackSpace Terminate_Server +!keycode 23 = Tab ISO_Left_Tab +!keycode 36 = Return +!keycode 37 = Control_L +!keycode 50 = Shift_L +!keycode 62 = Shift_R +!keycode 63 = KP_Multiply XF86_ClearGrab +!keycode 64 = Alt_L Meta_L +!keycode 67 = F1 XF86_Switch_VT_1 +!keycode 68 = F2 XF86_Switch_VT_2 +!keycode 69 = F3 XF86_Switch_VT_3 +!keycode 70 = F4 XF86_Switch_VT_4 +!keycode 71 = F5 XF86_Switch_VT_5 +!keycode 72 = F6 XF86_Switch_VT_6 +!keycode 73 = F7 XF86_Switch_VT_7 +!keycode 74 = F8 XF86_Switch_VT_8 +!keycode 75 = F9 XF86_Switch_VT_9 +!keycode 76 = F10 XF86_Switch_VT_10 +!keycode 95 = F11 XF86_Switch_VT_11 +!keycode 96 = F12 XF86_Switch_VT_12 +!keycode 77 = Num_Lock Pointer_EnableKeys +!keycode 78 = Scroll_Lock +!keycode 79 = KP_Home KP_7 +!keycode 80 = KP_Up KP_8 +!keycode 81 = KP_Prior KP_9 +!keycode 82 = KP_Subtract XF86_Prev_VMode +!keycode 83 = KP_Left KP_4 +!keycode 84 = KP_Begin KP_5 +!keycode 85 = KP_Right KP_6 +!keycode 86 = KP_Add XF86_Next_VMode +!keycode 87 = KP_End KP_1 +!keycode 88 = KP_Down KP_2 +!keycode 89 = KP_Next KP_3 +!keycode 90 = KP_Insert KP_0 +!keycode 91 = KP_Delete KP_Decimal +!keycode 92 = Print Sys_Req +!keycode 93 = Mode_switch +!keycode 97 = Home +!keycode 98 = Up +!keycode 99 = Prior +!keycode 100 = Left +!keycode 102 = Right +!keycode 103 = End +!keycode 104 = Down +!keycode 105 = Next +!keycode 106 = Insert +!keycode 107 = Delete +!keycode 108 = KP_Enter +!keycode 109 = Control_R +!keycode 110 = Pause Break +!keycode 111 = Print Sys_Req +!keycode 112 = KP_Divide XF86_Ungrab +!keycode 114 = Pause Break +!keycode 115 = Super_L +!keycode 116 = Super_R +!keycode 117 = Menu +!keycode 124 = ISO_Level3_Shift +!keycode 125 = NoSymbol Alt_L +!keycode 126 = KP_Equal +!keycode 127 = NoSymbol Super_L +!keycode 128 = NoSymbol Hyper_L +!keycode 156 = NoSymbol Meta_L + +!keycode 8 = +!keycode 101 = +!keycode 118 = +!keycode 119 = +!keycode 120 = +!keycode 121 = +!keycode 122 = +!keycode 123 = +!keycode 129 = +!keycode 130 = +!keycode 131 = +!keycode 132 = +!keycode 133 = +!keycode 134 = +!keycode 135 = +!keycode 136 = +!keycode 137 = +!keycode 138 = +!keycode 139 = +!keycode 140 = +!keycode 141 = +!keycode 142 = +!keycode 143 = +!keycode 144 = +!keycode 145 = +!keycode 146 = +!keycode 147 = +!keycode 148 = +!keycode 149 = +!keycode 150 = +!keycode 151 = +!keycode 152 = +!keycode 153 = +!keycode 154 = +!keycode 155 = +!keycode 157 = +!keycode 158 = +!keycode 159 = +!keycode 160 = +!keycode 161 = +!keycode 162 = +!keycode 163 = +!keycode 164 = +!keycode 165 = +!keycode 166 = +!keycode 167 = +!keycode 168 = +!keycode 169 = +!keycode 170 = +!keycode 171 = +!keycode 172 = +!keycode 173 = +!keycode 174 = +!keycode 175 = +!keycode 176 = +!keycode 177 = +!keycode 178 = +!keycode 179 = +!keycode 180 = +!keycode 181 = +!keycode 182 = +!keycode 183 = +!keycode 184 = +!keycode 185 = +!keycode 186 = +!keycode 187 = +!keycode 188 = +!keycode 189 = +!keycode 190 = +!keycode 191 = +!keycode 192 = +!keycode 193 = +!keycode 194 = +!keycode 195 = +!keycode 196 = +!keycode 197 = +!keycode 198 = +!keycode 199 = +!keycode 200 = +!keycode 201 = +!keycode 202 = +!keycode 203 = +!keycode 204 = +!keycode 205 = +!keycode 206 = +!keycode 207 = +!keycode 208 = +!keycode 209 = +!keycode 210 = +!keycode 211 = +!keycode 212 = +!keycode 213 = +!keycode 214 = +!keycode 215 = +!keycode 216 = +!keycode 217 = +!keycode 218 = +!keycode 219 = +!keycode 220 = +!keycode 221 = +!keycode 222 = +!keycode 223 = +!keycode 224 = +!keycode 225 = +!keycode 226 = +!keycode 227 = +!keycode 228 = +!keycode 229 = +!keycode 230 = +!keycode 231 = +!keycode 232 = +!keycode 233 = +!keycode 234 = +!keycode 235 = +!keycode 236 = +!keycode 237 = +!keycode 238 = +!keycode 239 = +!keycode 240 = +!keycode 241 = +!keycode 242 = +!keycode 243 = +!keycode 244 = +!keycode 245 = +!keycode 246 = +!keycode 247 = +!keycode 248 = +!keycode 249 = +!keycode 250 = +!keycode 251 = +!keycode 252 = +!keycode 253 = +!keycode 254 = +!keycode 255 = -- cgit 1.4.1-21-gabe81