Getting special keys to work

John Hupp lubuntu at prpcompany.com
Wed Apr 30 21:18:59 UTC 2014


I wondered much the same about lxsession-default, in part because I want 
to set the power button to actually just "Shut Down" as I have it set in 
Power Preferences.  Now, pressing the power button produces the logout 
window, which I equate with "Ask."

So far I have not found any documentation for lxsession-default.

I made it part-way to the goal with "xset dpms force off." That just 
turns off the monitor, but it does do so without root permission.

On 4/30/2014 4:55 PM, Andre Rodovalho wrote:
> 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 
> <mailto: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 <mailto: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
>>>>>>         <mailto: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
>>>>>>             <mailto: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 <mailto: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/696bcfd4/attachment-0001.html>


More information about the Lubuntu-users mailing list