Comment 3 for bug 539477

Revision history for this message
Kai Jauch (kaijauch) wrote : Re: Fn+F8 key combination doesn't work on Dell E5500

Oh boy. I don't think this is a linux bug, this is intentional (Dell's intention).

I just did a BIOS update on my Dell Latitude E6400 from version A14 to A20. Version A20 doesn't generate keycode 227 anymore (as it did with A14), it generates super-p (windows key + p). Super-p ("p" as in projector, I guess) on Windows 7 (and probably Vista) pops up a dialog in which you can choose whether you want to clone the display, only activate the internal/external one or extend the desktop over both displays. AFAICT this method has the benefit of the user being able to specifically select the desired configuration without having to cycle through them one at a time, as it was the case with the original "display toggle key".

The output of xev supports that. It reports:
KeyPress event, serial 36, synthetic NO, window 0x5000001,
    root 0xb5, subw 0x0, time 582754, (489,-484), root:(492,187),
    state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x5000001,
    root 0xb5, subw 0x0, time 582754, (489,-484), root:(492,187),
    state 0x40, keycode 33 (keysym 0x70, p), same_screen YES,
    XLookupString gives 1 bytes: (70) "p"
    XmbLookupString gives 1 bytes: (70) "p"
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x5000001,
    root 0xb5, subw 0x0, time 582794, (489,-484), root:(492,187),
    state 0x40, keycode 33 (keysym 0x70, p), same_screen YES,
    XLookupString gives 1 bytes: (70) "p"
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x5000001,
    root 0xb5, subw 0x0, time 583392, (489,-484), root:(492,187),
    state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Before this BIOS update there never was a way to tell whether the user was still holding down the fn key when he released f8, this was an instantaneous DisplayToggle Press+Release, no matter how long you actually pressed it. Now this is possible, as fn gets mapped to Super_L if you press fn-f8.