Nel tentativo di ottenere l'input dai tasti freccia tramite curses (ncurses) non prenderà come KEY_UP ecc. Ho usato la funzione della tastiera con un argomento vero ma getch restituisce ancora una sequenza di escape. Come setacciare i valori restituiti da getch() e afferrare i tasti freccia in modo specifico?Maledizioni che ottengono i tasti freccia
15
A
risposta
13
ero la memorizzazione getch()
chiamate come char, quando avrebbero dovuto essere Int di. Funziona perfettamente dopo l'interruttore.
5
I terminali standard (tipo VT100) inviano una sequenza di caratteri quando si premono i tasti freccia. Devi solo tenere traccia di se questi sono premuti in sequenza. Qui sono del char da guardare per:
Down Arrow 0x1B 0x5B 0x42
Left Arrow 0x1B 0x5B 0x44
Right Arrow 0x1B 0x5B 0x43
Up Arrow 0x1B 0x5B 0x41
11
ho trovato lo stesso problema su Mac OS X. Ma è stato risolto aggiungendo il seguente:
keypad(stdscr, TRUE);
+2
Tuttavia, l'OP ha dichiarato che questo non ha funzionato per lui. – augurar
Problemi correlati
- 1. Tasti freccia che non funzionano nella shell
- 2. Tasti freccia con NSTableView
- 3. Ottenere i tasti freccia da cin
- 4. impedisce lo scrolling con i tasti freccia
- 5. Attraversare paragrafi contenteditable con i tasti freccia
- 6. Come acquisire i tasti freccia in node.js
- 7. Scroll div con i tasti freccia
- 8. vim: come specificare i tasti freccia
- 9. Cambia i tasti freccia nel cursore Slick
- 10. Disabilita la navigazione con i tasti freccia
- 11. Perché i miei tasti freccia rimangono bloccati? CodeRush/VS2010
- 12. È possibile utilizzare i tasti freccia nell'interprete OCaml?
- 13. Spostamento dello stato attivo con i tasti freccia in JavaScript
- 14. Naviga attraverso la lista usando i tasti freccia? (JavaScript/JQ)
- 15. Utilizzare i tasti freccia per controllare il BXSLIDER
- 16. Come selezionare senza tasti freccia in IntelliJ
- 17. Java KeyListener mancata registrazione tasti freccia
- 18. Riconoscimento dei tasti freccia con stdin
- 19. Completamento automatico JTextField e tasti freccia
- 20. Javascript: Evento Keydown: tasto freccia "Su" che impedisce ulteriori eventi Keydown con i tasti freccia? (risposta: tastiera fantasma)
- 21. Tasti freccia non funzionanti su yeoman
- 22. Ricevi tutti i tasti che vengono premuti
- 23. Quali sono i codici chiave per i tasti freccia destra e sinistra?
- 24. Come posso rispondere ai tasti freccia della tastiera esterna?
- 25. Cronologia della modalità interattiva Python e tasti freccia
- 26. tasti freccia non funzionano dopo l'impostazione di programmazione ListView.SelectedItem
- 27. Mappatura dei tasti freccia durante l'esecuzione di tmux
- 28. Come mai quando premo i tasti Freccia su o Freccia giù nell'interprete Python ottengo^[[A o^[[B invece di cronologia?
- 29. Autocomplete.js non funziona con tasti freccia su e giù
- 30. CMake non trova le maledizioni
Ci sono codici di escape si poteva entrare come combinazione di tasti o una sequenza usando ctrl per questi? –
Nessuna necessità; puoi digitarli direttamente 0x1B = esc, 0x5B = [, e 0x41 - 0x44 = A - D. Digitare esc [D nel terminale e il cursore si sposta a sinistra. –
Questo approccio sconfigge completamente l'intero scopo di lavorare con la libreria curses in primo luogo :-) –