Как сопоставить пульт дистанционного управления в приложении Android, созданном с помощью Python?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как сопоставить пульт дистанционного управления в приложении Android, созданном с помощью Python?

Сообщение Anonymous »

Я делаю приложение, которое будет использоваться на мониторе под управлением Android, приложение разрабатывается на Python, с использованием библиотек KivyMD и Kivy, компилируется с помощью Buildozer. В приложении у меня есть несколько клавиш клавиатуры, назначенных для перемещения в приложении, помимо контроллера, поскольку при использовании на мониторе он не будет работать через сенсорный экран. Внутри приложения вы перемещаетесь между кнопками влево или вправо. Проблема в том, что после компиляции и установки на монитор контроллер не получается передвигаться, используя кнопки как я уже сказал, стрелочками (влево, вправо, ОК или Enter) как это было бы в других приложениях, вместо этого клавишами клавиатуры, если это так. Я попытался сопоставить коды клавиш, которые пульты дистанционного управления отправляют по умолчанию, вот код:

Код: Выделить всё

class MainApp(MDApp):
#Creacion e inicializacion
def build(self):
Window.bind(on_key_down=self.on_key_down)
self.theme_cls.theme_cls = "Dark"
self.theme_cls.primary_palette = "Teal"
self.chrono = 0
Builder.load_file('myapp.kv')
return Ui()
Это функция, которая выполняется при запуске и соответствует функции Android on_key_down, которая определяет, какая кнопка была нажата, и сопоставляет ее с моей пользовательской функцией, а именно:

Код: Выделить всё

def on_key_down(self, window, keycode, scancode, codepoint, modifiers):
print("Key: ",keycode)
#Movimiento
if (keycode == 55 or keycode == 21 or keycode == 276):  # Tecla 7 (Izquierda) o tecla izquierda mando
self.moveLeft()
elif (keycode == 57 or keycode == 22 or keycode == 275):  # Tecla 9 (Derecha) o tecla derecha mando
self.moveRight()
elif (keycode == 56 or keycode == 66 or keycode == 13):  # Tecla 8 (Enter) o tecla enter mando
self.enterButton()
elif (keycode == 4 or keycode == 27): # Tecla atrás mando
self.back()
(Комментарии на испанском языке игнорируются)
Несмотря на то, что все отображается на карте, он не работает, он не обнаруживает это, поскольку печать код клавиши, который подлежит отладке, при нажатии команды ничего не печатает, то есть не попадает в функцию. Я спросил на заводе и мне сказали, что приложение должно без необходимости ничего дополнительно программировать, работать с пультом. Кроме того, компиляция buildozer осуществляется без специального разрешения Android, в buildozer.spec, который генерируется по умолчанию, изменены только названия и значки.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ith-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как сопоставить пульт дистанционного управления в приложении Android, созданном с помощью Python?
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Android/Kotlin — пульт дистанционного управления Android TV
    Anonymous » » в форуме Android
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Пульт дистанционного управления Android TV v2 вызывает голосовой помощник
    Anonymous » » в форуме IOS
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Пульт дистанционного управления Android TV Голосовой помощник iOS Swift
    Anonymous » » в форуме IOS
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Пульт дистанционного управления Android TV v2 вызывает голосовой помощник
    Anonymous » » в форуме IOS
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»