Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Linux-Treiber für Fn Taste bei Notebook?

35 views
Skip to first unread message

Thorsten Klein

unread,
Dec 17, 2007, 2:20:37 PM12/17/07
to
Hallo

gibs sowas? Treiber für die Fn Taste unter Linux? Denn da funktionieren
nur einige. Die Herstellerwebsite schweigt sich dazu aus.

Daten:
openSUSE 10.3
NB: Asus Z53T/F3TC (im Grunde Linux-freundlich)

Gruß,
Thorsten

Arno Lutz

unread,
Dec 17, 2007, 3:00:39 PM12/17/07
to
Hallo Thorsten Klein,

TK> gibs sowas? Treiber für die Fn Taste unter Linux? Denn da funktionieren
TK> nur einige. Die Herstellerwebsite schweigt sich dazu aus.
ich habe zu meinem Desktop-PC das <Microsoft Wireless Laser Keyboard>.
Viele der speziellen Funktionstasten erreiche ich mit "keytouch" und "xbindkey".
"keytouch" kannst du sicher (bei meinem 10.3 ist es jedenfalls so) mit YAST
installieren, das andere findest du im Internet als Source-Code.
Ist bestimmt einen Versuch wert.

Gruß
Arno Lutz

--
Linux is like a wigwam: no windows, no gates and an apache inside

Oliver B. Warzecha

unread,
Dec 17, 2007, 6:38:56 PM12/17/07
to
Thorsten Klein <sp...@thorsten-klein.eu> wrote:
> gibs sowas? Treiber für die Fn Taste unter Linux? Denn da funktionieren
> nur einige. Die Herstellerwebsite schweigt sich dazu aus.

In manchen Fällen wird die vom BIOS abgefangen. Gibt die denn
unter X11 mit xev einen Code beim Drücken?

OBW

Hauke Laging

unread,
Dec 17, 2007, 7:35:14 PM12/17/07
to
Oliver B. Warzecha schrieb am Dienstag 18 Dezember 2007 00:38:

> Thorsten Klein <sp...@thorsten-klein.eu> wrote:
>> die Fn Taste unter Linux

> In manchen Fällen wird die vom BIOS abgefangen.

Mal so ganz blöd gefragt: Wie soll das BIOS das denn machen?

Habe ich was verpasst? Fragt der Linux-Kernel das Real-Mode-BIOS, ob
jemand eine Taste gedrückt hat...?


CU

Hauke
--
http://www.hauke-laging.de/ideen/
http://www.hauke-laging.de/software/
http://zeitstempel-signatur.hauke-laging.de/
Wie können 59.054.087 Leute nur so dumm sein?

Michael Mauch

unread,
Dec 17, 2007, 8:04:11 PM12/17/07
to

Alternativ gibt löst die Taste einen ACPI-Event aus, wenn sie zusammen
mit anderen blauen (bzw. entsprechend-farbigen) Tasten gedrückt wird.

cd /var/log
ls -lrt

zeigt die zuletzt geänderte Log-Datei. Da kann man schauen, ob sich
irgendwas getan hat.

Die ASUS Laptop Extras (acpi4asus) könnten dabei nützlich sein.


Michael

Oliver B. Warzecha

unread,
Dec 18, 2007, 5:20:25 AM12/18/07
to
Hauke Laging <4q2...@hauke-laging.de> wrote:
> Oliver B. Warzecha schrieb am Dienstag 18 Dezember 2007 00:38:
>
>> Thorsten Klein <sp...@thorsten-klein.eu> wrote:
>>> die Fn Taste unter Linux
>
>> In manchen Fällen wird die vom BIOS abgefangen.
>
> Mal so ganz blöd gefragt: Wie soll das BIOS das denn machen?

Ich habe keine Ahnung, wie das genau geht. Vielleicht ist meine
Beschreibung auch ungenau, aber effektiv kommt das gleiche raus:

Auf meinem Notebook z.B. kann ich mit Fn-F1 den Rechner in einen
im BIOS definierten Suspendzustand schicken. Das läuft völlig
unabhängig von dem laufenden OS. Und wenn ich Fn allein drücke,
kriegt der Rechner auch nix davon mit. Dito Bildschirmumschaltung/
Helligkeitsregelung. (Und das hat auch nix mit ACPI zu tun, maximal
mit APM)

Da das alles allein auf BIOS-Ebene abzulaufen scheint -> "wird
vom BIOS abgefangen". Für mich. YMMV. ;-)

OBW

Matthias Sommer

unread,
Dec 19, 2007, 6:41:27 AM12/19/07
to
Oliver B. Warzecha schrieb:

> Da das alles allein auf BIOS-Ebene abzulaufen scheint -> "wird
> vom BIOS abgefangen". Für mich. YMMV. ;-)

Das macht dann wohl eher der Tastatur-Controller. Ganz früher steckte in
jeder Tastatur mal ein 8051er. Der fragt die Tastatur-Matrix ab und
erzeugt daraus den Scan-Code für den Haupt-Prozessor. Mittlerweile
sicher oft auch etwas mehr. Grade in Notebooks, aber auch bei den
heutigen Multimedia-Tastaturen, haben die ganz gerne mal die eine oder
andere Extra-Funktion.

Und da die Dinger vom Haupt-Prozessor unabhängig sind, bekommen die auch
nicht mit, ob dort Linux, Dos 4.1, Windows oder noch was schlimmeres
läuft. Der macht sein Ding immer so wie "gelernt".

Grüßle
Matthias

Jan Heitkötter

unread,
Dec 19, 2007, 6:46:24 AM12/19/07
to
Am Tue, 18 Dec 2007 01:35:14 +0100 schrieb Hauke Laging:

> Mal so ganz blöd gefragt: Wie soll das BIOS das denn machen?

Weiß nicht, aber mein ThinkPad reagiert auf diverse Fn-Kombinationen,
selbst wenn nur Grub oder Memtest86 laufen.

Gruß

Jan

Henning Paul

unread,
Dec 19, 2007, 7:51:15 AM12/19/07
to
Hauke Laging wrote:

> Oliver B. Warzecha schrieb am Dienstag 18 Dezember 2007 00:38:
>
>> Thorsten Klein <sp...@thorsten-klein.eu> wrote:
>>> die Fn Taste unter Linux
>
>> In manchen Fällen wird die vom BIOS abgefangen.
>
> Mal so ganz blöd gefragt: Wie soll das BIOS das denn machen?
> Habe ich was verpasst?

