KeyboardState kbstate = Keyboard.GetState();
Keys[] pressed = kbstate.GetPressedKeys();
EnterEscBackspaceAltCtrlWinNumlockHomeInsおそらくもっとうまくいきましたが、文字、数字、または矢印を押しても読み取れません。
私はキーボード入力がそのように扱われるのを見たことがあります:
KeyboardState kbState = Keyboard.GetState();
if (kbState.IsKeyDown(Keys.A))
{
// 'A' key is down
}
キーを押したい場合(つまり、ボタンを押したばかりの場合)、次の方法を使用します。
public bool IsNewKeyPress(Keys key)
{
return (kbState.IsKeyDown(key) &&
oldKbState.IsKeyUp(key));
}
// And in the update method...
public void Update(GameTime gameTime)
{
oldKbState = kbState;
kbState = Keyboard.GetState();
if (IsNewKeyPress(Keys.A))
{
// A was *just* pressed
}
// ...
}