Pergunta

Como pode eu pegar combinações de teclas como ALT + K ou CTRL + ALT + H em python curses?

Foi útil?

Solução

Um convertidos terminais da chave de controle em combinação com uma tecla de letra para um código ASCII normal. Isto pode ser lido a partir do getch () função como qualquer outro pressione a tecla .

CTRL-A: getch() returns 1
CTRL-B: getch() returns 2
...
CTRL-Z: getch() returns 26

Além disso, o teclado () função deve ser chamada para ativar outras teclas de função especial (por exemplo, seta para a esquerda, F1, casa, etc).

Eu não acredito que há uma maneira portátil para receber meta-chaves (por exemplo ALT-H) através de um terminal. Alguns enviar uma fuga (0x1B) seguido da tecla modificada enquanto outros definir o high-bit e enviar apenas um byte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top