ACPI hast Du vermutlich verpasst. Sprich die letzten 10 Jahre. :-)

> Fragt der Linux-Kernel das Real-Mode-BIOS, ob
> jemand eine Taste gedrückt hat...?

Herzlichen Glückwunsch, Du hast gerade die Funktionsweise von ACPI
erkannt. Aber nein, es ist kein Real-Mode-BIOS, es sind einfach kleine
Routinen, die im BIOS-Code stecken. Und selbstverständlich wird nicht
für jede beliebige Taste in diesen Code gesprungen, die Grundfunktionen
bewältigt der Linuxtastaturtreiber schon alleine.

Schon mal überlegt, warum Dein Rechner herunterfährt, wenn Du den
Power-Button antippst? Wenn Du den drückst, wird ein ACPI-Event
ausgelöst (weil die CPU in den ACPI-Code springt), dieser Event wird
dann wiederum an das OS übermittelt.

Genau das gleiche passiert bei Fn-Tastenkombinationen (oder
Spezial-/Multimediatasten) an Laptops, da springt die CPU auch in
BIOS-Code, um z.B. die Bildschirmhelligkeit oder die Lautstärke zu
ändern. Zusätzlich wird dann auch immer ein Event ausgelöst, den das OS
auswertet, wenn es dazu in der Lage ist.

Die Multimediatasten auf PS/2- oder USB-Tastaturen funktionieren
hingegen ganz anders, über Extrascancodes, da diese Tastaturen
natürlich keine eigene Standleitung zum Chipsatz haben, um die CPU zum
Aufruf von ACPI-Routinen zu nötigen.

Alles klar?

Gruß
Henning

Andreas Heinze

unread,
Dec 19, 2007, 2:09:40 PM12/19/07
to
Thorsten Klein schrieb:

> Hallo
>
> gibs sowas? Treiber für die Fn Taste unter Linux? Denn da funktionieren
> nur einige. Die Herstellerwebsite schweigt sich dazu aus.

Hast Du schon bei sourceforge.net geguckt?

Gruß

Andreas

Henning Paul

unread,
Dec 19, 2007, 2:25:29 PM12/19/07
to
Andreas Heinze schrieb:

Nee, nee, der "Treiber" gehört schon zum Kernel. Mein Asus L2400D wird
von asus_acpi.ko unterstützt.

Die "wichtigen" Funktionen müssen aber auch so funktionieren, siehe mein
anderes Posting in diesem Thread, das Kernelmodul sorgt nur dafür, daß
(zusätzlich, bei den Anwendungstasten ausschließlich) ACPI-Events bei
den Tastendrücken ausgelöst werden.

Gruß
Henning
--
henning paul home: http://home.arcor.de/henning.paul
PM: henni...@gmx.de , ICQ: 111044613

Sieghard Schicktanz

unread,
Dec 18, 2007, 2:53:06 PM12/18/07
to
Hallo Oliver,

Du schriebst am Tue, 18 Dec 2007 10:20:25 GMT:

> >>> die Fn Taste unter Linux

...


> > Mal so ganz blöd gefragt: Wie soll das BIOS das denn machen?

Garnicht, ganz einfach.

> Da das alles allein auf BIOS-Ebene abzulaufen scheint -> "wird
> vom BIOS abgefangen". Für mich. YMMV. ;-)

Das BIOS ist schon mindestens eine Ebene zu hoch. Das wird schon drunter
von Tastaturcontroller, Chipsatz u.ä. erledigt. Sind ja schließlich nur
simple Schaltsignale, die ein paar vordefinierte Aktionen auslösen.
Sowas per Software, gar noch in einem Betriebssystem, ausführen lassen zu
wollen, übertrifft noch die berüchtigten "Kanonen auf Spatzen" um
Größenordnungen...

----
--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------

Hauke Laging

unread,
Dec 19, 2007, 3:07:12 PM12/19/07
to
Henning Paul schrieb am Mittwoch 19 Dezember 2007 13:51:

Ich habe mal ein bisschen in Wikipedia herumgelesen:
http://de.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

> Schon mal überlegt, warum Dein Rechner herunterfährt, wenn Du den
> Power-Button antippst? Wenn Du den drückst, wird ein ACPI-Event
> ausgelöst (weil die CPU in den ACPI-Code springt), dieser Event
> wird dann wiederum an das OS übermittelt.

Ich habe doch stark den Eindruck, dass es andersrum ist. Ein
ACPI-Signal ist erst mal so was wie ein Interrupt, und das OS kann
sich dann entschließen, diesen Bytecode abzuarbeiten.


> Genau das gleiche passiert bei Fn-Tastenkombinationen (oder
> Spezial-/Multimediatasten) an Laptops, da springt die CPU auch in
> BIOS-Code, um z.B. die Bildschirmhelligkeit oder die Lautstärke zu
> ändern. Zusätzlich wird dann auch immer ein Event ausgelöst, den
> das OS auswertet, wenn es dazu in der Lage ist.

Warum klappt das dann aber auch bei memtest86 und Grub, wie Jan
schreibt?

Nun, es hindert einen (als Hardwarehersteller) ja nichts daran,
Tastatursignale "in Hardware" durchzureichen. Die Helligkeit des
Displays muss ja nicht für das OS sichtbar (einstellbar) sein. So
habe ich mir das bisher immer vorgestellt. Und bei Wikipedia steht
auch nix dergleichen. Woher will man denn wissen, dass so eine Taste
einen ACPI-Event auslöst? Sagt einem der Kernel das irgendwie?

Michael Mauch

unread,
Dec 19, 2007, 6:28:56 PM12/19/07
to
Hauke Laging wrote:

> Nun, es hindert einen (als Hardwarehersteller) ja nichts daran,
> Tastatursignale "in Hardware" durchzureichen. Die Helligkeit des
> Displays muss ja nicht für das OS sichtbar (einstellbar) sein. So
> habe ich mir das bisher immer vorgestellt. Und bei Wikipedia steht
> auch nix dergleichen. Woher will man denn wissen, dass so eine Taste
> einen ACPI-Event auslöst? Sagt einem der Kernel das irgendwie?

