← FAQ
FAQ

Invoer: toetsenbord, muis, touchpad, aanraakscherm, schermtoetsenbord

FAQ › EUZOS Desktop › Invoer · English

Wat is het?

EUZOS leest zijn invoerapparaten met eigen drivers:

  • Toetsenborden: PS/2 (de i8042) en USB (bootprotocol), met het numerieke toetsenblok, volumetoetsen en sneltoetsen.
  • Muizen en touchpads: PS/2-muis, USB-muis, ELAN-touchpads via PS/2 (absolute modus), Synaptics RMI4 via HID-over-I2C, en Precision Touchpads; scrollen met twee vingers met doorrollen, tikken om te klikken, rechtsklik met twee vingers.
  • Aanraakschermen: USB-HID en HID over I2C (gevonden via ACPI), met tabletgebaren: vegen om te scrollen, doorrollen, tikken, lang drukken en knijpen.
  • Schermtoetsenbord: op het bureaublad, het inlogscherm en de tekstconsole; het verschijnt vanzelf als er geen fysiek toetsenbord is.

Alles komt in twee wachtrijen terecht: de invoerbuffer met tekens en toetsen (kernel::input) en de aanwijzergebeurtenissen (kernel::pointer).

Hoe doe ik…?

Hoe controleer ik welke invoerapparaten EUZOS ziet?

Typ input in de console: ACPI-apparaten, I2C-controllers, PS/2, USB en tellers. usb hid toont USB-aanwijsapparaten (aanraakscherm, pen, muis) in het reportprotocol, input hid de HID-apparaten op I2C.

Hoe gebruik ik het schermtoetsenbord?

Het schuift vanzelf in als een tekstveld de focus krijgt en er geen fysiek toetsenbord is (wachtwoord in het wifipaneel, de adresbalk van de browser, een formulierveld op een webpagina, de terminal, het inlogformulier). De toetsenbordknop in de balk (op aanraakapparaten) opent en sluit het met de hand. In de tekstconsole opent het vanzelf zonder toetsenbord, of met de knop rechtsonder. De toets "verbergen" sluit het.

Hoe stel ik in wanneer het schermtoetsenbord verschijnt?

Instellingen › Toetsenbord › Schermtoetsenbord: Automatisch (standaard: alleen zonder fysiek toetsenbord), Altijd of Nooit (de knop werkt dan nog wel). Dezelfde kaart heeft de Indeling (Volgens taal, of een van de negen indelingen) en Tikgeluid aan/uit. Dit zijn profielinstellingen; ze gaan met je mee naar andere pc's.

Hoe probeer ik het schermtoetsenbord op een pc met een toetsenbord?

input keyboard no dwingt "geen fysiek toetsenbord" af; input keyboard yes dwingt "toetsenbord aanwezig" af; input keyboard auto laat EUZOS weer zelf beslissen. input keyboard alleen toont de beslissing en de redenen (het identify-antwoord van PS/2, of er een toets binnenkwam, het aantal USB-toetsenborden, aanraakschermen).

Welke indelingen heeft het schermtoetsenbord?

QWERTY, QWERTZ (met ü ö ä), AZERTY, Turks Q, Grieks, Oekraïens, Bulgaars fonetisch, Servisch cyrillisch en Macedonisch cyrillisch. De standaard volgt de taal. Shift één keer voor één hoofdletter, twee keer binnen 350 ms voor Caps; ?123 en =\< voor cijfers en symbolen; lang drukken (450 ms) op een letter toont de varianten met accenten. Ctrl en Alt gelden voor de volgende toets (Ctrl+Alt+T, Ctrl+C, Alt+Tab). In een wachtwoordveld wordt geen vergroot voorbeeld van de toets getoond.

Gebruikt het fysieke toetsenbord mijn indeling?

Nog niet. De omzetlaag voor fysieke indelingen bestaat (euzos_input::layout: us, us-intl, de, fr, tr-q, met dode toetsen), maar de drivers gebruiken hem nog niet (gepland, docs/LANGUAGES.md). Wat een fysiek toetsenbord nu typt, komt uit de ingebouwde tabel van de driver: de Amerikaanse indeling (hid_to_ascii in kernel/src/usb/mod.rs voor USB, de scancodetabellen in kernel/src/arch/x86_64/keyboard.rs voor PS/2).

Hoe werkt het numerieke toetsenblok?

Op USB-toetsenborden staat NumLock aan bij het opstarten en wisselt het met de NumLock-toets. Met NumLock typt het toetsenblok cijfers en .; zonder NumLock geeft het de pijlen, Home/End, Page Up/Down en Delete. / * - + en Enter werken altijd. Ctrl+plus, Ctrl+min en Ctrl+0 (zoomen in de browser) werken ook op het toetsenblok, op USB en PS/2.

