Portál AbcLinuxu, 31. května 2024 18:37


Dotaz: Odchycení kláves v bash/shell

9.3.2023 14:52 Matěj
Odchycení kláves v bash/shell
Přečteno: 537×
Odpovědět | Admin
Ahoj, neporadil by někdo (moc prosím) jak odchytit z klávesnice klávesy šipky, enter a esc aby se při stisknutí dané klávesy provedla nějaká akce? Děkuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.3.2023 15:24 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Odchycení kláves v bash/shell
Odpovědět | | Sbalit | Link | Blokovat | Admin
Shell na toto nie je stavaný.

Shell má v sebe nejaký modul, ktorého výstupom je "riadok". Kým nie je stlačený Enter, tak obsah toho riadku nie je definitívny a môže sa editovaním meniť. Je možné terminál prepnúť do "raw" módu (pomocou "stty raw"), ale prinesie ti to viac problémov než riešení.

Navyše tipujem, že ide o xy problém. Nechceš napísať, čo chceš vlastne urobiť? Nebolo by vhodnejšie použiť dialog?
9.3.2023 23:44 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Odchycení kláves v bash/shell
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi najľahšie cez ncurses. Chceš i kód?

A ináč, úpravou nastavení cez stty a zachytenie (čítanie zo vstupu – stdin) prostredníctvom ESC znakov pre dané klavesy.

debian.plus@protonmail.com
10.3.2023 13:23 marek
Rozbalit Rozbalit vše Re: Odchycení kláves v bash/shell
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobry den.

Neni to dokonale, ale pro zacatek treba:

while read -n 1 a; do echo -sN "$a" | od -c; done

marek
10.3.2023 13:24 marek
Rozbalit Rozbalit vše Re: Odchycení kláves v bash/shell
Sakra preklep, ma to byt:
while read -sN 1 a; do echo  "$a" | od -c; done
marek

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.