Pergunta

Como posso saber, que layout de teclado do usuário do meu aplicativo Ruby está usando? Meu objetivo é ter um jogo, onde você pode mover o jogador em um mapa. Para ir um passo para baixo e um passo à esquerda você pressionar "Y" em um teclado alemão. Em um teclado americano, você deve pressionar "Z". Nós otimizamos o jogo para Windows e Mac, então eu gostaria de uma solução para ambas as plataformas (e não usamos nenhum / Control-chaves de comando / turno).

Foi útil?

Solução

Como Alexander recomendado, permitir que o usuário definir as chaves se.

Mas, se você realmente quer reconhecer o layout, você pode sempre solicitar que o usuário pressione as teclas em determinadas posições, em particular a alguns layouts.

"Press a segunda chave para a esquerda da chave de retorno. Se a sua chave de retorno é de duas linhas de alta, pressione o inferior"
[Prensas ä]
"Parece que você tem um teclado escandinavo"

Isso, no entanto, é um cludge horrível, e, no contexto do jogo, gostaria de recomendar o método de mapeamento de teclado personalizado

Outras dicas

Para o Windows, você provavelmente terá que usar o do Windows API GetKeyboardLayout () , a menos que o ruby ??fornece um invólucro para isso.

Há uma grande quantidade de recursos I18n úteis para Windows no site da MSDN .

Pode ser mais fácil do que simplesmente permitir-lhes para configurá-lo-se como uma preferência, se você não tem uma boa maneira portátil de detectá-lo.

Eu acho que vai ser muito mais fácil e, naturalmente, para permitir que os usuários definam próprias chaves.

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