beeware / toga

A Python native, OS native GUI toolkit.
https://toga.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
4.3k stars 668 forks source link

Arrow key shortcuts not working on macOS 14.5 #2661

Closed Scotchester closed 3 months ago

Scotchester commented 3 months ago

Describe the bug

I've just set up Podium on a new Mac (M2, macOS Sonoma 14.5), packaging from source on the main branch following the instructions in https://github.com/beeware/podium/issues/60#issuecomment-1657038967. Things generally went fine, but the keyboard shortcuts for Next Slide (right arrow) and Previous Slide (left arrow) are not working. The other keyboard shortcuts (play slideshow, reset timer, first slide, last slide) still work fine.

Steps to reproduce

  1. Clone the Podium repo
  2. Add a license.text property to the pyproject.toml to prevent Briefcase from complaining that there isn't one
  3. Either use briefcase package --adhoc to build a binary or briefcase dev to run it in dev mode
  4. Open a Podium slide deck
  5. Bring the slide deck window to the foreground and try to use the right arrow to advance the slides
  6. Use the End key (or Fn+Right) to go to the last slide, then try using the left arrow to go to the previous slide

Expected behavior

The right arrow would go to to the next slide, and the left arrow would go to the previous slide.

Environment

Logs

Running in dev mode, no errors are sent to the console.

I ran with --log and there is no output there, either:

briefcase.2024_06_16-18_06_01.dev.log

Additional context

Changing the shortcut keys in Podium's app.py to basic letters gets the Next Slide and Previous Slide shortcuts working again.

freakboy3742 commented 3 months ago

Thanks for the report. It looks like the key equivalents being used for the arrow keys and home/end/delete are just wrong. I don't know where the old values came from, but they don't appear to bear any resemblance to the required values. I'll submit a PR to correct this shortly.