1

Ruby アプリケーションのユーザーが使用しているキーボード レイアウトを確認するにはどうすればよいですか? 私の目標は、マップ上でプレイヤーを移動できるゲームを作ることです。1 段階下に移動し、1 段階左に移動するには、ドイツ語のキーボードで "Y" を押します。アメリカのキーボードでは、「Z」を押します。Windows と Mac 用にゲームを最適化したので、両方のプラットフォーム用のソリューションが必要です (コマンド/シフト/コントロール キーは使用しません)。

4

3 に答える 3

2

Windows の場合、Ruby がそのラッパーを提供しない限り、おそらくWindows API GetKeyboardLayout()を使用する必要があります。

MSDN Web サイトには、Windows 用の便利な I18n リソースが多数あります。

それを検出するための適切な移植可能な方法がない場合は、設定として自分で構成できるようにする方が簡単かもしれません.

于 2008-10-15T18:38:41.420 に答える
1

ユーザーが自分でキーを定義できるようにする方が、はるかに簡単かつ自然になると思います。

于 2008-10-16T04:26:34.743 に答える
0

アレクサンダーが推奨したように、ユーザー自身がキーを定義できるようにします。

ただし、本当にレイアウトを認識したい場合は、特定のレイアウトで特定の位置でキーを押すように常にユーザーに依頼できます。

"Return キーの左にある 2 番目のキーを押します。Return キーが 2 行の高さの場合は、下のキーを押してください"
[キーを押すä]
"スカンジナビア キーボードを使用しているようです"

ただし、これはひどいクラッジであり、ゲームのコンテキストでは、カスタム キーマッピング メソッドをお勧めします。

于 2008-10-16T05:02:17.810 に答える