Getting special keys to work

Andre Rodovalho andre.rodovalho at gmail.com
Wed Apr 30 21:14:08 UTC 2014


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/d17836e9/attachment.html>


More information about the Lubuntu-users mailing list