Ja, siehe "man acpid".


Michael

Message has been deleted

Henning Paul

unread,
Dec 20, 2007, 2:14:53 AM12/20/07
to
Hauke Laging wrote:

> Henning Paul schrieb am Mittwoch 19 Dezember 2007 13:51:
>
> Ich habe mal ein bisschen in Wikipedia herumgelesen:
>
http://de.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface
>
>> Schon mal überlegt, warum Dein Rechner herunterfährt, wenn Du den
>> Power-Button antippst? Wenn Du den drückst, wird ein ACPI-Event
>> ausgelöst (weil die CPU in den ACPI-Code springt), dieser Event
>> wird dann wiederum an das OS übermittelt.
>
> Ich habe doch stark den Eindruck, dass es andersrum ist. Ein
> ACPI-Signal ist erst mal so was wie ein Interrupt, und das OS kann
> sich dann entschließen, diesen Bytecode abzuarbeiten.

Ja, beim Powerbutton ist das so, der löst beim Antippen nur einen
ACPI-Event aus, wie z.B. die Webbrowser- und Emailclienttaste auf
meinem Laptop.

>> Genau das gleiche passiert bei Fn-Tastenkombinationen (oder
>> Spezial-/Multimediatasten) an Laptops, da springt die CPU auch in
>> BIOS-Code, um z.B. die Bildschirmhelligkeit oder die Lautstärke zu
>> ändern. Zusätzlich wird dann auch immer ein Event ausgelöst, den
>> das OS auswertet, wenn es dazu in der Lage ist.
>
> Warum klappt das dann aber auch bei memtest86 und Grub, wie Jan
> schreibt?

Weil es genau so ist, wie ich es beschrieben habe, es wird ein Interrupt
ausgelöst, die CPU springt in den BIOS-Code zur Helligkeitsänderung
oder was auch immer. Der ausgelöste ACPI-Event läuft natürlich ins
Leere.

> Nun, es hindert einen (als Hardwarehersteller) ja nichts daran,
> Tastatursignale "in Hardware" durchzureichen. Die Helligkeit des
> Displays muss ja nicht für das OS sichtbar (einstellbar) sein. So
> habe ich mir das bisher immer vorgestellt.

Ich verstehe Deinen Punkt nicht. Sobald Du Fn-Wasauchimmer drückst oder
so eine Anwendungs- oder Multimediataste drückst, wird der
ACPI-Interrupt ausgelöst (vgl. /proc/interrupts) und die CPU springt in
die ACPI-Routinen im BIOS (sofern ACPI nicht von Kernel teilweise oder
sogar komplett deaktiviert wurde). Das ist natürlich kein
Realmode-Software-Interrupt wie der INT13 für Festplattenzugriffe oder
INT10 für Grafikausgabe (die älteren werden sich erinnern), aber die
Funktionsweise ist insofern ähnlich, als daß Maschinencode ausgeführt
wird, der vom BIOS geliefert wird und nicht vom Kernel/OS.
Das OS wird dann nur über ein Event darüber informiert.

Das Ganze geht sogar so weit, daß bei Überschreiten einer
Temperaturschwelle ein Interrupt ausgelöst wird, der die CPU in eine
Routine zur Aktivierung des Laptoplüfters schickt. Das wird dann
gefährlich, wenn das ACPI-BIOS so verbuggt ist, daß der Kernel diesen
Mechanismus versehentlich deaktiviert. Meistens greift dann aber ein
Hardwaremechanismus, der den Lüfter dauerhaft auf voller Drehzahl
laufen lässt, über solche Effekte wird hierzunewsgroup immer wieder mal
berichtet.

> Und bei Wikipedia steht
> auch nix dergleichen. Woher will man denn wissen, dass so eine Taste
> einen ACPI-Event auslöst? Sagt einem der Kernel das irgendwie?

Ja. Einfach mal acpi_listen mitlaufen lassen und ein Paar der magischen
Tasten drücken. Oder den Laptopdeckel zumachen o.ä.

Gruß
Henning

Henning Paul

unread,
Dec 20, 2007, 2:19:24 AM12/20/07
to
Sieghard Schicktanz wrote:

> Hallo Oliver,
>
> Du schriebst am Tue, 18 Dec 2007 10:20:25 GMT:
>
>> >>> die Fn Taste unter Linux
> ...
>> > Mal so ganz blöd gefragt: Wie soll das BIOS das denn machen?
>
> Garnicht, ganz einfach.
>
>> Da das alles allein auf BIOS-Ebene abzulaufen scheint -> "wird
>> vom BIOS abgefangen". Für mich. YMMV. ;-)
>
> Das BIOS ist schon mindestens eine Ebene zu hoch. Das wird schon
> drunter von Tastaturcontroller, Chipsatz u.ä. erledigt. Sind ja
> schließlich nur simple Schaltsignale, die ein paar vordefinierte
> Aktionen auslösen. Sowas per Software, gar noch in einem
> Betriebssystem, ausführen lassen zu wollen, übertrifft noch die
> berüchtigten "Kanonen auf Spatzen" um Größenordnungen...

Tut mir ja leid, aber z.T. wird sogar so etwas kritisches wie das Ein-
und Ausschalten des Laptoplüfters durch die CPU erledigt...

Mein Laptop hat aber einen Sicherheitsmechanismus, der im Falle eines
CPU-Hängers den Laptoplüfter dauerhaft mit voller Drehzahl laufen
lässt. Die Displayhelligkeit ist in diesem Absturzzustand übrigens auch
nicht mehr per Fn-Tasten änderbar, das läuft definitiv über die CPU...

Gruß
Henning

Sieghard Schicktanz

unread,
Dec 20, 2007, 3:11:46 PM12/20/07
to
Hallo Matthias,

Du schriebst am Wed, 19 Dec 2007 12:41:27 +0100:

> Das macht dann wohl eher der Tastatur-Controller. Ganz früher steckte in
> jeder Tastatur mal ein 8051er. Der fragt die Tastatur-Matrix ab und

Nicht nur in der Tastatur (dort waren dann auch eher noch kleinere
Prozessörchen zu finden, 4-Bitter u.ä.)

> erzeugt daraus den Scan-Code für den Haupt-Prozessor. Mittlerweile

