Files
Rex-EMoolator-docs/docs/pl/reference/KEYBOARD.md
Patryk Gensch df6cf2f3d3
Some checks failed
docs / deploy (push) Has been cancelled
docs / build (push) Has been cancelled
Added part of docs
2026-05-19 20:51:59 +02:00

138 lines
3.1 KiB
Markdown

# KEYBOARD
Wbudowany obiekt reprezentujący stan klawiatury. Dostępny pod globalną nazwą `KEYBOARD` z dowolnego kontekstu (zobacz [Obiekty wbudowane](../engine/globals.md#obiekty-wbudowane)). Obsługuje zdarzenia naciśnięcia oraz zwolnienia klawiszy, w tym tryb autorepeat.
## Metody
### DISABLE
```
void DISABLE()
```
Wyłącza obsługę zdarzeń klawiatury — sygnały klawiszy przestają być emitowane.
**Przykłady**
```
KEYBOARD^DISABLE();
```
### ENABLE
```
void ENABLE()
```
Włącza obsługę zdarzeń klawiatury.
**Przykłady**
```
KEYBOARD^ENABLE();
```
### GETLATESTKEY
```
STRING GETLATESTKEY()
```
Zwraca nazwę ostatnio wciśniętego klawisza.
**Zwraca**: nazwa klawisza w postaci akceptowanej przez [`ISKEYDOWN`](#iskeydown) (zobacz [Obsługiwane klawisze](#obslugiwane-klawisze)).
**Przykłady**
```
KEYBOARD^GETLATESTKEY();
```
### ISENABLED
```
BOOL ISENABLED()
```
Sprawdza, czy obsługa klawiatury jest włączona.
**Zwraca**: [`BOOL`](BOOL.md) — `TRUE`, jeżeli klawiatura reaguje na zdarzenia.
**Przykłady**
```
KEYBOARD^ISENABLED();
```
### ISKEYDOWN
```
BOOL ISKEYDOWN(STRING keyName)
```
Sprawdza, czy podany klawisz jest aktualnie wciśnięty.
**Parametry**
- `keyName` — nazwa klawisza (zobacz [Obsługiwane klawisze](#obslugiwane-klawisze)).
**Zwraca**: [`BOOL`](BOOL.md) — `TRUE`, jeżeli klawisz jest wciśnięty. Dla nieznanej nazwy zwracane jest `FALSE`.
**Przykłady**
```
KEYBOARD^ISKEYDOWN("UP");
KEYBOARD^ISKEYDOWN("LEFT");
KEYBOARD^ISKEYDOWN(ARRAYKEYBOARD^GET(0));
```
### SETAUTOREPEAT
```
void SETAUTOREPEAT(BOOL autorepeat)
```
Ustawia, czy sygnał [`ONKEYDOWN`](#onkeydown) ma być emitowany cyklicznie tak długo, jak klawisz pozostaje wciśnięty. Domyślnie wyłączone.
**Parametry**
- `autorepeat``TRUE`, aby włączyć powtarzanie.
**Przykłady**
```
KEYBOARD^SETAUTOREPEAT(FALSE);
```
## Sygnały
### ONKEYDOWN
Wywoływany po naciśnięciu klawisza. Sygnał jest [parametryzowany](../engine/events.md#sygnaly-parametryzowane) nazwą klawisza — pozwala podpiąć osobną obsługę pod każdy z nich:
```
KEYBOARD:ONKEYDOWN^UP=BEHGOUP
KEYBOARD:ONKEYDOWN^DOWN=BEHGODOWN
```
Przy włączonym autorepeacie ([`SETAUTOREPEAT(TRUE)`](#setautorepeat)) sygnał jest emitowany w każdej klatce, w której klawisz pozostaje wciśnięty.
### ONKEYUP
Wywoływany po zwolnieniu klawisza. Sygnał jest parametryzowany nazwą klawisza, analogicznie do [`ONKEYDOWN`](#onkeydown).
### ONCHAR
Wywoływany po naciśnięciu klawisza dla każdego wygenerowanego znaku. Sygnał jest parametryzowany nazwą klawisza.
## Obsługiwane klawisze {#obslugiwane-klawisze}
Klawiatura silnika rozpoznaje następujące nazwy klawiszy:
- **Funkcyjne**: `F1`, `F2`, `F3`, `F4`, `F5`, `F6`, `F7`, `F8`, `F9`, `F10`, `F11`, `F12`
- **Strzałki**: `UP`, `DOWN`, `LEFT`, `RIGHT`
- **Modyfikatory**: `LSHIFT`, `RSHIFT`, `LCTRL`, `RCTRL`, `LALT`, `RALT`, `CAPSLOCK`
- **Specjalne**: `ESC`, `ENTER`, `SPACE`, `TAB`, `INSERT`, `PGUP`, `PGDN`, `HOME`
- **Litery**: `Q`, `W`, `E`, `R`, `T`, `U`, `I`, `O`, `P`, `A`, `S`, `D`, `F`, `G`, `H`, `J`, `K`, `L`, `C`, `V`, `B`, `N`, `M`
- **Cyfry**: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`