Welke sneltoetsen zijn er?

ToetsenWat
Ctrl+Alt+T of Ctrl+Alt+F1 (seriële console: Ctrl+T)de console tonen zonder af te melden, en terug
Super+pijlen (zonder Super: Ctrl+Alt+pijlen)maximaliseren, herstellen, links/rechts vastzetten
Alt+Tab, Alt+F4ander venster, venster sluiten
Super alleenhet megamenu openen/sluiten
Ctrl+T, Ctrl+W, Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+F, Ctrl+L, Ctrl+Dsneltoetsen van de browser
Ctrl+plus / min / 0zoomen (ook op het toetsenblok)
Ctrl+C, Ctrl+V, Ctrl+Xklembord
Deleteverwijderen (bijvoorbeeld de geselecteerde mail)
Ctrl+Alt+Esc, 3 s vasthoudennoodherstart; kort indrukken doet niets (zie Console)

Hoe verander ik het gedrag van de touchpad en de muis?

Instellingen › Invoerapparaten: Touchpad (Snelheid van de aanwijzer Langzaam/Normaal/Snel, Natuurlijk scrollen, Tikken om te klikken, Rechtsklik met twee vingers, Scrollsnelheid) en Muis (Snelheid van de aanwijzer, Knoppen omwisselen, Wieltje omkeren). Wijzigingen gelden meteen.

Hoe maak ik de muisaanwijzer kleiner of groter?

Instellingen › Invoerapparaten › Aanwijzer › Grootte van de aanwijzer: Klein, Normaal (standaard), Groot of Extra groot. Het verandert meteen op elk scherm, ook op een tweede (HDMI-)scherm. Groot is de maat die EUZOS tot 28-10-2026 gebruikte; Normaal is iets kleiner, ongeveer zo groot als een gewone bureaubladaanwijzer. Opgeslagen in je profiel (pointer-size=).

Waarom verdwijnt de muisaanwijzer?

Na 15 seconden zonder beweging van muis of touchpad verdwijnt de aanwijzer, zodat hij niet over je tekst staat. Beweeg de muis of touchpad, klik, scrol of draai aan het wieltje en hij is meteen terug, op dezelfde plek; alleen typen brengt hem niet terug. Hover-effecten en menu's onder de aanwijzer blijven zoals ze waren. De wachttijd (5, 10, 15 of 30 s) of uitzetten (Nooit) staat in Instellingen › Invoerapparaten › Aanwijzer › Aanwijzer verbergen bij stilstand (pointer-hide=). Een vinger op het aanraakscherm verbergt de aanwijzer ook; de volgende muisbeweging laat hem weer zien.

Hoe verander ik de gebaren van het aanraakscherm?

Instellingen › Invoerapparaten › Aanraakscherm (alleen als er een aanraakscherm is): Vegen = scrollen, Doorrollen, Lang drukken = rechtsklik. Standaard alle drie aan. Chromium doet zijn eigen tabletgedrag.

Waarom beweegt de aanwijzer van de touchpad de verkeerde kant op?

input touchpad flip x of input touchpad flip y draait een as om tot de volgende herstart. Doet de modus met meerdere vingers raar op een PS/2-ELAN-touchpad, dan zet input ps2 mouse hem terug in gewone muismodus, input ps2 absolute weer in de modus met meerdere vingers.

Hoe zet ik I2C-invoer uit bij het opstarten?

Zet het woord off in \EOS\FW\INPUT.TXT (oud: uit, en de bestandsnaam INVOER.TXT, worden nog gelezen). EUZOS slaat dan de HID-apparaten op I2C over tijdens het opstarten; input start start ze later alsnog.