Nicht direkt - die Tastatur-Scan-Codes laufen seriell über die Leitung und
werden von einem _zweiten_ "Tastatur-Prozessor" im PC selber (jetzt als
Bestandteil des Chipsatzes) wieder zusammengesammelt und -setzt und erst
von _dem_ an die Haupt-CPU übergeben. Bei Notebooks mögen die Funktionen
wohl auch gerne in einem Prozessor zusammengfasst sein, da besteht ja auch
keine Notwendigkeit zu einer seriellen Zwischenübertragung.
Nebenbei macht der Hilfsprozessor auch noch ein paar andere Sachen mit, bei
Notebooks z.B. gerne auch die Einstellerei des Displays und ggfs. der
Krach-Verstärker, oder einen Teil der Schalterei der Spannungsversorgung
(z.B. die Einschaltung per Tastatur oder Maus), wie Du ja richtig schriebst.

Sieghard Schicktanz

unread,
Dec 20, 2007, 2:53:50 PM12/20/07
to
Hallo Henning,

Du schriebst am Thu, 20 Dec 2007 08:19:24 +0100:

> > schließlich nur simple Schaltsignale, die ein paar vordefinierte
> > Aktionen auslösen. Sowas per Software, gar noch in einem
> > Betriebssystem, ausführen lassen zu wollen, übertrifft noch die
> > berüchtigten "Kanonen auf Spatzen" um Größenordnungen...
>
> Tut mir ja leid, aber z.T. wird sogar so etwas kritisches wie das Ein-
> und Ausschalten des Laptoplüfters durch die CPU erledigt...

Deesch woisch i scho au... ;-)

.. aber wird das dadurch etwa _weniger_ hanebüchen?

> Mein Laptop hat aber einen Sicherheitsmechanismus, der im Falle eines
> CPU-Hängers den Laptoplüfter dauerhaft mit voller Drehzahl laufen

Das ist dann schon die erste Steigerungsstufe: man spart (vermeintlich) ein
paar Bauteile ein, indem man die Schaltfunktion in Software verlagert, und
buttert dann mindestens denselben Aufwand zusätzlich nochmal 'rein, um bei
Software-Problemen trotzdem einigermaßen sicher zu sein.
Das versteh' wer kann - ich kann's nicht. Aber ich bin auch kein Kaufmann...

Roland Damm

unread,
Dec 20, 2007, 5:27:27 PM12/20/07
to
Moin,

Sieghard Schicktanz schrub:

> Das BIOS ist schon mindestens eine Ebene zu hoch. Das wird
> schon drunter von Tastaturcontroller, Chipsatz u.ä. erledigt.
> Sind ja schließlich nur simple Schaltsignale, die ein paar
> vordefinierte Aktionen auslösen. Sowas per Software, gar noch
> in einem Betriebssystem, ausführen lassen zu wollen, übertrifft
> noch die berüchtigten "Kanonen auf Spatzen" um
> Größenordnungen...

Es scheint wohl uneins zu sein. Auf meinem Laptop (Dell, Inspiron
9400) ging das mit der Helligkeit regeln (Fn + Cursor U/D) unter
dem 2.6.19-Kernel nicht, unter dem jetzigen 2.6.23 geht es. Also
macht das nicht allein die Hardware mit sich selbst aus.

PS.: Die Sondertasten habe ich teilweise mittels 'lineakd'
beleben können, allerdings fehlt mir noch ein Hinweis, wie ich
damit du zwar verwendbaren aber von mir noch nicht mit
Funktionen belegten Tasten mit mir genehmen Funktionen versehe:
Es würde mir reichen, wenn lineakd auf Druck der Taste 'Pause'
einen Tastencode erzeugen würde, notfalls auch einfach nur ein
von mir geschriebenes Skript startet (geht), das den Tastencode
erzeugt. Wie bekommt man es aus einem Skript heraus hin, eine
Tastenkombination zu senden, als ob sie der Benutzer getippt
hätte?

CU Rollo

Oliver B. Warzecha

unread,
Dec 20, 2007, 5:53:15 PM12/20/07
to
Sieghard Schicktanz <Sieg...@schicktanz.schs.de> wrote:
> Nicht direkt - die Tastatur-Scan-Codes laufen seriell über die Leitung und
> werden von einem _zweiten_ "Tastatur-Prozessor" im PC selber (jetzt als
> Bestandteil des Chipsatzes) wieder zusammengesammelt und -setzt und erst
> von _dem_ an die Haupt-CPU übergeben. Bei Notebooks mögen die Funktionen
> wohl auch gerne in einem Prozessor zusammengfasst sein, da besteht ja auch
> keine Notwendigkeit zu einer seriellen Zwischenübertragung.

Dein Notebook hat keine Möglichkeit zum Anstecken einer externen Tastatur?
Du möchtest zwei verschiedene diskrete Wege implementieren? :-) (Es spricht
schon Bände, daß Tastaturen via USB auch nur die gleichen Scancodes
übermitteln wie über PS/2)

OBW

Juergen Ilse

unread,
Dec 20, 2007, 8:00:44 PM12/20/07
to
Hallo,

Sieghard Schicktanz <Sieg...@schicktanz.schs.de> wrote:
> Du schriebst am Wed, 19 Dec 2007 12:41:27 +0100:
>> Das macht dann wohl eher der Tastatur-Controller. Ganz früher steckte in
>> jeder Tastatur mal ein 8051er. Der fragt die Tastatur-Matrix ab und

IIRC steckte in den PC-Tastaturen ueblicherweise kein 8051 sondern ein 8048
oder 8049 ...

>> erzeugt daraus den Scan-Code für den Haupt-Prozessor. Mittlerweile
> Nicht direkt - die Tastatur-Scan-Codes laufen seriell über die Leitung und
> werden von einem _zweiten_ "Tastatur-Prozessor" im PC selber (jetzt als
> Bestandteil des Chipsatzes) wieder zusammengesammelt und -setzt und erst
> von _dem_ an die Haupt-CPU übergeben.

