Запись нажатых клавиш с геймпада при активации виртуальной клавиатуры

Я пытаюсь найти решение, как записывать нажатые клавиши геймпада на Xbox One.
Я знаю несколько возможных способов перехвата клавиш:

  • CoreWindow.GetForCurrentThread().Dispatcher.AcceleratorKeyActivated
  • Gamepad.GetCurrentReading
  • Window.Current.CoreWindow.KeyDown

Все способы работают хорошо, я получаю GamepadA, GamepadB и т. д. Однако, если я хочу записать нажатые клавиши, когда элемент управления <TextBox /> имеет фокус и на экране видна «виртуальная клавиатура», я их не получаю. Я получаю буквы или символы с клавиатуры.

Если я использую Gamepad.GetCurrentReading().Buttons, то ничего не получаю, только GamepadButtons.None.

Есть ли другой способ, как прочитать нажатые клавиши с геймпада, когда видна виртуальная клавиатура?


person Jakub Krampl    schedule 14.12.2017    source источник


Ответы (1)


Есть ли другой способ, как прочитать нажатые клавиши с геймпада, когда видна виртуальная клавиатура?

К сожалению, нет. Когда клавиатура видна, приложение фокусируется на клавиатуре, которая управляется геймпадом, мы можем только слышать, какая клавиша на клавиатуре была нажата, но не геймплей, так задумано.

person Breeze Liu - MSFT    schedule 15.12.2017