diff --git a/README.md b/README.md index d473f52..eb438ce 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # xbindkeys +xbindkeys is a program that allows you to launch shell commands with your keyboard or your mouse under X Window. It links commands to keys or mouse buttons, using a configuration file. It's independant of the window manager and can capture all keyboard keys (ex: Power, Wake...). + diff --git a/xbindkeys-desktop b/xbindkeys-desktop new file mode 100644 index 0000000..dcb7e63 --- /dev/null +++ b/xbindkeys-desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Encoding=UTF-8 +X-KDE-autostart-phase=1 +Type=Application +Exec=xbindkeys-start +OnlyShowIn=KDE; +Name=Launch xbindkeys to set keyboard bindings diff --git a/xbindkeys-start b/xbindkeys-start new file mode 100644 index 0000000..114feb1 --- /dev/null +++ b/xbindkeys-start @@ -0,0 +1,60 @@ +#!/bin/bash +# +# xbindkeys.sh - load keyboard binding data for specific machine +# +# Copyright (c) 2008 by Silvan Calarco +# + +[ -e /etc/sysconfig/machine ] && . /etc/sysconfig/machine + +XMODMAP_CONFDIR=/usr/share/X11/xmodmap +unset XMODMAP_INPUTFILE XBINDKEYS_INPUTFILE +XBINDKEYS_CONFDIR=/usr/share/X11/xbindkeys +SCRIPT_DIR=/usr/share/X11/scripts + +system_manufacturer=`echo ${SYSTEM_MANUFACTURER/ *} | tr '[:upper:]' '[:lower:]'` +system_product_name=`echo ${SYSTEM_PRODUCT_NAME/ *} | tr '[:upper:]' '[:lower:]'` +system_version=`echo ${SYSTEM_VERSION/ *} | tr '[:upper:]' '[:lower:]'` + +s1=$system_manufacturer +s2=$system_manufacturer/$system_product_name +s3=$system_manufacturer/$system_product_name/$system_version + +# check for xbindkeysrc file +for i in $s3 $s2 $s1 ""; do + [ -r ${XBINDKEYS_CONFDIR}/$i/xbindkeysrc ] && { + XBINDKEYS_INPUTFILE=${XBINDKEYS_CONFDIR}/$i/xbindkeysrc + break + } +done + +# check for xmodmap file +for i in $s3 $s2 $s1 ""; do + [ -r ${XMODMAP_CONFDIR}/$i/xmodmap ] && { + XMODMAP_INPUTFILE=${XMODMAP_CONFDIR}/$i/xmodmap + break + } +done + +# check for post script file +for i in $s3 $s2 $s1 ""; do + [ -r ${SCRIPT_DIR}/$i/post ] && { + POST_SCRIPT_FILE=${SCRIPT_DIR}/$i/post + break + } +done + +[ -e "$XMODMAP_INPUTFILE" ] && { + xmodmap $XMODMAP_INPUTFILE + [ "$VERBOSE" ] && echo "Loading xmodmap input file $XMODMAP_INPUTFILE" +} + +[ -e "$XBINDKEYS_INPUTFILE" ] && { + xbindkeys -f $XBINDKEYS_INPUTFILE + [ "$VERBOSE" ] && echo "Loading xmodmap input file $XBINDKEYS_INPUTFILE" +} + +[ -e "$POST_SCRIPT_FILE" ] && { + [ "$VERBOSE" ] && echo "Executing post script file $POST_SCRIPT_FILE" + . $POST_SCRIPT_FILE +} \ No newline at end of file diff --git a/xbindkeys-synaptics-switch b/xbindkeys-synaptics-switch new file mode 100644 index 0000000..3d397dc --- /dev/null +++ b/xbindkeys-synaptics-switch @@ -0,0 +1,10 @@ +#!/bin/bash +# +# synaptics-switch: switch the touchpad on/off for use with xbindkeys +# Copyright (c) 2008 by Silvan Calarco +# +[ -e /usr/bin/synclient ] || exit 0 +eval `/usr/bin/synclient -l |grep TouchpadOff|sed "s| ||g"` +[ "$TouchpadOff" = "1" ] && \ + /usr/bin/synclient TouchpadOff=0 || + /usr/bin/synclient TouchpadOff=1 diff --git a/xbindkeys-xprofile b/xbindkeys-xprofile new file mode 100644 index 0000000..af68a82 --- /dev/null +++ b/xbindkeys-xprofile @@ -0,0 +1 @@ +/usr/bin/xbindkeys-start diff --git a/xbindkeys.spec b/xbindkeys.spec new file mode 100644 index 0000000..2a8db1a --- /dev/null +++ b/xbindkeys.spec @@ -0,0 +1,154 @@ +%define xbindkeys_data_ver 1.4.2 +Name: xbindkeys +Version: 1.8.6 +Release: 1mamba +Summary: A program that allows you to launch shell commands with your keyboard or your mouse under X Window +Group: System/X11 +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.nongnu.org/xbindkeys/xbindkeys.html +Source: http://www.nongnu.org/xbindkeys/xbindkeys-%{version}.tar.gz +Source1: xbindkeysrc +Source2: xbindkeys-data-%{xbindkeys_data_ver}.tar.bz2 +Source4: xbindkeys-start +Source6: xbindkeys-desktop +Source7: xbindkeys-synaptics-switch +Source8: xbindkeys-xprofile +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libgc-devel +BuildRequires: libguile-devel +BuildRequires: libX11-devel +## AUTOBUILDREQ-END +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +xbindkeys is a program that allows you to launch shell commands with your keyboard or your mouse under X Window. It links commands to keys or mouse buttons, using a configuration file. It's independant of the window manager and can capture all keyboard keys (ex: Power, Wake...). + +%prep +%setup -q -a2 + +%build +%configure +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +install -d \ + %{buildroot}%{_datadir}/X11/xbindkeys \ + %{buildroot}%{_datadir}/X11/xmodmap \ + %{buildroot}%{_kdedatadir}/autostart \ + %{buildroot}%{_sysconfdir}/xprofile.d + +cp -a xbindkeys-data-%{xbindkeys_data_ver}/xbindkeys %{buildroot}%{_datadir}/X11/ +cp -a xbindkeys-data-%{xbindkeys_data_ver}/xmodmap %{buildroot}%{_datadir}/X11/ +cp -a xbindkeys-data-%{xbindkeys_data_ver}/scripts %{buildroot}%{_datadir}/X11/ + +install -m0755 %{SOURCE4} %{buildroot}%{_bindir}/xbindkeys-start +#install -m0644 %{SOURCE6} %{buildroot}%{_kdedatadir}/autostart/xbindkeys.desktop +install -m0755 %{SOURCE7} %{buildroot}%{_bindir}/synaptics-switch +install -m0755 %{SOURCE8} %{buildroot}%{_sysconfdir}/xprofile.d/xbindkeys.sh + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_sysconfdir}/xprofile.d/xbindkeys.sh +%{_bindir}/xbindkeys-start +%{_bindir}/synaptics-switch +%{_bindir}/xbindkeys +%{_bindir}/xbindkeys_show +%dir %{_datadir}/X11/xbindkeys +%{_datadir}/X11/xbindkeys/* +%dir %{_datadir}/X11/xmodmap +%{_datadir}/X11/xmodmap/* +%dir %{_datadir}/X11/scripts +%{_datadir}/X11/scripts/* +%{_mandir}/man1/xbindkeys.1.gz +%{_mandir}/man1/xbindkeys_show.1.gz +%doc AUTHORS BUGS COPYING ChangeLog NEWS README TODO + +%changelog +* Sun Jan 05 2014 Automatic Build System 1.8.6-1mamba +- automatic version update by autodist + +* Tue Oct 29 2013 Silvan Calarco 1.8.5-2mamba +- rebuilt with guile 2 + +* Sat Jul 21 2012 Automatic Build System 1.8.5-1mamba +- update to 1.8.5 + +* Fri Aug 13 2010 Silvan Calarco 1.8.3-5mamba +- apple/xmodmap: map lower right Enter key to Insert +- apple/xbindkeys: updated specfial key names for backlight and keyboard light control + +* Mon Jul 12 2010 Automatic Build System 1.8.3-4mamba +- automatic rebuild by autodist + +* Thu Jan 07 2010 Silvan Calarco 1.8.3-3mamba +- xbindkeys-data: fix canc key on Acer Extensa 5620 + +* Mon Feb 09 2009 Silvan Calarco 1.8.3-2mamba +- update xbindkeys data to 1.4 + +* Sun Feb 08 2009 Silvan Calarco 1.8.3-1mamba +- update to 1.8.3 +- xmodmap/apple/macbook: update for xorg-server >= 1.4 + +* Sat Jan 17 2009 Silvan Calarco 1.8.2-15mamba +- acer: map Canc key (keycode 242) to Cancel in xmodmap file + +* Sun Oct 12 2008 Silvan Calarco 1.8.2-14mamba +- launch xbindkeys from /etc/xprofile.d/ +- removed autostart file for kde3 + +* Sat Sep 20 2008 Silvan Calarco 1.8.2-13mamba +- fixed generix xmodmap file syntax + +* Tue Sep 16 2008 Silvan Calarco 1.8.2-12mamba +- xbindkeys-data: added support for standard multimedia keys by default + +* Mon Sep 15 2008 Silvan Calarco 1.8.2-11mamba +- xbindkeys-data: added inital support for Acer and HP laptops + +* Wed Jun 25 2008 Silvan Calarco 1.8.2-10mamba +- added support for script file with xset execution + +* Wed Jun 25 2008 Silvan Calarco 1.8.2-9mamba +- added mappings for keyboard audio volume controls + +* Wed Jun 25 2008 Silvan Calarco 1.8.2-8mamba +- fixed an error in zepto/xmodmap file + +* Tue Apr 29 2008 Silvan Calarco 1.8.2-7mamba +- added zepto xmodmap file with multimedia keys + +* Wed Mar 12 2008 Silvan Calarco 1.8.2-6mamba +- added support for specific products and model + +* Mon Mar 10 2008 Silvan Calarco 1.8.2-5mamba +- xbindkeys-start: fixed check on SYSTEM_MANUFACTURER + +* Mon Feb 11 2008 Silvan Calarco 1.8.2-4mamba +- added support for touchpad on/off switch (SHIFT+F11) + +* Mon Feb 04 2008 Silvan Calarco 1.8.2-3mamba +- xbindkeysrc-Zepto: launch kontact instead of kmail + +* Fri Feb 01 2008 Silvan Calarco 1.8.2-2mamba +- added xprofile startup script with support for Apple and Zepto notebooks + +* Thu Jan 31 2008 Silvan Calarco 1.8.2-1mamba +- update to 1.8.2 + +* Mon Jan 08 2007 Silvan Calarco 1.7.4-1qilnx +- update to version 1.7.4 by autospec +- added default configuration for Shift+Fn keys in /etc/X11/xbindkeys + +* Mon Oct 02 2006 Silvan Calarco 1.7.3-1qilnx +- package created by autospec diff --git a/xbindkeysrc b/xbindkeysrc new file mode 100644 index 0000000..5eb24c5 --- /dev/null +++ b/xbindkeysrc @@ -0,0 +1,19 @@ +#mute sound +"amixer set Master 0; amixer set Headphone 0; amixer set Front 0" +Shift + F3 + +#decrease volume by 5% +"amixer set Master 5-; amixer set Headphone 5-; amixer set Front 5-" +Shift + F4 + +#increase volume by 5% +"amixer set Master 5+; amixer set Headphone 5+; amixer set Front 5+" +Shift + F5 + +# switch touchpad on/off +"synaptics-switch" +Shift + F11 + +#eject CD/DVD-ROM +"eject -T" +Shift + F12