Richtig. Ueblicherweise war das auch ein 8049, und da man bei dem noch
ein paar Bits frei hatte, hat man perverserweise diese Bits dann fuer
solche Absondernlichkeiten wie das "A20-Gate" (ueber dessen hahnebuechenen
Unfug ich mich jetzt nicht auslassen moechte) und einen "CPU-Reset" (der
fuer den 80286-Prozessor notwendig war, um per Software einen Reset der
CPU ausloesen zu koennen, was man wiederum verwendet hatte, um vom "pro-
tected Mode" wieder in den "real Mode" zurueck zu gelangen, denn dafuer
gab es im 80286 keinen Befehl: also wurde im Tastaturcontroller ein Bit
gesetzt, das kurzzeitig dafuer sorgte, dass von aussen ein Signal an
den Reset-Pin der CPU angelegt wurde ...). Ach ja, irgendwann wurde
diese (noch immer aus "Kompatibilitaetsgruenden vorhandene) "reset-
Funktionalitaet" des Tastaturcontrollers nicht mehr unbedingt benoetigt,
weil ein findiger Kopf auf den "Triple Fault" gekommen ist (sozusagen
eine "Endlosschleife" von Pagefaults, die dann in der CPU zu einem
Reset fuehrt ... waehrend sich damals der Ramdisk-Treiber "vdisk.sys"
noch auf BIOS-Funktionen zum Zugriff auf das "extended Memory" beschraenkte,
wurde in "Ramdrive.sys" dann die hardwareabhaengige "optimierte" Variante
mit "selbst in den protected Mode schalten und per triple fault wieder
zurueckzukehren" implementiert: als ob es bei eienr Ramdisk auf ein paar
Mikrosekunden Zugriffszeit ankommen wuerde ...).

> Bei Notebooks mögen die Funktionen wohl auch gerne in einem Prozessor
> zusammengfasst sein,

In nahezu allen PC-Chipsaetzen steckt u.a. noch immer die Funktionalitaet
des 8-Bit DMA-Controllers der ersten mit 8088 ausgestatteten PCs, obwohl
dieser von fast nichts mehr verwendet wird (schon beim 80286 hatte man
fuer den Datentransfer vom Festplattencontroller zum Hauptspeicher die
CPU selbst bemueht, weil die das schneller hinbekam als dieser mit 4 MHz
getaktete 8-Bit DMA-Controller ...). Aber man muss ja "kompatibel" bleiben
und deshalb auch solche Altlasten bis in alle Ewigkeit mit sich herum-
schleppen ...

> da besteht ja auch keine Notwendigkeit zu einer seriellen Zwischenüber-
> tragung.

... was aber nicht heissen muss, dass man sie nicht trotzdem (Stichwort
"Kompatibilitaet") implementieren uerde ...
Wenn man naeher ueber diese "Eigenarten" der "PC-Architektur" nachdenkt,
besteht eine reelle Chance, dass das Fruehstueck spontan wieder die Speise-
roehre hinaufwandern mag ...

Tschuess,
Juergen Ilse (jue...@usenet-verwaltung.de)
--
Ein Domainname (auch wenn er Teil einer Mailadresse ist) ist nur ein Name,
nicht mehr und nicht weniger ...

Matthias Sommer

unread,
Dec 21, 2007, 3:34:47 AM12/21/07
to
Sieghard Schicktanz schrieb:

>> Das macht dann wohl eher der Tastatur-Controller. Ganz früher steckte in
>> jeder Tastatur mal ein 8051er. Der fragt die Tastatur-Matrix ab und
>
> Nicht nur in der Tastatur (dort waren dann auch eher noch kleinere
> Prozessörchen zu finden, 4-Bitter u.ä.)

IIRC war der 8048 am verbreitetsten, nicht der 8051 wie ich anfangs
schrieb. Gewohnheitsdenken, weil ich mit dem länger mit dem 51er zu tun
hatte. ;)

>> erzeugt daraus den Scan-Code für den Haupt-Prozessor. Mittlerweile
>
> Nicht direkt - die Tastatur-Scan-Codes laufen seriell über die Leitung und
> werden von einem _zweiten_ "Tastatur-Prozessor" im PC selber (jetzt als
> Bestandteil des Chipsatzes) wieder zusammengesammelt und -setzt und erst
> von _dem_ an die Haupt-CPU übergeben.

OK, ich hatte "etwas vereinfacht" ;)
Im Zusammenhang um den's ging (Funktionen der Tastatur unabhängig vom
Betriebssystem) langte das aber, denke ich.


Grüßle
Matthias

Michael Mauch

unread,
Dec 21, 2007, 12:32:36 PM12/21/07
to
Roland Damm wrote:

> Es würde mir reichen, wenn lineakd auf Druck der Taste 'Pause'
> einen Tastencode erzeugen würde, notfalls auch einfach nur ein
> von mir geschriebenes Skript startet (geht), das den Tastencode
> erzeugt. Wie bekommt man es aus einem Skript heraus hin, eine
> Tastenkombination zu senden, als ob sie der Benutzer getippt
> hätte?

xvkbd -xsendevent -text "Dein Text"

Michael

Sieghard Schicktanz

unread,
Dec 21, 2007, 3:17:43 PM12/21/07
to
Hallo Matthias,

Du schriebst am Fri, 21 Dec 2007 09:34:47 +0100:

> > Nicht nur in der Tastatur (dort waren dann auch eher noch kleinere
> > Prozessörchen zu finden, 4-Bitter u.ä.)
>
> IIRC war der 8048 am verbreitetsten, nicht der 8051 wie ich anfangs
> schrieb. Gewohnheitsdenken, weil ich mit dem länger mit dem 51er zu tun
> hatte. ;)

Mag für "anfangs" durchaus stimmen, aber als die Tastaturen billiger werden
mußten, mußten das natürlich auch die Bauteile, und da die Prozessoren mit
die kostenträchtigsten sind, wurden die eben soweit "abgespeckt" wie
möglich. Mit so 'nem 4-Bitter für Tastaturverarbeitung hatte ich selber mal
zu tun.

> > Nicht direkt - die Tastatur-Scan-Codes laufen seriell über die Leitung
> > und werden von einem _zweiten_ "Tastatur-Prozessor" im PC selber (jetzt

...


> OK, ich hatte "etwas vereinfacht" ;)
> Im Zusammenhang um den's ging (Funktionen der Tastatur unabhängig vom
> Betriebssystem) langte das aber, denke ich.

Wie Du gesehen hast, nicht - ein kleiner Hinweis "im Prinzip" oder
"(vereinfacht dargestellt)" oder so wäre evtl. günstig gewesen und hätte
evtl. solche Nostalgien vermieden. ;-) (-; oder auch doch nicht...)

