.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" FIXME The following are not documented: .\" KDFONTOP (since Linux 2.1.111) .\" KDGKBDIACRUC (since Linux 2.6.24) .\" KDSKBDIACR .\" KDSKBDIACRUC (since Linux 2.6.24) .\" KDKBDREP (since Linux 2.1.113) .\" KDMAPDISP (not implemented as at Linux 2.6.27) .\" KDUNMAPDISP (not implemented as at Linux 2.6.27) .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ioctl_kd 2 "17. Mai 2025" "Linux man\-pages 6.15" .SH BEZEICHNUNG ioctl_kd \- Ioctls für Konsolen\-Terminal und virtuelle Konsolen .SH ÜBERSICHT .nf \fB#include \fP /* Definition der op\-Konstanten */ \fB#include \fP .P \fBint ioctl(int \fP\fIdd\fP\fB, unsigned long \fP\fIop\fP\fB, void *\fP\fIargz\fP\fB);\fP .fi .SH BESCHREIBUNG Die folgenden, Linux\-spezifischen \fBioctl\fP(2)\-Aktionen werden für Konsolen\-Terminals und virtuelle Konsolen unterstützt. .TP \fBKDGETLED\fP Ermittelt den Zustand der LEDs. \fIargz\fP zeigt auf ein \fIchar\fP. Die unteren drei Bits von \fI*argz\fP werden wie folgt auf den Zustand der LEDs gesetzt: .TS l l l. LED_CAP 0x04 Feststelltaste\-LED LED_NUM 0x02 Num\-LED LED_SCR 0x01 Rollen\-LED .TE .TP \fBKDSETLED\fP Setzt die LEDs. Die LEDs werden so gesetzt, dass sie den niedrigeren drei Bits des vorzeichenlosen »long integer« \fIargz\fP entsprechen. Falls allerdings ein »higher order«\-Bit gesetzt ist, kehren die LEDs zum Normalzustand zurück: Anzeige des Status der Tastaturfunktionen »Feststellen«, »Num« und »Rollen«. .P Vor Linux 1.1.54 gaben die LEDs lediglich den Zustand der entsprechenden Tastaturschalter wieder und KDGETLED/KDSETLED würde auch die Tastaturschalter ändern. Seit Linux 1.1.54 können mit den LEDs beliebige Informationen dargestellt werden, aber standardmäßig zeigen sie die Tastaturschalter an. Die folgenden zwei Ioctls werden zum Zugriff auf die Tastaturschalter verwandt: .TP \fBKDGKBLED\fP Ermittelt die Tastaturschalter CapsLock, NumLock, ScrollLock (nicht Lichter). \fIargz\fP zeigt auf ein \fIchar\fP, der auf den Schalterzustand gesetzt ist. Die niedrigrangigen drei Bits (Maske 0x7) erhalten den aktuellen Schalterzustand und die niedrigrangigen Bits des nächsten Halbbytes (Maske 0x70) erhalten den Standardschalterzustand. (Seit Linux 1.1.54) .TP \fBKDSKBLED\fP Setzt die Tastaturschalter CapsLock, NumLock, ScrollLock (nicht die LEDs). \fIargz\fP ist ein vorzeichenloser »long integer«, der den gewünschten Schalterzustand enthält. Die niedrigrangigen drei Bits (Maske 0x7) enthalten den Schalterzustand und die niedrigrangigen Bits des nächsten Halbbytes (Maske 0x70) enthalten den Standardschalterzustand. (Seit Linux 1.1.54) .TP \fBKDGKBTYPE\fP Tastaturtyp ermitteln. Dies liefert den Wert KB_101, definiert als 0x02. .TP \fBKDADDIO\fP E/A\-Port als gültig hinzufügen. Äquivalent zu \fIioperm(arg,1,1)\fP. .TP \fBKDDELIO\fP E/A\-Port als gültig löschen. Äquivalent zu \fIioperm(arg,1,0)\fP. .TP \fBKDENABIO\fP E/A zur Graphikkarte aktivieren. Äquivalent zu \fIioperm(0x3b4, 0x3df\-0x3b4+1, 1)\fP. .TP \fBKDDISABIO\fP E/A zur Graphikkarte deaktivieren. Äquivalent zu \fIioperm(0x3b4, 0x3df\-0x3b4+1, 0)\fP. .TP \fBKDSETMODE\fP Text\-/Graphikmodus setzen. \fIargz\fP ist ein vorzeichenloser »long integer«, der eines der folgenden enthält: .TS l l. KD_TEXT 0x00 KD_GRAPHICS 0x01 .TE .TP \fBKDGETMODE\fP Text\-/Graphikmodus ermitteln. \fIargz\fP zeigt auf ein \fIint\fP, der auf einen der oben für \fBKDSETMODE\fP gezeigten Werte gesetzt wird. .TP \fBKDMKTONE\fP Erzeugt einen Ton der angegebenen Länge. Die niedrigen 16 Bits des vorzeichenlosen »long integer« in \fIargz\fP legen die Periode in Uhrzyklen fest und die höheren 16 Bits ergeben die Dauer in ms. Falls die Dauer Null ist, wird der Klang abgestellt. Die Steuerung kehrt sofort zurück. Beispielsweise würde \fIargz\fP = (125<<16) + 0x637 den Klang festlegen, der normalerweise mit Strg\-G verbunden ist. (So seit Linux 0.99pl1; defekt in Linux 2.1.49\-50.) .TP \fBKIOCSOUND\fP Beginnt oder beendet die Klangerzeugung. Die niedrigen 16 Bits von \fIargz\fP legen die Periode in Uhrzyklen fest (d.h. \fIargz\fP = 1193180/Frequenz). \fIargz\fP = 0 schaltet den Klang ab. In jedem Fall kehrt die Steuerung sofort zurück. .TP \fBGIO_CMAP\fP Ermittelt die aktuelle Vorgabefarbzuordnungstabelle des Kernels. \fIargz\fP zeigt auf ein 48\-byte\-Feld. (Seit Linux 1.3.3) .TP \fBPIO_CMAP\fP Ändert die Standardfarbtabelle im Textmodus. \fIargz\fP zeigt auf ein 48\-byte\- Feld, das in dieser Reihenfolge die Rot\-, Grün\- und Blauwerte für die 16 verfügbaren Bildschirmfarben enthält: 0 ist aus und 255 volle Intensität. Die vorgegebenen Farben sind in dieser Reihenfolge: Schwarz, Dunkelrot, Dunkelgrün, Braun, Dunkelblau, Dunkelviolett, Dunkelzyan, Hellgrau, Dunkelgrau, Hellrot, Hellgrün, Gelb, Hellblau, Hellviolett, Hellzyan und Weiß. (Seit Linux 1.3.3) .TP \fBGIO_FONT\fP Ermittelt die 256\-Zeichen\-Bildschirmschrift in expandierter Form. \fIargz\fP zeigt auf ein 8192\-Byte\-Feld. Schlägt mit Fehlercode \fBEINVAL\fP fehl, falls die derzeit geladene Schrift eine 512\-Zeichen\-Schrift ist oder falls sich die Konsole nicht im Textmodus befindet. .TP \fBGIO_FONTX\fP Ermittelt die Bildschirmschrift und zugehörige Informationen. \fIargz\fP zeigt auf ein \fIstruct consolefontdesc\fP (siehe \fBPIO_FONTX\fP). Beim Aufruf sollte das Feld \fIcharcount\fP auf die maximale Anzahl von Zeichen gesetzt werden, die in den Puffer passen, auf den \fIchardata\fP zeigt. Bei der Rückkehr sind \fIcharcount\fP und \fIcharheight\fP mit den respektiven Daten der aktuell geladenen Schrift gefüllt und das Feld \fIchardata\fP enthält die Schriftdaten, falls der ursprüngliche Wert von \fIcharcount\fP anzeigt, dass genug Raum verfügbar war. Andernfalls bleibt der Puffer unverändert und \fIerrno\fP ist auf \fBENOMEM\fP gesetzt. (Seit Linux 1.3.1) .TP \fBPIO_FONT\fP Setzt die 256\-Zeichen\-Bildschirmschrift. Lädt Schrift in den EGA\-/VGA\-Zeichenerzeuger. \fIargz\fP zeigt auf eine 8192\-Byte\-Abbildung mit 32 Byte je Zeichen. Nur die ersten \fIN\fP davon werden für eine 8x\fIN\fP\-Schrift (0 < \fIN\fP <= 32) benutzt. Dieser Aufruf annuliert außerdem das Abbilden per Unicode. .TP \fBPIO_FONTX\fP Bildschirmschrift und zugehörige Renderinginformation setzen. \fIargz\fP zeigt auf ein .IP .in +4n .EX struct consolefontdesc { unsigned short charcount; /* Zeichen in Schrift (256 oder 512) */ unsigned short charheight; /* Scanzeilen pro Zeichen (1\-32) */ char *chardata; /* Schriftdaten in expandierter Form */ }; .EE .in .IP Falls nötig, wird die Größe des Bildschirms entsprechend geändert und \fBSIGWINCH\fP an die entsprechenden Prozesse gesandt. Dieser Aufruf annuliert außerdem das Abbilden per Unicode. (Seit Linux 1.3.1) .TP \fBPIO_FONTRESET\fP Setzt die Bildschirmschrift, Größe und das Abbilden per Unicode auf die Voreinstellungen beim Systemstart zurück. \fIargz\fP wird nicht benutzt, sollte aber auf NULL gesetzt werden, um Kompatibilität mit zukünftigen Versionen von Linux sicherzustellen. (Seit Linux 1.3.28) .TP \fBGIO_SCRNMAP\fP Holt Bildschirmabbildung vom Kernel. \fIargz\fP zeigt auf einen Bereich der Größe E_TABSZ, der mit den benutzten Schriftpositionen geladen wird, um jedes Zeichen anzuzeigen. Dieser Aufruf wird wahrscheinlich nutzlose Informationen zurückgeben, falls die derzeit geladene Schrift mehr als 256 Zeichen hat. .TP \fBGIO_UNISCRNMAP\fP Holt vollständige Unicode\-Bildschirmabbildung vom Kernel. \fIargz\fP zeigt auf einen Bereich der Größe \fIE_TABSZ*sizeof(unsigned short)\fP, der mit den Unicodes geladen ist, die jedes Zeichen darstellen. Ein besonderer Satz von Unicodes, der bei U+F000 anfängt, wird benutzt, um »direkt zur Schrift«\-Abbildungen darzustellen. (Seit Linux 1.3.1) .TP \fBPIO_SCRNMAP\fP Lädt die »benutzerdefinierbare« (vierte) Tabelle in den Kernel, die Bytes auf Konsolenschriftsymbole abbildet. \fIargz\fP zeigt auf ein Feld der Größe E_TABSZ. .TP \fBPIO_UNISCRNMAP\fP Lädt die »benutzerdefinierbare« (vierte) Tabelle in den Kernel, die Bytes in Unicodes abbildet, die dann gemäß der derzeit geladenen Unicode\-in\-Schrift\-Abbildung in Bildschirmsymbole übersetzt werden. Besondere Unicodes beginnen bei U+F000 und können benutzt werden, um direkt auf die Schriftsymbole abzubilden. (Seit Linux 1.3.1) .TP \fBGIO_UNIMAP\fP Holt Unicode\-in\-Schrift\-Abbildung vom Kernel. \fIargz\fP zeigt auf ein .IP .in +4n .EX struct unimapdesc { unsigned short entry_ct; struct unipair *entries; }; .EE .in .IP wobei \fIentries\fP auf ein Feld der folgenden Form zeigt: .IP .in +4n .EX struct unipair { unsigned short unicode; unsigned short fontpos; }; .EE .in .IP (seit Linux 1.1.92) .TP \fBPIO_UNIMAP\fP Hinterlegt Unicode\-in\-Schrift\-Abbildung im Kernel. \fIargz\fP zeigt auf ein \fIstruct unimapdesc\fP. (Seit Linux 1.1.92) .TP \fBPIO_UNIMAPCLR\fP Leert die Tabelle, informiert möglicherweise über den Hash\-Algorithmus. \fIargz\fP zeigt auf ein .IP .in +4n .EX struct unimapinit { unsigned short advised_hashsize; /* 0 falls keine Meinung */ unsigned short advised_hashstep; /* 0 falls keine Meinung */ unsigned short advised_hashlevel; /* 0 falls keine Meinung */ }; .EE .in .IP (seit Linux 1.1.92) .TP \fBKDGKBMODE\fP Ermittelt aktuellen Tastaturmodus. \fIargz\fP zeigt auf einen \fIlong\fP, der auf einen der folgenden Werte gesetzt wird: .TS l l. K_RAW 0x00 /* Roher (Scancode\-)Modus */ K_XLATE 0x01 /* Keycodes mittels Keymap übersetzen */ K_MEDIUMRAW 0x02 /* Medium\-roher (Scancode\-)Modus */ K_UNICODE 0x03 /* Unicode\-Modus */ K_OFF 0x04 /* Deaktivierter Modus; seit Linux 2.6.39 */ .\" K_OFF: commit 9fc3de9c83565fcaa23df74c2fc414bb6e7efb0a .TE .TP \fBKDSKBMODE\fP Aktuellen Tastaturmodus setzen. \fIargz\fP ist ein \fIlong\fP, der zu einem der oben für \fBKDGKBMODE\fP gezeigten Werte identisch ist. .TP \fBKDGKBMETA\fP Ermittelt den Metatasten\-Handhabungsmodus. \fIargz\fP zeigt auf einen \fIlong\fP, der auf einen der folgenden gesetzt ist: .TS l l l. K_METABIT 0x03 setzt signifikantestes Bit K_ESCPREFIX 0x04 Maskierungsvorsatz .TE .TP \fBKDSKBMETA\fP Setzt den Metatasten\-Handhabungsmodus. \fIargz\fP zeigt auf einen \fIlong\fP, der auf einen der für \fBKDGKBMETA\fP gezeigten Werte gesetzt ist. .TP \fBKDGKBENT\fP Ermittelt einen Eintrag in der Tastenübersetzungstabelle (Tastencode zu Aktionscode). \fIargz\fP zeigt auf ein .IP .in +4n .EX struct kbentry { unsigned char kb_table; unsigned char kb_index; unsigned short kb_value; }; .EE .in .IP wobei die ersten zwei Einträge ausgefüllt sind: \fIkb_table\fP wählt die Tastentabelle (0 <= \fIkb_table\fP < MAX_NR_KEYMAPS) und \fIkb_index\fP ist der Tastencode (0 <= \fIkb_index\fP < NR_KEYS). \fIkb_value\fP wird auf den entsprechenden Aktionscode oder K_HOLE, falls es keine solche Taste gibt, oder K_NOSUCHMAP, falls \fIkb_table\fP ungültig ist, gesetzt. .TP \fBKDSKBENT\fP Wählt einen Eintrag in der Übersetzungstabelle aus. \fIargz\fP zeigt auf ein \fIstruct kbentry\fP. .TP \fBKDGKBSENT\fP Ermittelt eine Funktionstastenzeichenkette. \fIargz\fP zeigt auf ein .IP .in +4n .EX struct kbsentry { unsigned char kb_func; unsigned char kb_string[512]; }; .EE .in .IP \fIkb_string\fP wird auf die (Null\-terminierte) Zeichenkette gesetzt, die dem Aktionscode der \fIkb_func\fPn Funktionstaste entspricht. .TP \fBKDSKBSENT\fP Setzt einen Funktionstastenzeichenketteneintrag. \fIargz\fP zeigt auf ein \fIstruct kbsentry\fP. .TP \fBKDGKBDIACR\fP Liest die Akzenttabelle des Kernels. \fIargz\fP zeigt auf ein .IP .in +4n .EX struct kbdiacrs { unsigned int kb_cnt; struct kbdiacr kbdiacr[256]; }; .EE .in .IP wobei \fIkb_cnt\fP die Anzahl der Einträge in dem Feld und jedes dieser ein folgendes ist: .IP .in +4n .EX struct kbdiacr { unsigned char diacr; unsigned char base; unsigned char result; }; .EE .in .TP \fBKDGETKEYCODE\fP Liest den Kernel\-Keycode\-Tabelleneintrag (Scancode nach Keycode). \fIargz\fP zeigt auf ein .IP .in +4n .EX struct kbkeycode { unsigned int scancode; unsigned int keycode; }; .EE .in .IP \fIkeycode\fP wird so eingestellt, dass er dem übergebenen \fIscancode\fP entspricht. (Nur 89 <= \fIscancode\fP <= 255. Für 1 <= \fIscancode\fP <= 88, \fIkeycode\fP==\fIscancode\fP.) (Seit Linux 1.1.63) .TP \fBKDSETKEYCODE\fP Schreibt den Kernel\-Tastaturcodetabelleneintrag. \fIargz\fP zeigt auf ein \fIstruct kbkeycode\fP. (Seit Linux 1.1.63) .TP \fBKDSIGACCEPT\fP Der aufrufende Prozess zeigt an, dass er das Signal \fIargz\fP akzeptiert, wenn dieses durch Drücken der entsprechenden Tastenkombination erzeugt wird. (1 <= \fIargz\fP <= NSIG). (Siehe \fIspawn_console\fP() in \fIlinux/drivers/char/keyboard.c\fP.) .SH RÜCKGABEWERT Bei Erfolg wird 0 zurückgegeben (außer wo angegeben). Bei einem Fehlschlag wird \-1 zurückgegeben und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .SH FEHLER .TP \fBEINVAL\fP \fIargz\fP ist ungültig. .SH STANDARDS Linux. .SH "SIEHE AUCH" \fBioctl\fP(2), \fBioctl_console\fP(2) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: .MT debian-l10n-german@lists.debian.org .ME .