[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Fn+F8 and laptop keys





On Sat, Jul 26, 2008 at 8:28 AM, Paulo Cavalcanti <promac gmail com> wrote:
Hi,

I have had some problems for making my laptop special keys
to work. First of all, hall-info from F8 is not updated. In my case,
a Dell owner, the file

/usr/share/hal/fdi/information/10freedesktop/30-keymap-dell.fdi

is divided based on Dell models (very few). The current hall-info has only one configuration
for all models. Anyway, fixing the keymap made all my keys working:

Fn+F1 hibernate
Fn+F3 battery status (just show the status once, a second hit does not show anything. Why?)
and all the multimedia keys.

This is good, because there is no need to include setkeycodes in /etc/rc.local.

The only key that is really not working is the Fn+F8, to switch between the LCD and
an external monitor. Although I have

<append key="input.keymap.data" type="strlist">e00b:displaytoggle</append> <!-- Fn+F8 CRT/LCD -->

in my file, it does not make any difference at all. If I press Fn+F8, dmesg gives me:

atkbd.c: Unknown key pressed (translated set 2, code 0x8b on isa0060/serio0).
atkbd.c: Use 'setkeycodes e00b <keycode>' to make it known.

Therefore, the key is not mapped. Well, I tried mapping it to 214 (XF86Video), 227, etc ... and no joy.

I have an nvidia 8400 GS card. If during the boot I press Fn+F8 before entering X, I can switch to the
external monitor, but I cannot go back to the laptop LCD. I tried the nv and the nvidia binary driver in xorg.conf.
Using the nv driver, the login screen appears on both, LCD+monitor, but after loging in, only the external monitor is active. Using the binary driver, not even that, the login screen appears onto only one.

I saw some posts about using xrandr for this purpose:

http://ubuntuforums.org/archive/index.php/t-634675.html

My question is: is it possible to switch using an nvidia card on Fedora? Would xrandr work?

I also think that an updated hall-info for F8 is in order. It would be really nice if those keys worked just out of the box.
This is the type of issue that is very difficult to fix without some knowledge, and makes users look for other distros. In fact, switching to an external monitor is essential for presentations using a projector. Since I wiped out my Vista OS, I do not even know if switching worked on Windows for my Vostro 1400.


Well, the scheme works surprisinly well.

I tested it on my desktop and a TV, and my laptop and an external Samsung CRT.

I also managed to make mplayer send its output automatically to the secondary display when
in full screen mode (using SDL).

Unfortunately, everything depends on the graphics driver. I used the binary nvidia driver (177.13).

But definitively, it is something very useful, and should be supported out of the box, in my opinion.


#!/bin/bash
#
# Toggles display (0: TwinView, 1: TV/CRT, and 2:LCD)
# by switching through xorg resolutions.
# It is neessary to use 'MetaModes' in
# the Nvidia driver to set up a few
# different resolutions.
#
if [ -f ~/.changeres ]; then
   . ~/.changeres
fi

if [ -z $INDEX ]; then
   INDEX=-1
fi

let INDEX "INDEX += 1"

if [[ $INDEX > 2 ]]; then
    INDEX=0
fi

# Interfaces to RandR extension.
# Sets the screen size using an index
# into the list of available sizes.
# In case of error, it prints:
#   "Size index 4 is too large, there are only 3 sizes"

xrandr -s $INDEX

if [ $? == "0" ]; then
   echo "OK"
else
   INDEX=0
   xrandr -s $INDEX
fi

echo "#!/bin/bash" > ~/.changeres
echo "INDEX=$INDEX" >> ~/.changeres

-----------------------------------------------------------

This is the contents of my ~/.xbindkeysrc:

#Toggle Display
"/home/roma/bin/changeres.sh"
    m:0x0 + c:214
    XF86Display



--
Paulo Roma Cavalcanti
LCG - UFRJ

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]