Sieghard Schicktanz

unread,
Dec 21, 2007, 2:46:13 PM12/21/07
to
Hallo Oliver,

Du schriebst am Thu, 20 Dec 2007 22:53:15 GMT:

> > erst von _dem_ an die Haupt-CPU übergeben. Bei Notebooks mögen die
> > Funktionen wohl auch gerne in einem Prozessor zusammengfasst sein, da
> > besteht ja auch keine Notwendigkeit zu einer seriellen
> > Zwischenübertragung.
>
> Dein Notebook hat keine Möglichkeit zum Anstecken einer externen Tastatur?

_Dein_ Notebook hat keine eingebaute Tastatur? :-O

Ok, für eine externe Tastatur braucht's die Routinen für die serielle
Übergabe auch noch, aber die eingebaute kann doch direkt abgefragt werden.
Da muß "eigentlich" kein weitere Prozessor eingebaut sein - auch wenn's
mich kaum wundern würde, wenn das doch gemacht wird...

> Du möchtest zwei verschiedene diskrete Wege implementieren? :-) (Es

Was _ich_ möchte, zählt da ja schon überhaupt gar nicht. Was zählt, sind
die Kosten einer (einmaligen) Software zum Abfragen der tastaturleitungen
gegenüber den (jedesmal anfallenden) Kosten für einen zusätzlichen Baustein
und das ganze Drumrum dafür. Rechne Dir's selber aus.

> spricht schon Bände, daß Tastaturen via USB auch nur die gleichen
> Scancodes übermitteln wie über PS/2)

Nee, das kommt lediglich daher, weil die "Scancodes" ja schließlich im
Tastaturpuffer landen müssen - warum willst Du die dafür nochmal extra
umkodieren? (Nein, im Tastaturpuffer landen _nicht_ die ASCII-Codes,
jedenfalls nicht allein.)

Sieghard Schicktanz

unread,
Dec 21, 2007, 2:39:32 PM12/21/07
to
Hallo Roland,

Du schriebst am Thu, 20 Dec 2007 23:27:27 +0100:

> > Das BIOS ist schon mindestens eine Ebene zu hoch. Das wird

...
> Es scheint wohl uneins zu sein. Auf meinem Laptop (Dell, Inspiron
> 9400) ging das mit der Helligkeit regeln (Fn + Cursor U/D) unter
> dem 2.6.19-Kernel nicht, unter dem jetzigen 2.6.23 geht es. Also
> macht das nicht allein die Hardware mit sich selbst aus.

Das kann der Hersteller halten wie der berühmte Dachdecker...
Wenn er zuverlässige Funktion bieten will,dann macht er das auf "unterster
Ebene", in Hardware oder knapp drüber (z.B. im Tastaturprozessor), wenn er
Microsoft-konform sein will, dann macht er das mit einem Windows- (only-)
Treiber auf "oberstem Niveau" (und mit einem Aufwand, der in keinem
Verhältnis zum Effekt steht...)

> PS.: Die Sondertasten habe ich teilweise mittels 'lineakd'
> beleben können, allerdings fehlt mir noch ein Hinweis, wie ich

Tut mir sorry, Beschleunigertechnik ist nicht mein Metier, da kenn' ich
mich leider nicht aus.

Thorsten Klein

unread,
Dec 22, 2007, 4:24:57 PM12/22/07
to
Arno Lutz schrieb:
> Viele der speziellen Funktionstasten erreiche ich mit "keytouch" und "xbindkey".

Keytouch hab ich gefunden und installiert das geht auch soweit ganz gut.
xbindkey hab ich nicht gefunden.
Allerdings hat keytouch nicht mein Modell sondern nur ein ähnliches was
nicht alle Tasten abdeckt. Gibts eine Datei für keypress für mein Modell?

Ich hab jetzt mit dem ähnlichen Modell u.a. das Mail Programm auf
Thunderbird und den Browser auf Firefox geändert, trotzdem öffnen sich
beim Drücken von Fn+F3/F4 immer noch KMail bzw. der Konqueror. Und die
Felder zum Deaktivieren des Touchpads und der Regulierung des Monitors
sind noch leer - welche Programnme nehme ic dafür?

zu guter Letzt: gibts einen Treiber für den externen Monitor-Ausgang?
Ich hab da bei allen Schnittstellen (DVI, VGA und TV) ab dem einloggen
ein toteles Fehlbild...

Arno Lutz

unread,
Dec 22, 2007, 4:49:53 PM12/22/07
to
Hallo Thorsten Klein,

TK> xbindkey hab ich nicht gefunden.
Google erste Fundstelle: http://hocwp.free.fr/xbindkeys/xbindkeys.de.html

TK> Allerdings hat keytouch nicht mein Modell sondern nur ein ähnliches
ist bei der gleiche Fall
TK> nicht alle Tasten abdeckt. Gibts eine Datei für keypress für mein Modell?
musst du einfach mal durchprobieren (ich weiß, das ist lästig), aber in den meisten
Fällen wirst du wohl einen Kompromiss eingehen müssen.

