Opened 17 years ago

Closed 16 years ago

#239 closed enhancement (unknown)

Fn Keys do not work. Appear to require specific ACPI support that is missing...

Reported by: Carl (guest) Owned by: pasha
Priority: major Milestone: Release version 3.15
Component: ACPI PSD Version: 3.08
Keywords: Fn Display Swap Cc:

Description

I asked the following question on the Lenovo Forum:

~

Lenovo Support Document Title:
How to use the function (Fn) keys on the keyboard - ThinkPad R60, R60e, R61, T60, T60p, T61, Z61e, Z61m, Z61t
Document id: MIGR-62714
Last modified: 2007-06-10
Conflicting Statements:
First, it says:
"The following table shows what each function key (Fn) key on your keyboard is for and how to use them.
Note:

  • The Fn key works independently from the operating system."


But, then later, near the bottom:
For: Fn + F9

It says:

"Note: This function is supported only in

Windows 2000 and Windows XP."


So, which is it???? "...independent of OS..."

or: "...only in Windows..."


~


ONE response that came back, because I did not mention OS/2-eCS was:

"...does that mean you use Linux? If so, this should answer all your questions:"

http://www.thinkwiki.org/wiki/How_to_get_special_keys_to_work


It appears from my very quick look at this page that most of the functions are actually controlled by ACPI.

Carl

Change History (21)

comment:1 by Chuck McKinnis, 17 years ago

I will confirm that Fn+F7 for display switching does not work on the Thinkpad T61 under eCS. I tested it yesterday. Back to my trusty T42 for presentations.

comment:2 by Steven Levine, 17 years ago

Milestone: Release version 3.10

comment:3 by Steven Levine, 17 years ago

Reporter: changed from Chuck McKinnis to Carl (guest)

comment:4 by Steven Levine, 16 years ago

Milestone: Release version 3.10Release version 3.11

comment:5 by pasha, 16 years ago

It is't problem of acpi.psd/apm.add/AcpiDaemon.exe

comment:6 by ecsnl, 16 years ago

Type: defectenhancement

Well what seems to happen is that because ACPI loads these functions keys get disabled. Question is how much work is it to get such Linux code running on eCS ? Must code be put in the PSD or do we just need a demon that translates these calls ? The customer already did some research what might a solution. I shifted this from defect to enhancement. But when it comes to using the key to switch between LCD screen and external VGA port the Fn F7 key not working can be seen as a defect.

comment:7 by pasha, 16 years ago

Who say, that these functions keys is disabled? This key is enable, and generate code. You can it via GetNotify.exe or EmbeddedEvent.exe. Then give toolkit and write program for own notebook.

comment:8 by eco, 16 years ago

e-co:

Fn keys is a critical problem.

Many users buy the notebook to make presentations. They need the screen switch.

With ACPI loaded this keys don't work, without ACPI - work.

So users de-install ACPI.

It's critical problem, we discussed that it should be implemented, we planned research/development for July 2008.

comment:9 by pasha, 16 years ago

So we must insert 2gb keycode for all models to acpi.psd? Sorry, for acpi.psd is accessable only 16Mb.

comment:10 by ecsnl, 16 years ago

Question is how does Linux do this ? On Linux it works and they also don't ship a big linux kernel. As you said something like Popa or something like that should fix it. And we are asking if you can look at this.

comment:11 by jojo, 16 years ago

I agree this could be handled just fine by an external application. Look at the ThinkWiki pages, it seems that is exactly what they do on Linux. Pass the keypresses onto a script. Since the mappings for most ThinkPads are available, this should be possible to fix for the ThinkPads at least. (for example: http://www.nongnu.org/tpb/ and http://ibm-acpi.sourceforge.net/)

in reply to:  10 ; comment:12 by pasha, 16 years ago

Replying to ecsnl:

Question is how does Linux do this ? On Linux it works and they also don't ship a big linux kernel. As you said something like Popa or something like that should fix it. And we are asking if you can look at this.

In linux it is part of kernel. About PoPa. It is part of CRC. Also CRC has dll for ASUS A7/6J notebook. Now this dll support Fn for brigth, sound, wifi and suspend. From this brigth doing via special for asus acpi methods. Sound via send command to uniaud. WiFi via special for asus acpi method. Suspend via send to apm command. Turn on/off/switch display under construction.

in reply to:  12 comment:13 by Steven Levine, 16 years ago

Milestone: Release version 3.15eCS 2.x

Replying to ecsnl:

Question is how does Linux do this ? On Linux it works and they also don't ship a big linux kernel. As you said something like Popa or something like that should fix it. And we are asking if you can look at this.

In linux it is part of kernel. About PoPa. It is part of CRC. Also CRC has dll for ASUS A7/6J notebook. Now this dll support Fn for brigth, sound, wifi and suspend. From this brigth doing via special for asus acpi methods. Sound via send command to uniaud. WiFi via special for asus acpi method. Suspend via send to apm command. Turn on/off/switch display under construction.

If I understand Pasha correctly, acpi.psd provides the needed support via the toolkit interface. It makes sense for the FN key support to be implemented as some sort of a daemon.

comment:14 by pasha, 16 years ago

Agree, but for each model own daemon or own dll for common daemon. Why it is in acpi ticket? What is the problem, which need to resolve?

comment:15 by Chuck McKinnis, 16 years ago

Most newer notebooks have moved the Fn+Fx key processing from hardware to software.

This means that the operating system needs to have a daemon for handling the keys. The only function that ACPI really needs to provide is to pass the function key code (which should not have changed) to the defined processing daemon. Unfortunately, the function key processing daemon does not exist for eCS (or OS/2). A dummy function key daemon would at least be a start.

ACPI needs to include a call to the function key daemon if it exists. Whatever ACPI function that sees key strokes would be the logical location for the call.

comment:16 by pasha, 16 years ago

It was released at 2006 year. See HetNotify amd EmbeddedEvent. AAbout ACPI need... what the key code you are provide to include to support in any notebook? And what do if acpi method is absent?

comment:17 by Chuck McKinnis, 16 years ago

A little additional information. I searched through the Thinkpad maintenance manuals that I have and came up with the following definitions. The earliest Thinkpad that documented the functions is the 560.

Fn + Description F1 Reserved F2 Fuel-Gauge display on or off F3 Standby mode invocation F4 Suspend mode invocation F5 Reserved F6 Reserved F7 Switching between LCD and CRT display F8 Reserved F9 Reserved F10 Reserved F11 Switching power management mode

(High Power, Intelligent, and Economy)

F12 Hibernation invocation

Fn+F4 (suspend), Fn+F7 (switch display), and Fn+F12 (hibernate) appear to be consistent for all models. Fn+F7 is probably the most used, and, as I recall, is consistent on other manufacturers notebooks.

comment:18 by eco, 16 years ago

e-co:

thx Chuck!

comment:19 by pasha, 16 years ago

Please download experimental ACPI build from Mensys site:

  • Experimental build for you:

ACPI-APIC-BAT.ZIP

comment:20 by Steven Levine, 16 years ago

Milestone: eCS 2.xFeedback pending

comment:21 by Steven Levine, 16 years ago

Milestone: Feedback pendingRelease version 3.15
Resolution: unknown
Status: newclosed
Note: See TracTickets for help on using tickets.