Leia caracteres do teclado para determinar atalhos [fechado]
-
03-07-2019 - |
Pergunta
Eu estou trabalhando em um aplicativo de documento e parte deste aplicativo eu tenho para adicionar suporte para ler o teclado pressionado eventos e substituir os caracteres pré-definidos estabelecidos se que a entrada de teclado é partida com o formulário de pré-defind curto / word.The aplicação real foi implementado em C ++.
Por favor me fornecer seus pensamentos sobre como implementar isso. Existe algum programa de amostra C ++ para referência? algoritmo / conceitos?
Solução
padrão C ++ não suporta eventos keypress, então você vai ter que olhar para qualquer uma função de OS, ou uma função de quadro. Portátil C ++ estruturas como wxWidgets ou eventos apoio keypress Qt no Windows, Mac e Linux.
Outras dicas
Saiba como pegar os eventos KeyDown usando wxWidgets api, talvez aqui: http://docs.wxwidgets.org/stable/wx_eventhandlingoverview.html#eventhandlingoverview prestar atenção ao principais eventos . Implementar um switch em C ++ para ver qual a combinação tecla foi pressionada, e definir o texto para a edição em conformidade. O que eu estou pensando aqui é para converter um Ctrl-Shift-A pressão de tecla para um texto como Ctrl-Shift-a em uma caixa de edição.
Se você está pensando em converter uma combinação de caracteres para outro personagem, por exemplo kanji ou hiragana, o algoritmo poderia ser mais longo e mais estruturas de dados necessário.
Se você estiver no Windows, você pode usar a chamada GetAsyncKeyState API e relógio para mudanças, ou use os ganchos de teclado de baixo nível (um pouco mais complicado) (CreateHookEx + funções relacionadas).
Sob DOS (ou possivelmente Linux) você pode usar _kbhit em conio.h no modo console, eu costumo ficar isso em um loop (while (_ kbhit ());!) Para um "pressione qualquer tecla para continuar", mas usando _getch pode recuperar a chave que foi pressionado