summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McCarty <patrick.mccarty@linux.intel.com>2012-07-19 16:43:58 -0700
committerPatrick McCarty <patrick.mccarty@linux.intel.com>2012-07-19 17:09:55 -0700
commit3c3a1f930be69ce740b7800fee54dcad67672fd7 (patch)
treef9f272174731034a287b41a99cd7aa6cc96e3fe6
parent97ef01891306707e8672c0fccfc77f4d5a5867bf (diff)
downloadx11-xserver-utils-3c3a1f930be69ce740b7800fee54dcad67672fd7.tar.gz
x11-xserver-utils-3c3a1f930be69ce740b7800fee54dcad67672fd7.tar.bz2
x11-xserver-utils-3c3a1f930be69ce740b7800fee54dcad67672fd7.zip
systemd: add service to selectively disable autorepeat
The xorg-launch-helper does not pass the option to Xorg to disable autorepeat, but there are several device-specific keys (for Lunchbox) that should have autorepeat disabled. These keys include XF86AudioLowerVolume, XF86AudioRaiseVolume, XF86PowerOff, and XF86Phone. This commit adds a user-session service file that runs `xset -r KEYCODE1 -r KEYCODE2 ...` to disable autorepeat for these keycodes before e17 starts. The service file is installed in a separate subpackage that will be added to Lunchbox images. Change-Id: I16934eb1ba1c939ce9577ffb02485dea4f77f92d Signed-off-by: Patrick McCarty <patrick.mccarty@linux.intel.com>
-rw-r--r--packaging/xorg-x11-xserver-utils.changes3
-rw-r--r--packaging/xorg-x11-xserver-utils.spec18
-rw-r--r--packaging/xset-autorepeat-lb.service17
3 files changed, 38 insertions, 0 deletions
diff --git a/packaging/xorg-x11-xserver-utils.changes b/packaging/xorg-x11-xserver-utils.changes
index 6931b25..232ddbb 100644
--- a/packaging/xorg-x11-xserver-utils.changes
+++ b/packaging/xorg-x11-xserver-utils.changes
@@ -1,3 +1,6 @@
+* Thu Jul 19 2012 Patrick McCarty <patrick.mccarty@linux.intel.com> c6c2cac
+- systemd: add service to selectively disable autorepeat
+
* Mon Jul 09 2012 Patrick McCarty <patrick.mccarty@linux.intel.com> 39759d4
- Add systemd user-session service files for xrdb and xmodmap
diff --git a/packaging/xorg-x11-xserver-utils.spec b/packaging/xorg-x11-xserver-utils.spec
index ea95ea2..79fdaf0 100644
--- a/packaging/xorg-x11-xserver-utils.spec
+++ b/packaging/xorg-x11-xserver-utils.spec
@@ -8,6 +8,7 @@ URL: http://www.x.org
Source0: %{name}-%{version}.tar.gz
Source1: xmodmap.service
Source2: xrdb.service
+Source3: xset-autorepeat-lb.service
Source1001: packaging/xorg-x11-xserver-utils.manifest
BuildRequires: pkgconfig(xorg-macros)
@@ -51,6 +52,16 @@ Provides: %{DEF_SUBDIRS}
- xstdcmap, a utility to selectively define standard colormap properties;
- xvidtune, a tool for customizing X server modelines for your monitor.
+%package lb
+Summary: Device-specific files for Lunchbox
+Group: User Interface/X
+Requires: %{name} = %{version}
+
+%description lb
+This package provides files for the X server utilities package that are
+specific to Lunchbox devices.
+
+
%prep
%setup -q
@@ -82,8 +93,10 @@ cp %{SOURCE1001} .
mkdir -p %{buildroot}%{_libdir}/systemd/user/core-efl.target.wants
install -m 0644 %SOURCE1 %{buildroot}%{_libdir}/systemd/user/
install -m 0644 %SOURCE2 %{buildroot}%{_libdir}/systemd/user/
+install -m 0644 %SOURCE3 %{buildroot}%{_libdir}/systemd/user/
ln -s ../xmodmap.service %{buildroot}%{_libdir}/systemd/user/core-efl.target.wants/xmodmap.service
ln -s ../xrdb.service %{buildroot}%{_libdir}/systemd/user/core-efl.target.wants/xrdb.service
+ln -s ../xset-autorepeat-lb.service %{buildroot}%{_libdir}/systemd/user/core-efl.target.wants/xset-autorepeat-lb.service
%docs_package
@@ -97,3 +110,8 @@ ln -s ../xrdb.service %{buildroot}%{_libdir}/systemd/user/core-efl.target.wants/
%{_libdir}/systemd/user/core-efl.target.wants/xmodmap.service
%{_libdir}/systemd/user/core-efl.target.wants/xrdb.service
%{_datadir}/X11/rgb.txt
+
+%files lb
+%manifest xorg-x11-xserver-utils.manifest
+%{_libdir}/systemd/user/xset-autorepeat-lb.service
+%{_libdir}/systemd/user/core-efl.target.wants/xset-autorepeat-lb.service
diff --git a/packaging/xset-autorepeat-lb.service b/packaging/xset-autorepeat-lb.service
new file mode 100644
index 0000000..4c28b14
--- /dev/null
+++ b/packaging/xset-autorepeat-lb.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Turn off AutoRepeat for specific device keys
+After=xorg.target
+Requires=xorg.target
+Before=e17.service
+
+[Service]
+Type=oneshot
+# Keycodes:
+# 122 = XF86AudioLowerVolume
+# 123 = XF86AudioRaiseVolume
+# 124 = XF86PowerOff
+# 147 = XF86Phone
+ExecStart=/usr/bin/xset -r 122 -r 123 -r 124 -r 147
+
+[Install]
+WantedBy=core-efl.target