TK> Ich hab jetzt mit dem ähnlichen Modell u.a. das Mail Programm auf
TK> Thunderbird und den Browser auf Firefox geändert, trotzdem öffnen sich
TK> beim Drücken von Fn+F3/F4 immer noch KMail bzw. der Konqueror.
Weil die Tasten wohl zu <XF86Mail>(etc.) übersetzt werden.
Dies kannst du aber in <Persönliche Einstellungen/Regional..../Tastenkombinationen =
Preset Actions> ändern.
TK> Felder zum Deaktivieren des Touchpads und der Regulierung des Monitors
TK> sind noch leer - welche Programnme nehme ic dafür?
Habe einen Desktop-PC und deswegen da keine Erfahrungen :_(

Gruß
Arno Lutz

--
Linux is like a wigwam: no windows, no gates and an apache inside

Michael Wagner

unread,
Dec 23, 2007, 5:27:32 AM12/23/07
to
Am 20.12.2007 schriebst du, Roland

> PS.: Die Sondertasten habe ich teilweise mittels 'lineakd'
> beleben können, allerdings fehlt mir noch ein Hinweis, wie ich
> damit du zwar verwendbaren aber von mir noch nicht mit
> Funktionen belegten Tasten mit mir genehmen Funktionen versehe:

Hallo Roland,

hast du schon mal das Programm *keytouch* ausprobiert? Wenn da deine
Tastatur nicht dabei ist, kannst du mit *keytouch-editor*, welches ein
eigenes Paket ist (zumindest bei debian), die Sondertasten deiner
Tastatur zum Leben erwecken. Damit hab ichs bis jetzt bei jeder Tastatur
hingekriegt.

Hth Michael

Roland Damm

unread,
Dec 23, 2007, 6:04:48 PM12/23/07
to
Moin,

Michael Mauch schrub:

Klingt zwar erst mal gut, funktioniert aber nicht. Dieses in der
Shell eingetippt: 'xvkbd -xsendevent -text "\A\t" erzeugt nur
das TAB in der Shell, sonst passiert nichts (hätte ein Wechsel
des Fensters sein sollen).

CU Rollo

Michael Mauch

unread,
Jan 3, 2008, 9:40:14 PM1/3/08
to
Roland Damm schrieb (letztes Jahr):

Das liegt vermutlich daran, dass das Alt-Tab an die Shell gesendet wird
(eben an das aktuelle Fenster), und die kann damit nichts anfangen.

An welches Fenster (?) das Alt-Tab gesendet werden müsste, um den
Fenster-Wechsel auszulösen, habe ich nicht herausbekommen.

Allerdings geht hier in KDE "xvkbd -text '\[XF86ScrollDown]'", wenn im
KDE-Kontrollzentrum unter "Regionaleinstellungen und Zugangshilfen" ->
Tastenkürzel -> Allgemeine Tastenkürzel -> System -> Navigation bei
"Zwischen Fenstern umschalten" das XF86ScrollDown als alternatives
Tastenkürzel eingetragen ist. Warum das dann zur Abwechslung nicht an
die Shell gesendet wird, wissen die Götter. Statt XF86ScrollDown kann
man wohl auch irgendeine andere Tastenkombination verwenden.

Alternativ könnte man wohl auch dem Window-Manager eine Aufforderung
schicken, dass er die Fenster wechselt. Bei KDE geht das vermutlich per
dcop, aber den passenden Aufruf habe ich nicht gefunden.


Michael

Roland Damm

unread,
Jan 4, 2008, 5:50:35 PM1/4/08
to
Moin,

Michael Mauch schrub:

> Roland Damm schrieb (letztes Jahr):

>>> xvkbd -xsendevent -text "Dein Text"


>>
>> Klingt zwar erst mal gut, funktioniert aber nicht. Dieses in
>> der Shell eingetippt: 'xvkbd -xsendevent -text "\A\t" erzeugt
>> nur das TAB in der Shell, sonst passiert nichts (hätte ein
>> Wechsel des Fensters sein sollen).
>
> Das liegt vermutlich daran, dass das Alt-Tab an die Shell
> gesendet wird (eben an das aktuelle Fenster), und die kann
> damit nichts anfangen.

So denke ich mir das auch, xvkbd dient wohl eher dazu, Keycodes
an _Anwendungen_ zu schicken.

> An welches Fenster (?) das Alt-Tab gesendet werden müsste, um
> den Fenster-Wechsel auszulösen, habe ich nicht herausbekommen.

Es muss wohl weiter vorne in der Verarbeitungskette eingeschleust
werden, bevor KDE entscheidet, zu welchem Fenster der Keycode
gehen soll (oder ob ihn KDE selbst verarbeitet). *)

> Allerdings geht hier in KDE "xvkbd -text '\[XF86ScrollDown]'",
> wenn im KDE-Kontrollzentrum unter "Regionaleinstellungen und
> Zugangshilfen" -> Tastenkürzel -> Allgemeine Tastenkürzel ->
> System -> Navigation bei "Zwischen Fenstern umschalten" das
> XF86ScrollDown als alternatives Tastenkürzel eingetragen ist.

Wollte ich testen, aber wie trage ich 'XF86ScrollDown' als Hotkey
ein? Habe leider keine Taste, die so beschriftet ist :-)

> Warum das dann zur Abwechslung nicht an die Shell gesendet
> wird, wissen die Götter. Statt XF86ScrollDown kann man wohl
> auch irgendeine andere Tastenkombination verwenden.

Das hieße, nur die Kombination aus Tab und Alt macht die
Probleme, STRG-Z oder sowas geht?
...probier... (Gut, Strg-Z ist nicht gut, aber) ... geht
wirklich! Yo, dass muss ich morgen mal einbauen/umsetzen.

*) Diese Vermutung scheint dann also so nicht zu stimmen.

Besten Dank für das Work-Around :-)

CU Rollo

Roland Damm

unread,
Jan 6, 2008, 6:04:30 AM1/6/08
to
Moin,

Michael Mauch schrub:

> [Hinweis, dass es mit anderem Hotkey via xvkbd -text '...'
geht]

Soweit so gut, mit xvkbd .... Fenster wechseln funktioniert aus
der Shell heraus. Jetzt habe ich das in diesen lineakd
eingebaut, und dort funktioniert es nicht. Ich kann auf Druck
einer solchen Zusatztaste (z.B. STOP) einen Text mit echo auf
die Konsole ausgeben, ich kann ein Skript starten, ich kann auch
z.B. kmail starten (am unerlaubten Zugang zu X kann es daher
nicht liegen). die xvkbd...-Anweisung im Skript erzeugt eine
Warnmeldung (irgendein Font stimmt nicht, ist auch egal, funzt
trotzdem) die ebenso auf die Shell ausgegeben wird - sprich
xvkbd wird wirklich ausgeführt. Nur es passiert nichts, kein
Fensterwechsel.
Auch wenn ich das Skript, welches auf Tastendruck ausgeführt
wird, manuell starte, passiert der gewünschte Wechsel der
Fenster. Nur eben nicht, wenn lineakd das skript startet.

Merkwürdig....

CU Rollo

Michael Mauch

unread,
Jan 7, 2008, 12:51:25 PM1/7/08
to

Hmm - warum muss einklich lineakd das Alt-Tab auslösen? Könntest Du das
nicht auch direkt bei KDE einstellen?


Michael

Roland Damm

unread,
Jan 7, 2008, 4:27:41 PM1/7/08
to
Moin,

