Событие Pygame Joystick нарушено какой-то темной магией при моделировании alt+tab ⇐ Python
Событие Pygame Joystick нарушено какой-то темной магией при моделировании alt+tab
Я создал скрипт с pygame и клавиатурой для имитации нажатия клавиатуры при нажатии кнопки контроллера, и он работал отлично, но при попытке имитировать alt tab, pygame делает что-то странное. Вот пример кода, который используется для имитации сочетания клавиш Alt+Tab нажатием A и B на контроллере Xbox:
импортировать pygame из импорта клавиатуры нажмите, отпустите pygame.init() pygame.joystick.init() Радость = pygame.joystick.Joystick(0) Радость.init() xbox_A_button_index = 0 # Альтернатива PS: 2 для X xbox_B_button_index = 1 # альтернатива PS: 1 для O xbox_BACK_button_index = 6 # альтернатива PS: 8 для SHARE работает = Истина во время бега: для события в pygame.event.get(): если ( event.type == pygame.QUIT или ( # Выход, если пользователь нажимает НАЗАД на контроллере или окно закрывается event.type == pygame.JOYBUTTONDOWN и event.button == xbox_BACK_button_index ) ): работает = Ложь если event.type == pygame.JOYBUTTONDOWN: если event.button == xbox_A_button_index: печать("+ Альт") нажмите("альт") если event.button == xbox_B_button_index: печать("+ Вкладка") нажмите («вкладка») если event.type == pygame.JOYBUTTONUP: если event.button == xbox_A_button_index: печать("- Альт") релиз("альт") если event.button == xbox_B_button_index: печать("- Вкладка") выпуск («вкладка») При нажатии A, затем B, затем отпускании A и, наконец, B, приведенный выше сценарий дает мне следующее:
pygame 2.4.0 (SDL 2.26.4, Python 3.10.11) Привет от сообщества pygame. https://www.pygame.org/contribute.html + Альт + Вкладка - Альт - Вкладка + Альт - Альт У нас должно получиться что-то вроде:
pygame 2.4.0 (SDL 2.26.4, Python 3.10.11) Привет от сообщества pygame. https://www.pygame.org/contribute.html + Альт + Вкладка -Вкладка -Альт. Следует отметить, что мы нажимаем клавишу Tab в окне, но я не думаю, что это является причиной проблемы. Я пробовал нажимать и отпускать клавишу с помощью win32api и win32com. , чтобы узнать, связано ли это как-то с модулем keyboard, но ничего не изменилось, я понятия не имею, почему это происходит, и я ничего об этом не нашел...
Я создал скрипт с pygame и клавиатурой для имитации нажатия клавиатуры при нажатии кнопки контроллера, и он работал отлично, но при попытке имитировать alt tab, pygame делает что-то странное. Вот пример кода, который используется для имитации сочетания клавиш Alt+Tab нажатием A и B на контроллере Xbox:
импортировать pygame из импорта клавиатуры нажмите, отпустите pygame.init() pygame.joystick.init() Радость = pygame.joystick.Joystick(0) Радость.init() xbox_A_button_index = 0 # Альтернатива PS: 2 для X xbox_B_button_index = 1 # альтернатива PS: 1 для O xbox_BACK_button_index = 6 # альтернатива PS: 8 для SHARE работает = Истина во время бега: для события в pygame.event.get(): если ( event.type == pygame.QUIT или ( # Выход, если пользователь нажимает НАЗАД на контроллере или окно закрывается event.type == pygame.JOYBUTTONDOWN и event.button == xbox_BACK_button_index ) ): работает = Ложь если event.type == pygame.JOYBUTTONDOWN: если event.button == xbox_A_button_index: печать("+ Альт") нажмите("альт") если event.button == xbox_B_button_index: печать("+ Вкладка") нажмите («вкладка») если event.type == pygame.JOYBUTTONUP: если event.button == xbox_A_button_index: печать("- Альт") релиз("альт") если event.button == xbox_B_button_index: печать("- Вкладка") выпуск («вкладка») При нажатии A, затем B, затем отпускании A и, наконец, B, приведенный выше сценарий дает мне следующее:
pygame 2.4.0 (SDL 2.26.4, Python 3.10.11) Привет от сообщества pygame. https://www.pygame.org/contribute.html + Альт + Вкладка - Альт - Вкладка + Альт - Альт У нас должно получиться что-то вроде:
pygame 2.4.0 (SDL 2.26.4, Python 3.10.11) Привет от сообщества pygame. https://www.pygame.org/contribute.html + Альт + Вкладка -Вкладка -Альт. Следует отметить, что мы нажимаем клавишу Tab в окне, но я не думаю, что это является причиной проблемы. Я пробовал нажимать и отпускать клавишу с помощью win32api и win32com. , чтобы узнать, связано ли это как-то с модулем keyboard, но ничего не изменилось, я понятия не имею, почему это происходит, и я ничего об этом не нашел...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение