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?
| Toetsen | Wat |
|---|---|
| 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+F4 | ander venster, venster sluiten |
| Super alleen | het megamenu openen/sluiten |
| Ctrl+T, Ctrl+W, Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+F, Ctrl+L, Ctrl+D | sneltoetsen van de browser |
| Ctrl+plus / min / 0 | zoomen (ook op het toetsenblok) |
| Ctrl+C, Ctrl+V, Ctrl+X | klembord |
| Delete | verwijderen (bijvoorbeeld de geselecteerde mail) |
| Ctrl+Alt+Esc, 3 s vasthouden | noodherstart; 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 ineuzos_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
u32door 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.rsmeteuzos_input::elan; RMI4 inhid_i2c.rsmeteuzos_input::rmi; Precision Touchpad meteuzos_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 alswl_touchnaar de compositor (kernel::screen::touch). - HID over I2C: controllers uit ACPI (
_HIDINT33C2,INT33C3,INT3432,INT3433,80860F41,808622C1), apparaten metPNP0C50/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
| Opdracht | Argumenten | Wat 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 flip | x | y | een 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 / module | Rol |
|---|---|
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 / start | de opdrachten input en i2c; I2C-invoer bij het opstarten |
kernel::input_presence::keyboard_present / touchscreen_present | is 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 / mouse | PS/2-toetsenbord en -muis (ELAN absolute modus) |
kernel::usb::hid | USB-HID in het reportprotocol (aanraakschermen, pennen, muizen) |
kernel::screen::keyboard (follow, step) | wanneer het schermtoetsenbord op het grafische scherm verschijnt |
kernel::screen::touch | vingers 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::sized | de 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
| Bestand | Sleutel | Waarden | Betekenis |
|---|---|---|---|
\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):
| Sleutel | Waarden (standaard) | Instelling |
|---|---|---|
schermtoetsenbord | automatisch | altijd | nooit (automatisch) | Schermtoetsenbord |
toetsenbord | taal | us | us-intl | de | fr | tr-q | el | uk | bg | sr-cyrl | mk (taal) | Indeling |
toetsenbord-tik | aan | uit (aan) | Tikgeluid |
touchpad-aanwijzer | langzaam | normaal | snel (normaal) | Snelheid van de aanwijzer (touchpad) |
touchpad-natuurlijk | aan | uit (aan) | Natuurlijk scrollen |
touchpad-tikken | aan | uit (aan) | Tikken om te klikken |
touchpad-rechtsklik | aan | uit (aan) | Rechtsklik met twee vingers |
touchpad-snelheid | langzaam | normaal | snel (normaal) | Scrollsnelheid |
muis-snelheid | langzaam | normaal | snel (normaal) | Snelheid van de aanwijzer (muis) |
muis-omwisselen | aan | uit (uit) | Knoppen omwisselen |
muis-wiel-omkeren | aan | uit (uit) | Wieltje omkeren |
pointer-size | small | normal | large | xlarge (normal) | Grootte van de aanwijzer |
pointer-hide | never | 5 | 10 | 15 | 30 (15) | Aanwijzer verbergen bij stilstand (seconden) |
aanraak-vegen | aan | uit (aan) | Vegen = scrollen |
aanraak-doorrollen | aan | uit (aan) | Doorrollen |
aanraak-lang-drukken | aan | uit (aan) | Lang drukken = rechtsklik |
Sinds 27-10-2026 schrijft EUZOS Engelse namen voor configuratiebestanden, sleutels, waarden en bevestigingswoorden (bijvoorbeeld
WIPE-…,environment=inPROFILE.TXT); de oude Nederlandse namen (hier oud genoemd) worden nog gelezen en geaccepteerd (docs/ENGLISH.md).
Protocolberichten en formaten
| Formaat | Beschrijving |
|---|---|
| PS/2 scancodeset 1 | volumetoetsen E0 30 / E0 2E / E0 20; Delete E0 53 |
| USB-HID-bootprotocol | keyboard page; NumLock usage 0x53, toetsenblok 0x54–0x63, volume 0x80/0x81/0x7F, Delete 0x4C |
| HID over I2C | HID-descriptor (30 bytes) via het register uit _DSM (GUID 3CDFF6F7-4267-4555-AD05-B30A3D8938DE) |
regel van input touchpad follow | tijd ruwe bytes | n finger(s) #id(x,y z=druk) -> pointer dx dy -> scroll dx dy px -> knoppen |
regel van input touch follow | n 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)
EUZOS