Opened 11 years ago

Closed 10 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 Changed 11 years ago by mckinnis

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 Changed 11 years ago by stevenhl

  • Milestone set to Release version 3.10

comment:3 Changed 11 years ago by stevenhl

  • Reporter changed from guest to Carl (guest)

comment:4 Changed 10 years ago by stevenhl

  • Milestone changed from Release version 3.10 to Release version 3.11

comment:5 Changed 10 years ago by pasha

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

comment:6 Changed 10 years ago by ecsnl

  • Type changed from defect to enhancement

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 Changed 10 years ago by pasha

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 Changed 10 years ago by eco

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 Changed 10 years ago by pasha

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

comment:10 follow-up: Changed 10 years ago by 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.

comment:11 Changed 10 years ago by jojo

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/)

comment:12 in reply to: ↑ 10 ; follow-up: Changed 10 years ago by pasha

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.

comment:13 in reply to: ↑ 12 Changed 10 years ago by stevenhl

  • Milestone changed from Release version 3.15 to eCS 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 Changed 10 years ago by pasha

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 Changed 10 years ago by mckinnis

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 Changed 10 years ago by pasha

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 Changed 10 years ago by mckinnis

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 Changed 10 years ago by eco

e-co:

thx Chuck!

comment:19 Changed 10 years ago by pasha

Please download experimental ACPI build from Mensys site:

  • Experimental build for you:

ACPI-APIC-BAT.ZIP

comment:20 Changed 10 years ago by stevenhl

  • Milestone changed from eCS 2.x to Feedback pending

comment:21 Changed 10 years ago by stevenhl

  • Milestone changed from Feedback pending to Release version 3.15
  • Resolution set to unknown
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.