Я пытаюсь создать игру в Monodevelop, используя Gtk#-C#, где игрок перемещает персонажа с помощью клавиш со стрелками. Однако нажатия клавиш со стрелками не регистрируются.
Есть ли способ вручную обнаруживать нажатия клавиш, минуя обработчик по умолчанию?
Многочисленные поиски в Google и Stack Overflow не дали ответа на вопрос, как обнаружить клавиши со стрелками с помощью Gtk-C#.
Это код, который я использовал, чтобы попытаться обнаружить клавиши со стрелками:
protected void Key_Press (object obj, KeyPressEventArgs args)
{
//Let the rest of the program know what keys were pressed.
if (pressedKeys.Contains (args.Event.Key))
return;
pressedKeys.Add (args.Event.Key, args.Event.Key);
}
И вот базовая программа, которую я сделал, чтобы попытаться выяснить, как обнаруживать клавиши со стрелками:
public MainWindow (): base (Gtk.WindowType.Toplevel)
{
Build ();
this.KeyPressEvent += new KeyPressEventHandler (KeyPress);
}
protected void KeyPress (object sender, KeyPressEventArgs args)
{
if (args.Event.Key == Gdk.Key.Up)
return;
label1.Text = args.Event.Key.ToString ();
}