Closed Neamar closed 10 years ago
Hi,
thanks a lot! I'm glad it is of use to others as well :) I'm pretty sure it should be quite straightforward to achieve what you describe using a udev rule. Until now I didn't need such a script but I'll gladly give it a go.
So I added a udev rules file and it works great. Feel free to check it out and thanks for the idea!
To install, just put 99-k290-config.rules
in /etc/udev/rules.d
and restart udev to have it pick it up.
Great! I'll test that on monday.
Sadly, it does not seem to works.
Here is a ll
from /etc/udev/rules.d
:
total 24
drwxr-xr-x 2 root root 4096 Apr 26 18:27 ./
drwxr-xr-x 4 root root 4096 Apr 1 11:31 ../
-rw-r--r-- 1 root root 862 Apr 30 2013 70-persistent-cd.rules
-rw-r--r-- 1 root root 458 Apr 17 2013 70-persistent-net.rules
-rw-r--r-- 1 root root 86 Apr 26 18:27 99-k290-config.rules
-rw-r--r-- 1 root root 1157 Oct 11 2012 README
However, when the computer resume from sleep, keys are not restored. Am I missing something?
Good question :smile: I hadn't tested resuming from sleep and as I'm a udev-noob myself it is quite likely that I overlooked something and it's possible to have it re-run the command in that scenario.
So plugging / unplugging works quite well,
Regarding suspend, i tried to sleep with udevadm monitor
, no 'input' devices are logged, so i guess more work would be needed.
Sadly, according to http://lists.freedesktop.org/archives/systemd-devel/2013-December/015327.html:
udev rules are only executed when hw appears/disappears or "changes", but not on resume/suspend... sorry...
Maybe for now i'll stick to plugging / unplugging the device after resume ^^
Looks like the easiest way would be either via script in /etc/pm/sleep.d
or via a systemd service on After=sleep.target
(or suspend.target
, I'm not sure).
Okay, thank you. I'll give it a shot.
On Tue, Apr 29, 2014 at 7:35 PM, Marcus Ilgner notifications@github.comwrote:
Looks like the easiest way would be either via script in /etc/pm/sleep.dor via a systemd service on After=sleep.target (or suspend.target, I'm not sure).
— Reply to this email directly or view it on GitHubhttps://github.com/milgner/k290-fnkeyctl/issues/3#issuecomment-41707039 .
For resume from sleep #7 I use this script:
/usr/lib/systemd/system-sleep/k290-fnkeyctl.sh
90ea4d15f2a0cfa653b537e506e1ea54a5a66036
#!/bin/bash
case $1/$2 in
post/*)
/usr/local/sbin/k290_fnkeyctl
;;
esac
In Fedora 18+ /etc/pm/sleep.d
is not invoked anymore.
For system without systemd, sleep.d script should work /etc/pm/sleep.d/20-k290.sh
dc070bc74cb972d507ea461fd095dbc6ceb939df
#!/bin/bash
case "$1" in
thaw|resume)
/usr/local/sbin/k290_fnkeyctl > /dev/null
;;
*) exit $NA
;;
esac
exit $?
This worked! Thanks.
Hi,
Really great script. I searched for something like that a few months ago without any success, so really happy to find it now.
One small caveat though, the setting is reset each time i plug / unplug / sleep / hibernate / reboot. Do you think there is any way it can be set automatically each time?
Else i guess i can find a place to run the script after boot / unsleep, but not after plugging the keyboard in ;)
Once again, really nice work.