On Sunday 05 August 2018 at 20:24:30, Alessandro Selli wrote:
> On 05/08/2018 at 16:29, Antonio Trkdz.tab wrote:
> > Dear All,
> >
> > I am struggling to understand how to run a script automatically upon
> > plugging a USB keyboard.
> > I know this issue is not directly related to Devuan, but I will
> > certainly appreciate a little help.
> >
> > I created the following rule as /etc/udev/rules.d/90-usb-keyboard.rules:
> > ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", ACTION=="add",
> > RUN+="/full/path_to/restore_space_as_modifier.sh"
> > and reloaded eudev (I am on ASCII).
> >
> > The script essentially has to do this:
> >
> > #!/bin/bash
> > /usr/bin/xmodmap -e "keycode 65=Super_L"
> > /usr/bin/xmodmap -e "keycode any=space"
> > /usr/bin/pkill xcape
> > /usr/bin/xcape -e "Super_L=space"
>
> I think the problem lies in the x* from the commands: they are X11
> commands, i.e. they interact with a running Xorg. But, as they are run
> by udevd, i.e. by a system daemon, they do not have the DISPLAY variable
> initialized and do not have the appropriate session Xauthority cookies
> set. Thus they fail.
That sounds plausible, but doesn't explain:
> > it is not working, nothing happens, not even a simple echo something to a
> > file, the only command I have got working is touching a file with
> > 'RUN+="/usr/bin/touch path_to/filename"
Antony.
--
Don't procrastinate - put it off until tomorrow.
Please reply to the list;
please *don't* CC me.