Details

  • Toetsenborddetectie (input_presence::keyboard_present, de beslissing in euzos_input::presence): een i8042-controller alleen telt niet; het toetsenbord moet "identify" (0xF2) beantwoorden met een MF2-ID, of er moet een toets van de eerste PS/2-poort gekomen zijn. Elk aangesloten USB-boottoetsenbord telt (tot het wordt verwijderd). Een aanraakscherm telt als aanwezig zodra het is aangesloten of zodra er een vinger gezien is.
  • Tekens gaan als u32 door de invoerbuffer: 0x00–0x7F ASCII, 0x80–0x9F speciale codes (pijlen, volume, vensters, sneltoetsen van de browser, klembord), vanaf 0xA0 Unicode. Het schermtoetsenbord gebruikt dezelfde buffer (input::from_on_screen_keyboard), dus apps zien geen verschil.
  • Lagen van de touchpad: driver (ELAN PS/2 in arch/x86_64/mouse.rs met euzos_input::elan; RMI4 in hid_i2c.rs met euzos_input::rmi; Precision Touchpad met euzos_input::hid::Ptp) → gebaren (euzos_gestures::Recognizer) → kernel::touchpad → pointer-gebeurtenissen (Scroll { dx, dy, phase }) → het venster onder de pijl. Is een type niet echt bekend of mislukt een stap, dan blijft de touchpad in muismodus.
  • Drempels van de gebaren: scrollen met twee vingers na 1,2 mm; tikken < 220 ms en < 2,5 mm (één vinger links, twee rechts, drie midden); palm breder dan 22 mm; slepen op het aanraakscherm voorbij 10 schermpunten; lang drukken 0,5 s.
  • Aanraakscherm: de eerste vinger beweegt de aanwijzer; alle vingers gaan naar pointer::push_touch (Event::Finger, FingersUp); in een Wayland-venster of Chromium gaan ze als wl_touch naar de compositor (kernel::screen::touch).
  • HID over I2C: controllers uit ACPI (_HID INT33C2, INT33C3, INT3432, INT3433, 80860F41, 808622C1), apparaten met PNP0C50 / ACPI0C50, aangezet met _PS0, de HID-descriptor via _DSM. GPIO-interruptlijnen op Lynx Point (INT33C7, INT3437).
  • Toetsherhaling is niet gebouwd: een USB-toetsenbord herhaalt niet, PS/2 gebruikt de standaard van het apparaat (backlog).

Naslag

Consoleopdrachten

OpdrachtArgumentenWat het doet
input—overzicht: ACPI-variabelen en -apparaten, I2C-controllers, PS/2, USB, tellers
input start—de HID-apparaten op I2C (opnieuw) zoeken en starten
input hid[all]HID-apparaten op I2C in detail; all: de hele reportdescriptor; oude alias alles
input hid fields—elk veld van de reportdescriptors (report-ID, usage, bits); oude alias velden
input gpio—GPIO-registers van de interruptlijnen
input ps2[rescan]diagnose van de PS/2-muis/touchpad; rescan vraagt het apparaat opnieuw; oude alias opnieuw
input ps2 mouse—touchpad alleen als muis; oude alias muis
input ps2 absolute—touchpad met meerdere vingers (ELAN); oude alias absoluut
input follow[s] (standaard 10)aanwijzergebeurtenissen live tonen; oude alias volg
input touchpad—actieve touchpad met meerdere vingers, instellingen, laatste 8 frames
input touchpad follow[s] (standaard 20)ruwe pakketten, vingers en gebaren live
input touchpad flipx | yeen as omdraaien tot de herstart; oude alias omdraaien
input touch—aanraakscherm: reports, vingers, grootste gat, instellingen, laatste gebaren; oude alias aanraak
input touch follow[s] (standaard 20)vingers en gebaren live
input keyboard[yes|no|auto]aanwezigheid van fysiek toetsenbord en aanraakscherm; afdwingen of automatisch; oude aliassen toetsenbord, ja, nee
i2c—de I2C-controllers uit ACPI (nummer, pad, _HID, _STA, basis, aan/fout)
i2c scan<n>adressen 0x08–0x77 proberen op controller n (nummer of naam), alleen lezen
i2c read<n> <adres> <reg> [aantal]een register lezen (registeradres van 16 bit); oude alias lees
usb hid[all|fields]USB-aanwijsapparaten in het reportprotocol en boottoetsenborden/-muizen; oude aliassen alles, velden

Oude opdrachtnaam: invoer → input. Verwant: screen tap en screen wheel <n> bootsen een tik en het scrollwieltje na (zie Console).

Functies en modules

