I think I found the reason for the different behaviour of 2.6.31 and
2.6.32.

According to:
http://support.euro.dell.com/support/downloads/download.aspx?c=de&cs=debsdt1&l=de&s=bsd&releaseid=R231574&SystemID=LAT_E6400&servicetag=&os=WLH&osl=ge&deviceid=15569&devlib=0&typecnt=0&vercnt=11&catid=-1&impid=-1&formatcnt=0&libid=1&typeid=-1&dateid=-1&formatid=-1&fileid=333175

Dell added support for Windows 7 with BIOS version A15 for the Latitude E6400. 
A14 + kernel 2.6.32 caused fn-f8 to be reported as keycode 227.
Kernel 2.6.31 claims to support the ACPI interface for Vista, 2.6.32 claims to 
support the ACPI interface for Win7.


linux-2.6.31/drivers/acpi/acpica/uteval.c:
static struct acpi_interface_info acpi_interfaces_supported[] = {
        /* Operating System Vendor Strings */

        {"Windows 2000", ACPI_OSI_WIN_2000},    /* Windows 2000 */
        {"Windows 2001", ACPI_OSI_WIN_XP},      /* Windows XP */
        {"Windows 2001 SP1", ACPI_OSI_WIN_XP_SP1},      /* Windows XP SP1 */
        {"Windows 2001.1", ACPI_OSI_WINSRV_2003},       /* Windows Server 2003 
*/
        {"Windows 2001 SP2", ACPI_OSI_WIN_XP_SP2},      /* Windows XP SP2 */
        {"Windows 2001.1 SP1", ACPI_OSI_WINSRV_2003_SP1},       /* Windows 
Server 2003 SP1 - Added 03/2006 */
        {"Windows 2006", ACPI_OSI_WIN_VISTA},   /* Windows Vista - Added 
03/2006 */


linux-2.6.32/drivers/acpi/acpica/uteval.c:
static struct acpi_interface_info acpi_interfaces_supported[] = {
        /* Operating System Vendor Strings */

        {"Windows 2000", ACPI_OSI_WIN_2000},    /* Windows 2000 */
        {"Windows 2001", ACPI_OSI_WIN_XP},      /* Windows XP */
        {"Windows 2001 SP1", ACPI_OSI_WIN_XP_SP1},      /* Windows XP SP1 */
        {"Windows 2001.1", ACPI_OSI_WINSRV_2003},       /* Windows Server 2003 
*/
        {"Windows 2001 SP2", ACPI_OSI_WIN_XP_SP2},      /* Windows XP SP2 */
        {"Windows 2001.1 SP1", ACPI_OSI_WINSRV_2003_SP1},       /* Windows 
Server 2003 SP1 - Added 03/2006 */
        {"Windows 2006", ACPI_OSI_WIN_VISTA},   /* Windows Vista - Added 
03/2006 */
        {"Windows 2006.1", ACPI_OSI_WINSRV_2008},       /* Windows Server 2008 
- Added 09/2009 */
        {"Windows 2006 SP1", ACPI_OSI_WIN_VISTA_SP1},   /* Windows Vista SP1 - 
Added 09/2009 */
        {"Windows 2009", ACPI_OSI_WIN_7},       /* Windows 7 and Server 2008 R2 
- Added 09/2009 */


If the OS claims to support the Vista interface, the BIOS reports fn-f8 as 
keycode 227.
If the OS claims to support the Win7 interface, the BIOS reports fn-f8 as 
Super_L + p.


Conclusion: No bug in Linux, the BIOS just (intentionally) reports fn-f8 
differently for Vista and Win7. Which would indicate that Super + p is a 
feature that was introduced with Win7 :)


As I suspect that more and more newer laptops are going to default to this 
behaviour, you would have to either quirk those to convert Super_L + p to 
DISPLAYTOGGLE (which is not feasible), or have everything that previously only 
reacted on DISPLAYTOGGLE to also react on Super_L + p. But that's out of scope 
for this bug report.

-- 
Fn+F8 key combination doesn't work on Dell E5500
https://bugs.launchpad.net/bugs/539477
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to