mirror of
https://github.com/vincentbernat/i3wm-configuration.git
synced 2025-07-16 05:04:21 +02:00
xrandr doesn't handle the configuration in one go. Moreover, we cannot just disable internal panel first then configure dual screens.
85 lines
2.8 KiB
Bash
Executable file
85 lines
2.8 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Event handler for inputplug
|
|
|
|
event="$1"
|
|
device="$2"
|
|
use="$3"
|
|
name="$4"
|
|
|
|
case "$event" in
|
|
XIDevice*)
|
|
;;
|
|
*)
|
|
exit 0
|
|
;;
|
|
esac
|
|
event=${event#XIDevice}
|
|
|
|
# Load the given keymap
|
|
xkb() {
|
|
xkbcomp -i ${device} -w 0 -I$HOME/.config/awesome/xkb \
|
|
$HOME/.config/awesome/xkb/$1.xkb ${DISPLAY}
|
|
}
|
|
|
|
printf "$use: [%3d] $name\n" $device
|
|
|
|
case "$event,$use,$(uname -n),$name" in
|
|
# We try to use this keyboard to detect the dock
|
|
Disabled,XISlaveKeyboard,zoro,"Topre Corporation Realforce 87")
|
|
# We are being undocked?
|
|
sleep 2
|
|
if xrandr | grep '^DP. connected'; then
|
|
# No, still docked?
|
|
:
|
|
else
|
|
xrandr --output DP3 --off --output DP4 --off --output eDP1 --auto --dpi 144
|
|
fi
|
|
;;
|
|
Enabled,XISlaveKeyboard,zoro,"Topre Corporation Realforce 87")
|
|
# Are we getting docked?
|
|
sleep 2
|
|
if xrandr | grep '^DP. connected'; then
|
|
xrandr --output eDP1 --off --output DP3 --auto --primary
|
|
xrandr --output DP4 --auto --right-of DP3 --dpi 96
|
|
fi
|
|
xkb default
|
|
;;
|
|
Enabled,XISlaveKeyboard,zoro,"AT Translated Set 2 keyboard")
|
|
xkb x1
|
|
;;
|
|
Enabled,XISlaveKeyboard,guybrush,"AT Translated Set 2 keyboard")
|
|
xkb norwin
|
|
;;
|
|
Enabled,XISlaveKeyboard,*,"ThinkPad Extra Buttons")
|
|
xkb thinkpad-extra
|
|
;;
|
|
Enabled,XISlaveKeyboard,*)
|
|
xkb default
|
|
;;
|
|
Enabled,XISlavePointer,*,"Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)")
|
|
xinput set-ptr-feedback $device 3 3 1
|
|
;;
|
|
Enabled,XISlavePointer,*,"TPPS/2 IBM TrackPoint")
|
|
xinput set-prop $device 'Evdev Wheel Emulation' 1
|
|
xinput set-prop $device 'Evdev Wheel Emulation Button' 2
|
|
xinput set-prop $device 'Evdev Wheel Emulation Axes' 6 7 4 5
|
|
xinput set-ptr-feedback $device 2 5 1
|
|
;;
|
|
Enabled,XISlavePointer,zoro,"SynPS/2 Synaptics TouchPad")
|
|
# [ 12.756] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5112 (res 42)
|
|
# [ 12.756] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - 3834 (res 42)
|
|
# The following is 60% 0 0 0 40% 60% 0 0
|
|
# The logic is explained here:
|
|
# http://who-t.blogspot.de/2013/12/lenovo-t440-touchpad-button.html
|
|
xinput set-prop $device 'Synaptics Soft Button Areas' 3656 0 0 0 2928 3656 0 0
|
|
xinput set-prop $device 'Synaptics Off' 3 # Needs a patch: http://lists.x.org/archives/xorg/2014-June/056689.html
|
|
xinput set-prop $device 'Synaptics Two-Finger Scrolling' 1 1
|
|
;;
|
|
Enabled,XISlavePointer,zoro,"ELAN Touchscreen")
|
|
xinput disable $device
|
|
;;
|
|
Enabled,XISlavePointer,guybrush,"SynPS/2 Synaptics TouchPad")
|
|
xinput set-prop $device 'Synaptics Off' 1
|
|
;;
|
|
esac
|