From a405785e9b055dd1afa8ab0152bca37b6b60b9a8 Mon Sep 17 00:00:00 2001 From: SolidHal Date: Mon, 1 Oct 2018 15:43:28 +0000 Subject: [PATCH] Add function key controls, disable touchpad tap drag --- resources/InstallResources/50-synaptics.conf | 2 +- .../InstallResources/libinput-gestures.conf | 163 ------------------ .../xfce-config/brightness/backlight.rules | 4 + .../xfce-config/brightness/backlight_down.sh | 12 ++ .../xfce-config/brightness/backlight_up.sh | 14 ++ .../libinput-gestures/libinput-gestures.conf | 8 +- .../xfce4-keyboard-shortcuts.xml | 152 ++++++++++++++++ .../xfce-config/xmodmap/.Xmodmap | 30 ++++ .../xfce-config/xmodmap/.xinitrc | 1 + scripts/InstallScripts/InstallPackages.sh | 10 +- 10 files changed, 227 insertions(+), 169 deletions(-) delete mode 100644 resources/InstallResources/libinput-gestures.conf create mode 100644 resources/InstallResources/xfce-config/brightness/backlight.rules create mode 100755 resources/InstallResources/xfce-config/brightness/backlight_down.sh create mode 100755 resources/InstallResources/xfce-config/brightness/backlight_up.sh create mode 100644 resources/InstallResources/xfce-config/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml create mode 100644 resources/InstallResources/xfce-config/xmodmap/.Xmodmap create mode 100644 resources/InstallResources/xfce-config/xmodmap/.xinitrc diff --git a/resources/InstallResources/50-synaptics.conf b/resources/InstallResources/50-synaptics.conf index 029a662..f6ddb9b 100644 --- a/resources/InstallResources/50-synaptics.conf +++ b/resources/InstallResources/50-synaptics.conf @@ -51,7 +51,7 @@ Section "InputClass" Option "HorizHysteresis" "10" # Drag Lock - Option "LockedDrags" "1" + #Option "LockedDrags" "1" # Tap to click thresholds. Option "FingerLow" "10" diff --git a/resources/InstallResources/libinput-gestures.conf b/resources/InstallResources/libinput-gestures.conf deleted file mode 100644 index 428ae7d..0000000 --- a/resources/InstallResources/libinput-gestures.conf +++ /dev/null @@ -1,163 +0,0 @@ -# Configuration file for libinput-gestures. -# -# The default configuration file exists at /etc/libinput-gestures.conf -# but a user can create a personal custom configuration file at -# ~/.config/libinput-gestures.conf. -# -# Lines starting with '#' and blank lines are ignored. Currently -# "gesture" and "device" configuration keywords are supported as -# described below. The keyword can optionally be appended with a ":" (to -# maintain compatibility with original format configuration files). -# -# Each gesture line has 3 [or 4] arguments separated by whitespace: -# -# action motion [finger_count] command -# -# where action and motion is either: -# swipe up -# swipe down -# swipe left -# swipe right -# pinch in -# pinch out -# -# command is the remainder of the line and is any valid shell command + -# arguments. -# -# finger_count is a single numeric digit and is optional (and is -# typically 3 or 4). If specified then the command is executed when -# exactly that number of fingers is used in the gesture. If not -# specified then the command is executed when that gesture is executed -# with any number of fingers. Gesture lines specified with finger_count -# have priority over the same gesture specified without any -# finger_count. -# -# Typically command will be xdotool, or wmctrl. See "man xdotool" for -# the many things you can action with that tool. Note that unfortunately -# xdotool does not work with native Wayland clients. - -############################################################################### -# SWIPE GESTURES: -############################################################################### - -# Note the default is an "internal" command that uses wmctrl to switch -# workspaces and, unlike xdotool, works on both Xorg and Wayland (via -# XWayland). It also can be configured for vertical and horizontal -# switching over tabular workspaces, as per the example below. You can -# also add "-w" to the internal command to allow wrapping workspaces. - -# Move to next workspace (works for GNOME/KDE/etc on Wayland and Xorg) -gesture swipe up _internal ws_up - -# NOTE ABOUT FINGER COUNT: -# The above command will configure this command for all fingers (i.e. 3 -# for 4) but to configure it for 3 fingers only, change it to: -# gesture swipe up 3 _internal ws_up -# Then you can configure something else for 4 fingers or leave 4 fingers -# unconfigured. You can configure an explicit finger count like this for -# all example commands in this configuration file. -# -# gesture swipe up xdotool key super+Page_Down - -# Move to prev workspace (works for GNOME/KDE/etc on Wayland and Xorg) -gesture swipe down _internal ws_down -# gesture swipe down xdotool key super+Page_Up - -# Browser go forward (works only for Xorg, and Xwayland clients) -gesture swipe left 4 xdotool key alt+control+Left - -# Browser go back (works only for Xorg, and Xwayland clients) -gesture swipe right 4 xdotool key alt+control+Right - -# NOTE: If you don't use "natural" scrolling direction for your touchpad -# then you may want to swap the above default left/right and up/down -# configurations. - -# Optional extended swipe gestures, e.g. for browser tab navigation: -# -# Jump to next open browser tab -# gesture swipe right_up xdotool key control+Tab -# -# Jump to previous open browser tab -# gesture swipe left_up xdotool key control+shift+Tab -# -# Close current browser tab -# gesture swipe left_down xdotool key control+w -# -# Reopen and jump to last closed browser tab -# gesture swipe right_down xdotool key control+shift+t - -# Example of 8 static workspaces, e.g. using KDE virtual-desktops, -# arranged in 2 rows of 4 across using swipe up/down/left/right to -# navigate in fixed planes. Must match how you have configured your -# virtual desktops. -# gesture swipe up _internal --col=2 ws_up -# gesture swipe down _internal --col=2 ws_down -# gesture swipe left _internal --row=4 ws_up -# gesture swipe right _internal --row=4 ws_down - -# Example virtual desktop switching for Ubuntu Unity/Compiz. The -# _internal command does not work for Compiz but you can explicitly -# configure the swipe commands to work for a Compiz virtual 2 -# dimensional desktop as follows: -# gesture swipe up xdotool key ctrl+alt+Up -# gesture swipe down xdotool key ctrl+alt+Down -# gesture swipe left xdotool key ctrl+alt+Left -# gesture swipe right xdotool key ctrl+alt+Right - -# Example to change audio volume: -# Note this only works on an Xorg desktop (not Wayland). -# gesture swipe up xdotool key XF86AudioRaiseVolume -# gesture swipe down xdotool key XF86AudioLowerVolume - -############################################################################### -# PINCH GESTURES: -############################################################################### - -# GNOME SHELL open/close overview (works for GNOME on Xorg only) -gesture pinch in xdotool key super+s -gesture pinch out xdotool key super+s - -# KDE Plasma open/close overview -# gesture pinch in xdotool key ctrl+F9 -# gesture pinch out xdotool key ctrl+F9 - -# GNOME SHELL open/close overview (works for GNOME on Wayland and Xorg) -# Note since GNOME 3.24 on Wayland this is implemented natively so no -# real point configuring for Wayland. -# gesture pinch in dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();' -# gesture pinch out dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();' - -# Optional extended pinch gestures: -# gesture pinch clockwise -# gesture pinch anticlockwise - -############################################################################### -# This application normally determines your touchpad device -# automatically. Some users may have multiple touchpads but by default -# we use only the first one found. However, you can choose to specify -# the explicit device name to use. Run "libinput list-devices" to work -# out the name of your device (from the "Device:" field). Then add a -# device line specifying that name, e.g: -# -# device DLL0665:01 06CB:76AD Touchpad -# -# If the device name starts with a '/' then it is instead considered as -# the explicit device path although since device paths can change -# through reboots this is best to be a symlink. E.g. instead of specifying -# /dev/input/event12, use the corresponding full path link under -# /dev/input/by-path/*. -# -# You can choose to use ALL touchpad devices by setting the device name -# to "all". E.g. Do this if you have multiple touchpads which you want -# to use in parallel. This reduces performance slightly so only set this -# if you have to. -# -# device all - -############################################################################### -# You can set a minimum travel distance threshold before swipe gestures -# are actioned using the swipe_threshold configuration command. -# Specify this value in dots. The default is 0. -# E.g. set it to 100 dots with "swipe_threshold 100". -# swipe_threshold 0 diff --git a/resources/InstallResources/xfce-config/brightness/backlight.rules b/resources/InstallResources/xfce-config/brightness/backlight.rules new file mode 100644 index 0000000..a52e96b --- /dev/null +++ b/resources/InstallResources/xfce-config/brightness/backlight.rules @@ -0,0 +1,4 @@ +/etc/udev/rules.d/backlight.rules + +ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness" +ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness" diff --git a/resources/InstallResources/xfce-config/brightness/backlight_down.sh b/resources/InstallResources/xfce-config/brightness/backlight_down.sh new file mode 100755 index 0000000..cec5d24 --- /dev/null +++ b/resources/InstallResources/xfce-config/brightness/backlight_down.sh @@ -0,0 +1,12 @@ +#!/bin/bash +DEV=/sys/class/backlight/backlight +BL=$(cat $DEV/brightness) +if [ $BL -eq 0 ]; then + exit 0 +fi +if [ $BL -lt 5 ]; then + BL=$((BL - 1)) +else + BL=$((BL - ( BL / 4 ))) +fi +echo $BL > $DEV/brightness \ No newline at end of file diff --git a/resources/InstallResources/xfce-config/brightness/backlight_up.sh b/resources/InstallResources/xfce-config/brightness/backlight_up.sh new file mode 100755 index 0000000..0341e4b --- /dev/null +++ b/resources/InstallResources/xfce-config/brightness/backlight_up.sh @@ -0,0 +1,14 @@ +#!/bin/bash +DEV=/sys/class/backlight/backlight +BL=$(cat $DEV/brightness) +MAX=$(cat $DEV/max_brightness) + +if [ $BL -lt 5 ]; then + BL=$((BL + 1)) +else + BL=$((BL + ( BL / 4 ))) +fi +if [ $BL -gt $MAX ]; then + BL=$MAX +fi +echo $BL > $DEV/brightness \ No newline at end of file diff --git a/resources/InstallResources/xfce-config/libinput-gestures/libinput-gestures.conf b/resources/InstallResources/xfce-config/libinput-gestures/libinput-gestures.conf index 428ae7d..4ca4772 100644 --- a/resources/InstallResources/xfce-config/libinput-gestures/libinput-gestures.conf +++ b/resources/InstallResources/xfce-config/libinput-gestures/libinput-gestures.conf @@ -47,7 +47,7 @@ # also add "-w" to the internal command to allow wrapping workspaces. # Move to next workspace (works for GNOME/KDE/etc on Wayland and Xorg) -gesture swipe up _internal ws_up +#gesture swipe up _internal ws_up # NOTE ABOUT FINGER COUNT: # The above command will configure this command for all fingers (i.e. 3 @@ -60,14 +60,14 @@ gesture swipe up _internal ws_up # gesture swipe up xdotool key super+Page_Down # Move to prev workspace (works for GNOME/KDE/etc on Wayland and Xorg) -gesture swipe down _internal ws_down +#gesture swipe down _internal ws_down # gesture swipe down xdotool key super+Page_Up # Browser go forward (works only for Xorg, and Xwayland clients) -gesture swipe left 4 xdotool key alt+control+Left +gesture swipe left 4 xdotool key control+alt+Up # Browser go back (works only for Xorg, and Xwayland clients) -gesture swipe right 4 xdotool key alt+control+Right +gesture swipe right 4 xdotool key control+alt+Down # NOTE: If you don't use "natural" scrolling direction for your touchpad # then you may want to swap the above default left/right and up/down diff --git a/resources/InstallResources/xfce-config/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/resources/InstallResources/xfce-config/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml new file mode 100644 index 0000000..21ea021 --- /dev/null +++ b/resources/InstallResources/xfce-config/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/InstallResources/xfce-config/xmodmap/.Xmodmap b/resources/InstallResources/xfce-config/xmodmap/.Xmodmap new file mode 100644 index 0000000..8a87b50 --- /dev/null +++ b/resources/InstallResources/xfce-config/xmodmap/.Xmodmap @@ -0,0 +1,30 @@ +! Search mapped to mode switch (basically the fn key) +! Referred to as ms later on +keycode 133 = Mode_switch NoSymbol Mode_switch + +! Re-add some keyboard functionality + +! Map insert to ms+period +keycode 60 = period greater Insert Insert + +! Map page up to ms + up +keycode 111 = Up NoSymbol Prior +! Map page down to ms + down +keycode 116 = Down NoSymbol Next +! Map Home to ms+left +keycode 113 = Left NoSymbol Home +! Map End to ms+right +keycode 114 = Right NoSymbol End + +! Map delete to ms+Backspace +keycode 22 = BackSpace BackSpace Delete Delete + +! Now map the special functions +! Brightness keys +keycode 72 = XF86MonBrightnessDown XF86MonBrightnessDown F6 F6 F6 F6 XF86Switch_VT_6 +keycode 73 = XF86MonBrightnessUp XF86MonBrightnessUp F7 F7 F7 F7 XF86Switch_VT_7 + +!Volume keys +keycode 74 = XF86AudioMute XF86AudioMute F8 F8 F8 F8 XF86Switch_VT_8 +keycode 75 = XF86AudioLowerVolume XF86AudioLowerVolume F9 F9 F9 F9 XF86Switch_VT_9 +keycode 76 = XF86AudioRaiseVolume XF86AudioRaiseVolume F10 F10 F10 F10 XF86Switch_VT_10 diff --git a/resources/InstallResources/xfce-config/xmodmap/.xinitrc b/resources/InstallResources/xfce-config/xmodmap/.xinitrc new file mode 100644 index 0000000..0640e42 --- /dev/null +++ b/resources/InstallResources/xfce-config/xmodmap/.xinitrc @@ -0,0 +1 @@ +#[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap diff --git a/scripts/InstallScripts/InstallPackages.sh b/scripts/InstallScripts/InstallPackages.sh index 5ff7da1..10e3e61 100755 --- a/scripts/InstallScripts/InstallPackages.sh +++ b/scripts/InstallScripts/InstallPackages.sh @@ -51,6 +51,14 @@ then #install plank launcher mkdir -p /etc/skel/.config/plank/dock1/launchers/ cp -rf $DIR/xfce-config/plank/plank-launchers/* /etc/skel/.config/plank/dock1/launchers/ + + #Install xmodmap map, autostart + cp -rf $DIR/xfce-config/xmodmap/* /etc/skel + + #Install brightness controls + cp $DIR/xfce-config/brightness/backlight_* /usr/sbin/ + mkdir -p /etc/udev/rules.d/ + cp $DIR/xfce-config/brightness/backlight.rules /etc/udev/rules.d/ fi @@ -66,7 +74,7 @@ apt clean && apt autoremove --purge echo " Enter new username: " read username adduser $username -usermod -a -G sudo,netdev,input $username +usermod -a -G sudo,netdev,input,video $username