Functie / moduleRol
kernel::input (push, push_char, pop, from_on_screen_keyboard, browser_shortcut)de invoerbuffer en de speciale toetscodes (UP, CONSOLE, VOL_UP, WINDOW_*, CTRL_*, ZOOM_*, DEL, MENU)
kernel::input_presence::command / i2c_command / init / startde opdrachten input en i2c; I2C-invoer bij het opstarten
kernel::input_presence::keyboard_present / touchscreen_presentis er een fysiek toetsenbord / een aanraakscherm
kernel::pointer (push, push_touch, push_hid, next, counters)de wachtrij met aanwijzergebeurtenissen
kernel::touchpad (frame, tick, set_settings, set_mouse, set_touch, diagnose, follow, flip)touchpadgebaren, doorrollen, profielinstellingen
kernel::touch (diagnose, follow)diagnose van het aanraakscherm
kernel::hid_i2c (start, read_descriptor)HID-over-I2C-apparaten
kernel::i2c (Bus, Timings)de LPSS-I2C-controller
kernel::arch::x86_64::keyboard / mousePS/2-toetsenbord en -muis (ELAN absolute modus)
kernel::usb::hidUSB-HID in het reportprotocol (aanraakschermen, pennen, muizen)
kernel::screen::keyboard (follow, step)wanneer het schermtoetsenbord op het grafische scherm verschijnt
kernel::screen::touchvingers naar gebaren, wl_touch, lang drukken, knijpen
kernel::screen::pointer_style (set, refresh, idle)de grootte van de aanwijzer en verbergen bij stilstand, op elk scherm
euzos_ui::login::PointerSize, ArrowImage::sizedde aanwijzergroottes en de anti-aliased pijl
euzos_window::Pointers (shown, set_hide_after, wake, idle)de pijl los van de vinger; de verbergtimer
kernel::console_keyboard (work)het schermtoetsenbord in de tekstconsole
euzos_ui::keyboard (Layout, Follower, slide)tekenen, indelingen en de toon/verberg-beslissing van het schermtoetsenbord
euzos_input (ps2, usb_hid, hid, i2c_hid, elan, rmi, presence, layout)parsers voor elk invoerprotocol; fysieke indelingen
euzos_gestures (Recognizer, Frame, touch)gebarenherkenning voor touchpad en aanraakscherm (alleen gehele getallen)

Configuratiebestanden

BestandSleutelWaardenBetekenis
\EOS\FW\INPUT.TXT (oude naam INVOER.TXT)(heel het bestand)off (oud uit)HID-over-I2C-invoer niet starten bij het opstarten (input start kan het nog)

Profielinstellingen (op de lijn naar de profielserver; sleutels en waarden blijven Nederlands):

SleutelWaarden (standaard)Instelling
schermtoetsenbordautomatisch | altijd | nooit (automatisch)Schermtoetsenbord
toetsenbordtaal | us | us-intl | de | fr | tr-q | el | uk | bg | sr-cyrl | mk (taal)Indeling
toetsenbord-tikaan | uit (aan)Tikgeluid
touchpad-aanwijzerlangzaam | normaal | snel (normaal)Snelheid van de aanwijzer (touchpad)
touchpad-natuurlijkaan | uit (aan)Natuurlijk scrollen
touchpad-tikkenaan | uit (aan)Tikken om te klikken
touchpad-rechtsklikaan | uit (aan)Rechtsklik met twee vingers
touchpad-snelheidlangzaam | normaal | snel (normaal)Scrollsnelheid
muis-snelheidlangzaam | normaal | snel (normaal)Snelheid van de aanwijzer (muis)
muis-omwisselenaan | uit (uit)Knoppen omwisselen
muis-wiel-omkerenaan | uit (uit)Wieltje omkeren
pointer-sizesmall | normal | large | xlarge (normal)Grootte van de aanwijzer
pointer-hidenever | 5 | 10 | 15 | 30 (15)Aanwijzer verbergen bij stilstand (seconden)
aanraak-vegenaan | uit (aan)Vegen = scrollen
aanraak-doorrollenaan | uit (aan)Doorrollen
aanraak-lang-drukkenaan | uit (aan)Lang drukken = rechtsklik

Sinds 27-10-2026 schrijft EUZOS Engelse namen voor configuratiebestanden, sleutels, waarden en bevestigingswoorden (bijvoorbeeld WIPE-…, environment= in PROFILE.TXT); de oude Nederlandse namen (hier oud genoemd) worden nog gelezen en geaccepteerd (docs/ENGLISH.md).

Protocolberichten en formaten

FormaatBeschrijving
PS/2 scancodeset 1volumetoetsen E0 30 / E0 2E / E0 20; Delete E0 53
USB-HID-bootprotocolkeyboard page; NumLock usage 0x53, toetsenblok 0x54–0x63, volume 0x80/0x81/0x7F, Delete 0x4C
HID over I2CHID-descriptor (30 bytes) via het register uit _DSM (GUID 3CDFF6F7-4267-4555-AD05-B30A3D8938DE)
regel van input touchpad followtijd ruwe bytes | n finger(s) #id(x,y z=druk) -> pointer dx dy -> scroll dx dy px -> knoppen
regel van input touch follown finger(s) #id(x,y) en dan -> TAP, -> LONG PRESS, -> drag, -> SWIPE vx vy px/s, -> PINCH, en wat het scherm deed

Zie ook

  • docs/DESKTOP-DESIGN.md, hoofdstukken 11 (schermtoetsenbord), 12 (touchpad) en 12b (aanraakscherm)
  • docs/LANGUAGES.md, "Keyboards"
  • docs/WINDOWS.md (sneltoetsen voor vensters), docs/WAYLAND.md ("Touchscreen")
  • docs/SOURCES.md, "USB and input"
  • Geluid (volumetoetsen, tikgeluid), Diagnose (usb, aml, acpi)