Title: IDLE: On macOS, cntl-space/backslash display as ^S/^B
Type: behavior Stage: needs patch
Components: IDLE, macOS Versions: Python 3.11
Status: open Resolution:
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: ned.deily, ronaldoussoren, taleinat, terry.reedy
Priority: normal Keywords:

Created on 2021-06-11 19:36 by terry.reedy, last changed 2021-06-11 20:25 by terry.reedy.

Messages (2)
msg395656 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2021-06-11 19:36
(Related to the more general macOS hotkey issue 18444.)
'Edit => Show completions' invokes pseudoevent <<force-open-completions>>.  In all built-in keysets, the latter is bound to Control-space.  This includes on macOS, as can be seen on the Settings Keys tab.

On Windows, and I presume *nix, this is displayed on the menu as 'Cntl+space'.  On macOS, the menu hotkeys are displayed differently than on other systems (how?).  'Cntl+' is condensed to '^', which is fine and which would be okay elsewhere.  However, 'space' is condensed to 'S', which is a bug.  Can this be fixed?  If not, we could add ^S as an alternate hotkey on macOS.

'^S' causes 'Edit' to flash, indicating, I believe, that it is recognized as an Edit menu hotkey.  But nothing happens as IDLE/tk does not recognize it on macOS.  (On Windows, it means 'save'.)

^space, currently works to show completions with 3.10.0b2.  The same will be true after the PR for #40128 is merged and backported.

The situation is the same for Edit => Show calltip, <<force-open-calltip>>, and control-backslash, except that 'backslash' is visible as '\'.  If the hotkey were displayed on Windows as 'Cntl+\', perhaps the result on macOS would be the correct '^\'.
msg395660 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2021-06-11 20:25
^B would work as an alternate binding for <<force-open-calltip>> as it is not used otherwise, but I prefer not to have to do this.

These are the only named keys other than the 'F#'s.
Date User Action Args
2021-06-11 20:25:10terry.reedysetmessages: + msg395660
2021-06-11 19:36:14terry.reedycreate