On Sat, Jul 26, 2008 at 8:28 AM, Paulo Cavalcanti <promac(a)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