Getting special keys to work
Andre Rodovalho
andre.rodovalho at gmail.com
Wed Apr 30 22:20:41 UTC 2014
Nice...
*dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop*
works here... Post here if you find out how to request suspend and
hibernate... I'm not intending to use it, but It is good to see every
single key on your machine actually working...
By the way, I could make the power button to shutdown immediately setting
up xfce4-power-manager on previus Lubuntu versions... did not try this on
13.10 and 14.04...
2014-04-30 18:45 GMT-03:00 John Hupp <lubuntu at prpcompany.com>:
> Nice find.
>
> Recent travels brought me to
> http://askubuntu.com/questions/339842/xubuntu-hotkey-for-immediate-shutdown,
> because I was looking for xfce commands to do the job, but it also has this
> dbus-send command, which I just used to shut down a machine without root
> privileges:
>
> dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit
> /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
>
> That page has also has desirable-looking xfce4-session-logout commands
> (everything we would want), but they rely on a package not installed on
> Lubuntu, and lxsession-logout does not yet support any parallel options.
>
> Needless to say, on account of the success with the dbus-send shutdown
> command, I am now looking hard at dbus-send:
> http://manpages.ubuntu.com/manpages/trusty/man1/dbus-send.1.html
>
>
> On 4/30/2014 5:14 PM, Andre Rodovalho wrote:
>
> http://sourcecodebrowser.com/lxsession/0.4.3/lxsession-logout_8c.html
>
> *dbus* seems to have control... I have no idea on how can you control
> dbus, but my guess it you will need root...
>
>
> 2014-04-30 17:55 GMT-03:00 Andre Rodovalho <andre.rodovalho at gmail.com>:
>
>> I know *lxsession-logout* gives us that logout window which hibernate,
>> suspend and others are available... I tried to insert some commands but I
>> had no luck. Maybe you can search this lxssession-logout documentation or
>> it's source code...
>>
>> *lxsession-default quit* triggers to lxsession-logout...
>>
>>
>> 2014-04-30 17:11 GMT-03:00 John Hupp <lubuntu at prpcompany.com>:
>>
>> One problem solved: If I use "nmcli nm wifi on" and "nmcli nm wifi off"
>>> instead of the rfkill commands, this toggles the wifi radio without root
>>> permissions.
>>>
>>> Now if I could find some suspend/standby and hibernate commands that
>>> don't require root permission, this job would be done!
>>>
>>>
>>> On 4/30/2014 3:30 PM, John Hupp wrote:
>>>
>>> I spoke too soon. All the programs (rfkill, pm-suspend, pm-hibernate)
>>> must run as root, and nothing I have tried so far has allowed these keys to
>>> work as I intend.
>>>
>>> I created /home/<user>/.config/openbox/toggle-wifi.sh with this content:
>>>
>>> #!/bin/bash
>>>
>>> if [ $(rfkill list wifi | grep "Soft blocked: yes" | wc -l) -eq 1 ] ;
>>> then
>>> rfkill unblock wifi
>>> zenity --info --text "Enabled wireless"
>>> else
>>> rfkill block wifi
>>> zenity --info --text "Disabled wireless"
>>> fi
>>>
>>> And then:
>>>
>>> chown root:root toggle-wifi.sh
>>> chmod 4755 toggle-wifi.sh
>>>
>>> I also tried inserting 'sudo command' in front of the rfkill commands in
>>> toggle-wifi.sh, and I tried 'sudo command toggle-wifi.sh' in the
>>> lubuntu-rc.xml command statement.
>>>
>>> On 4/30/2014 1:09 PM, John Hupp wrote:
>>>
>>> After thinking about it, I used an Upstart job to do what the
>>> MultiMediaKeys article instructed to be done with bootmisc.sh or rc.local.
>>>
>>> Though I'm no better than an Upstart hacker, especially with regard to
>>> choice of a 'start on' event, I created /etc/init/kb-keys-customize.conf
>>> with this content:
>>>
>>> # kb-keys-customize
>>> #
>>> # Map key codes to the scan codes emitted by Fn-F4, Fn-F5, Fn-F12
>>>
>>> description "Map Fn-F4, Fn-F5 and Fn-F12 kernel scancodes to kernel
>>> keycodes"
>>> author "John Hupp"
>>>
>>> start on local-filesystems
>>>
>>> script
>>> setkeycodes e017 128 e016 129 e018 130
>>> end script
>>>
>>> After rebooting, I found that 'xev -event keyboard' now reports that
>>> Fn-F4, Fn-F5 and Fn-F12 are mapped to X keysyms Cancel, Redo and SunProps,
>>> so I expect that I should be able to bind those keys in lubuntu-rc.xml to
>>> Andre's suggested commands.
>>>
>>> On 4/29/2014 6:08 PM, John Hupp wrote:
>>>
>>> The next problem is that Fn-F4 and Fn-F5 don't generate any keysyms, so
>>> they can't be bound to the commands suggested by Andre.
>>>
>>> To deal with that, I've been following the In-Depth Instructions in
>>> https://help.ubuntu.com/community/MultimediaKeys, and I have identified
>>> the scancodes and picked a couple unassigned kernel keycodes, but that
>>> article is old, and writing setkeycodes commands into
>>> /etc/init.d/bootmisc.sh or /etc/rc.local seems deprecated (those files
>>> don't exist).
>>>
>>> Is there more current documentation for this task? Is ibus-setup
>>> supposed to handle this job somehow under Lubuntu 14.04? Or is there
>>> another place preferred for auto-starting setkeycodes commands?
>>>
>>> On 4/29/2014 3:54 PM, John Hupp wrote:
>>>
>>> Thanks, Andre, for all of those great tips.
>>>
>>> I've been looking at the Exec lines in several versions of
>>> ~/.config/autostart/LXRandR-autostart.desktop (created when one clicks Save
>>> in LXRandR) and thinking about how I could create something that would
>>> cause Fn-F7 to toggle through the LVDS, VGA and S-Video outputs, but your
>>> approach -- simply binding to LXRandR -- is a MUCH better idea!
>>>
>>> And if I wanted to add the ability to extend the desktop instead of
>>> mirroring it, I could install arandr and just bind to that instead.
>>>
>>> On 4/29/2014 3:18 PM, Andre Rodovalho wrote:
>>>
>>> I tested here, and it works:
>>> http://askubuntu.com/questions/181390/what-is-the-command-for-sleep-hibernate
>>>
>>> *pm-suspend* and *pm-hibernate*
>>>
>>>
>>> 2014-04-29 16:13 GMT-03:00 Andre Rodovalho <andre.rodovalho at gmail.com>:
>>>
>>>> On lubuntu-rc.xml I do:
>>>>
>>>> <keybind key="XF86Display">
>>>> <action name="Execute">
>>>> <command>lxrandr</command>
>>>> </action>
>>>> </keybind>
>>>>
>>>> *lxrandr* deals with additional monitors, you just enable them an
>>>> apply.
>>>>
>>>> I'm not sure what commands you can execute to sleep and hibernate,
>>>> but you can control radio with *rfkill*. I'm not sure if those
>>>> commands really require root access, but on that case you can do a: *gksu
>>>> command*
>>>>
>>>> Hope that helps! To test the shortcuts without restarting all the
>>>> system you can restart only openbox: *openbox --restart*
>>>>
>>>>
>>>> 2014-04-28 22:03 GMT-03:00 Israel <israeldahl at gmail.com>:
>>>>
>>>> On 04/28/2014 07:48 PM, John Hupp wrote:
>>>>> > I was trying to watch Netflix on a laptop (with Lubuntu) connected to
>>>>> > a TV by S-Video connection. I found out that Fn-F7 was not working
>>>>> to
>>>>> > select the external VGA or S-Video displays.
>>>>> >
>>>>> > Subsequently I found that Fn-F4 does not put the laptop to sleep, and
>>>>> > Fn-F5 does not toggle the WiFi radio on/off. (The other common
>>>>> > special keys work OK.)
>>>>> >
>>>>> > So I'm trying to get those keys working that way via entries in
>>>>> > lubuntu-rc.xml.
>>>>> >
>>>>> > With 'xev -event keyboard' I found out that Fn-F7 produces the keysym
>>>>> > 'XF86Display' but I still need to know what command to bind that to.
>>>>> > So that's my first question.
>>>>> >
>>>>> > Fn-F4 and Fn-F5 does not produce any keysym's, so I'm currently at a
>>>>> > loss for how to proceed next with those.
>>>>> >
>>>>> >
>>>>> Hi,
>>>>>
>>>>> you can use arandr to make a shell script to switch the display to a
>>>>> certain mode. Plug in the monitor and use arandr to make a setup you
>>>>> want, and save that. Then open your config file for openbox and set
>>>>> the keyboard shortcut for your display key (i.e. XF86Display)
>>>>> to execute the
>>>>> <command>
>>>>> /bin/bash /path/to/scriptname.sh
>>>>> </command>
>>>>> while scriptname.sh is whatever you saved the setup as with the correct
>>>>> path.
>>>>>
>>>>> arandr is a front-end for xrandr. So the script is actually using
>>>>> xrandr to modify your display settings.
>>>>>
>>>>> I hope this helps.
>>>>>
>>>>> --
>>>>> Regards
>>>>>
>>>>>
>>>>> --
>>>>> Lubuntu-users mailing list
>>>>> Lubuntu-users at lists.ubuntu.com
>>>>> Modify settings or unsubscribe at:
>>>>> https://lists.ubuntu.com/mailman/listinfo/lubuntu-users
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Lubuntu-users mailing list
>>> Lubuntu-users at lists.ubuntu.com
>>> Modify settings or unsubscribe at:
>>> https://lists.ubuntu.com/mailman/listinfo/lubuntu-users
>>>
>>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/lubuntu-users/attachments/20140430/58fef75c/attachment-0001.html>
More information about the Lubuntu-users
mailing list