Ned Deily added the comment:

The reason for the observed behavior is that the built-in "IDLE Classic OSX" 
keyset, which is the default for OS X framework installs, has a different 
keybinding for "beginning-of-line".  See Lib/idlelib/config-key.def

[IDLE Classic OSX]
...
beginning-of-line = <Control-Key-Left>

I'm not sure why the decision was made to use this binding originally.  
Unfortunately, on current OS X systems (with US keyboards at least) 
Control-Left is preemptively defined as the default system Mission Contol 
keyboard shortcut to "Move left a space" (e.g a desktop) so, by default, Tk 
(and, hence, IDLE) never sees it.  This can be seen by going to System 
Preferences -> Keyboard -> Keyboard Shortcuts -> Mission Control.  You can 
temporarily disable or change "Move left a space" and verify that then 
Control-L does perform as expected.  You can also verify that changing the IDLE 
keyset to "IDLE Classic Windows" redefines "beginning-of-line" to Control-A and 
Home.

There are a number of other problematic (non-functional) key bindings in the 
"IDLE Classic OSX" keyset depending on a number of factors: which Tk variant is 
in use (Cocoa Tk, Carbon Tk, X11 Tk), System Preferences keyboard shortcuts, 
possibly which keyboard and which system input method are in use.  For more 
info on some of the hard-to-fathom Tk differences see: http://wiki.tcl.tk/28331

After spending some time trying to understand how this all works or doesn't 
across the various Tk's, I am coming to the conclusion that we need to define a 
new set of default key bindings for OS X, one that generally avoids as much as 
possible the use of Command key and Option key accelerators, as these tend to 
be especially problematic either in Tk or with system conflicts, and, instead, 
use Fn keys for non-trivial accelerators.

----------
nosy: +ned.deily

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue18444>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to