Michael Mauch schrub:

> Hmm - warum muss einklich lineakd das Alt-Tab auslösen?
> Könntest Du das nicht auch direkt bei KDE einstellen?

Weiß nicht, wie KDE diese Sondertasten auslesen können soll -
geht das etwa?

CU Rollo

Michael Mauch

unread,
Jan 7, 2008, 6:48:11 PM1/7/08
to

Ja, zumindest wenn die Taste beim Test mit xev bei "keysym" etwas
anderes bringt als "NoSymbol". Falls sie "NoSymbol" bringt, kannst Du
sie z.B. mit xmodmap belegen.

Suche nach 'xev NoSymbol xmodmap' führt z.B. zu
<http://www.slackforum.de/wiki/?wakka=SondertastenOhneExterneProgramme>.

Michael

Roland Damm

unread,
Jan 8, 2008, 6:03:56 PM1/8/08
to
Moin,

Michael Mauch schrub:

>> Weiß nicht, wie KDE diese Sondertasten auslesen können soll -
>> geht das etwa?
>
> Ja, zumindest wenn die Taste beim Test mit xev bei "keysym"
> etwas anderes bringt als "NoSymbol". Falls sie "NoSymbol"
> bringt, kannst Du sie z.B. mit xmodmap belegen.
>
> Suche nach 'xev NoSymbol xmodmap' führt z.B. zu
>
<http://www.slackforum.de/wiki/?wakka=SondertastenOhneExterneProgramme>.

Irgendwie durchblicke ich das nicht. xev liefert eine Ausgabe,
die kaum Ähnlichkeit mit dem hat, was auf der zitierten Wegseite
steht:
STOP-Taste:
....
( es gelingt mir nicht zu extrahieren, welche der rund 100 Zeilen
der Ausgabe wirklich nur zu der Taste gehören, die ich drücke -
kryptisch ist alles, bekannt sieht nichts aus)

Ich habe noch dem dcop-Krams hinterherrecherchiert: lineakd macht
das ja damit, den Source habe ich und hab da mal reingeschaut,
ob ich da Ideen herausziehen kann. In der Tat gibt es da
einfache Aufrufe zum Wechseln des Desktops, aber keine zum
Wechseln des Fensters. Zum Desktop-Wechsel bietet lineakd
fertige Makros an, diese benutzen fertige dcop-Aufrufe. Nichts
dergleichen für Fensterwechsel (sonst hätte ich ja noch ohne all
zu viel Wissen die Makros von lineakd erweitern/ändern können).
Aber so, wie die Desktops gewechselt werden können, können
Fenster offensichtlich nicht gewechselt werden.

Noch eine Variante: lineakd liefert ein Progrämmchen 'xsendkeys'
mit, mit dem man Tasten(-codes) absetzen kann. Funktioniert an
der Kommandozeile auch wunderbar, auch mit 'Alt_L+Tab' (ist nach
dessen Syntax die Zeichenkette, die zu einem ALT+TAB führt, aber
via lineakd ausgeführt, passiert nichts. Also schließlich exakt
das selbe, was ich auch mit xvkbd (nicht) erreichen konnte.

Irgendwie scheint diese Fenster-Wechsel-Geschichte ein ganz
besonderes Problem zu sein.

CU Rollo

Michael Mauch

unread,
Jan 8, 2008, 7:00:37 PM1/8/08
to
Roland Damm wrote:
> Moin,
>
> Michael Mauch schrub:
>
>>> Weiß nicht, wie KDE diese Sondertasten auslesen können soll -
>>> geht das etwa?
>>
>> Ja, zumindest wenn die Taste beim Test mit xev bei "keysym"
>> etwas anderes bringt als "NoSymbol". Falls sie "NoSymbol"
>> bringt, kannst Du sie z.B. mit xmodmap belegen.
>>
>> Suche nach 'xev NoSymbol xmodmap' führt z.B. zu
>>
> <http://www.slackforum.de/wiki/?wakka=SondertastenOhneExterneProgramme>.
>
> Irgendwie durchblicke ich das nicht. xev liefert eine Ausgabe,
> die kaum Ähnlichkeit mit dem hat, was auf der zitierten Wegseite
> steht:
> STOP-Taste:
> ....
> ( es gelingt mir nicht zu extrahieren, welche der rund 100 Zeilen
> der Ausgabe wirklich nur zu der Taste gehören, die ich drücke -
> kryptisch ist alles, bekannt sieht nichts aus)

Wenn Du den Mauszeiger neben das xev-Fenster setzt, sollte bei einem
(kurzen) Tastendruck eigentlich nur ein Absatz mit "KeyPress event" und
einer mit "KeyRelease event" angezeigt werden.

> Ich habe noch dem dcop-Krams hinterherrecherchiert: lineakd macht
> das ja damit, den Source habe ich und hab da mal reingeschaut,
> ob ich da Ideen herausziehen kann. In der Tat gibt es da
> einfache Aufrufe zum Wechseln des Desktops, aber keine zum
> Wechseln des Fensters. Zum Desktop-Wechsel bietet lineakd
> fertige Makros an, diese benutzen fertige dcop-Aufrufe. Nichts
> dergleichen für Fensterwechsel (sonst hätte ich ja noch ohne all
> zu viel Wissen die Makros von lineakd erweitern/ändern können).
> Aber so, wie die Desktops gewechselt werden können, können
> Fenster offensichtlich nicht gewechselt werden.
>
> Noch eine Variante: lineakd liefert ein Progrämmchen 'xsendkeys'
> mit, mit dem man Tasten(-codes) absetzen kann. Funktioniert an
> der Kommandozeile auch wunderbar, auch mit 'Alt_L+Tab' (ist nach
> dessen Syntax die Zeichenkette, die zu einem ALT+TAB führt, aber
> via lineakd ausgeführt, passiert nichts. Also schließlich exakt
> das selbe, was ich auch mit xvkbd (nicht) erreichen konnte.
>
> Irgendwie scheint diese Fenster-Wechsel-Geschichte ein ganz
> besonderes Problem zu sein.

Vielleicht wechseln wir besser nach de.comp.os.unix.x11 (da hätt' ich
auch ein paar Tage früher draufkommen können); Crosspost und Followup-To
ist gesetzt.

Michael

0 new messages