mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
further work on new configuration system, specifically,
on keybinding configuration
This commit is contained in:
parent
20ffa0e5bc
commit
17d0154097
3 changed files with 108 additions and 64 deletions
|
@ -14,7 +14,8 @@
|
|||
|
||||
import sys
|
||||
import string
|
||||
from keydefs import *
|
||||
#from keydefs import *
|
||||
from configHandler import idleConf
|
||||
|
||||
menudefs = [
|
||||
# underscore prefixes character to underscore
|
||||
|
@ -65,9 +66,11 @@ menudefs = [
|
|||
]),
|
||||
]
|
||||
|
||||
if sys.platform == 'win32':
|
||||
default_keydefs = windows_keydefs
|
||||
else:
|
||||
default_keydefs = unix_keydefs
|
||||
#if sys.platform == 'win32':
|
||||
# default_keydefs = windows_keydefs
|
||||
#else:
|
||||
# default_keydefs = unix_keydefs
|
||||
|
||||
default_keydefs = idleConf.GetKeys(keySetName=None)
|
||||
|
||||
del sys
|
||||
|
|
|
@ -1,58 +1,64 @@
|
|||
# IDLE reads several config files to determine user preferences. This
|
||||
# file is the default config file for idle key binding settings.
|
||||
# Where multiple keys are specified for an action: if they are separated
|
||||
# by a space (eg. action=<key1> <key2>) then the keys are altenatives, if
|
||||
# there is no space (eg. action=<key1>key2>) then the keys comprise a
|
||||
# single 'emacs style' multi-keystoke binding.
|
||||
|
||||
[IDLE Classic - windows]
|
||||
Copy= '<Control-c> <Control-C>'
|
||||
Cut= '<Control-x> <Control-X>'
|
||||
Paste= '<Control-v> <Control-V>'
|
||||
beginning-of-line= '<Control-a> <Home>'
|
||||
center-insert= '<Control-l>'
|
||||
close-all-windows= '<Control-q>'
|
||||
close-window= '<Alt-F4>'
|
||||
dump-undo-state= '<Control-backslash>'
|
||||
end-of-file= '<Control-d>'
|
||||
python-docs= '<F1>'
|
||||
history-next= '<Alt-n>'
|
||||
history-previous= '<Alt-p>'
|
||||
interrupt-execution= '<Control-c>'
|
||||
open-class-browser= '<Alt-c>'
|
||||
open-module= '<Alt-m>'
|
||||
open-new-window= '<Control-n>'
|
||||
open-window-from-file= '<Control-o>'
|
||||
plain-newline-and-indent= '<Control-j>'
|
||||
redo= '<Control-y>'
|
||||
remove-selection= '<Escape>'
|
||||
save-copy-of-window-as-file= '<Alt-Shift-s>'
|
||||
save-window-as-file= '<Alt-s>'
|
||||
save-window= '<Control-s>'
|
||||
select-all= '<Alt-a>'
|
||||
toggle-auto-coloring= '<Control-slash>'
|
||||
undo= '<Control-z>'
|
||||
[IDLE CUA-ish]
|
||||
Copy=<Control-c> <Control-C>
|
||||
Cut=<Control-x> <Control-X>
|
||||
Paste=<Control-v> <Control-V>
|
||||
beginning-of-line=<Control-a> <Home>
|
||||
center-insert=<Control-l>
|
||||
close-all-windows=<Control-q>
|
||||
close-window=<Alt-F4>
|
||||
dump-undo-state=<Control-backslash>
|
||||
end-of-file=<Control-d>
|
||||
python-docs=<F1>
|
||||
python-context-help=<Shift-F1>
|
||||
history-next=<Alt-n>
|
||||
history-previous=<Alt-p>
|
||||
interrupt-execution=<Control-c>
|
||||
open-class-browser=<Alt-c>
|
||||
open-module=<Alt-m>
|
||||
open-new-window=<Control-n>
|
||||
open-window-from-file=<Control-o>
|
||||
plain-newline-and-indent=<Control-j>
|
||||
redo=<Control-Shift-z>
|
||||
remove-selection=<Escape>
|
||||
save-copy-of-window-as-file=<Alt-Shift-s>
|
||||
save-window-as-file=<Alt-s>
|
||||
save-window=<Control-s>
|
||||
select-all=<Alt-a>
|
||||
toggle-auto-coloring=<Control-slash>
|
||||
undo=<Control-z>
|
||||
|
||||
[IDLE Classic - posix]
|
||||
Copy= '<Alt-w> <Meta-w>'
|
||||
Cut= '<Control-w>'
|
||||
Paste= '<Control-y>'
|
||||
beginning-of-line= '<Control-a> <Home>'
|
||||
center-insert= '<Control-l>'
|
||||
close-all-windows= '<Control-x><Control-c>'
|
||||
close-window= '<Control-x><Control-0> <Control-x><Key-0>'
|
||||
do-nothing= '<Control-x>'
|
||||
dump-undo-state= '<Control-backslash>'
|
||||
end-of-file= '<Control-d>'
|
||||
help= '<F1>'
|
||||
history-next= '<Alt-n> <Meta-n>'
|
||||
history-previous= '<Alt-p> <Meta-p>'
|
||||
interrupt-execution= '<Control-c>'
|
||||
open-class-browser= '<Control-x><Control-b>'
|
||||
open-module= '<Control-x><Control-m>'
|
||||
open-new-window= '<Control-x><Control-n>'
|
||||
open-window-from-file= '<Control-x><Control-f>'
|
||||
plain-newline-and-indent= '<Control-j>'
|
||||
redo= '<Alt-z> <Meta-z>'
|
||||
save-copy-of-window-as-file= '<Control-x><w>'
|
||||
save-window-as-file= '<Control-x><Control-w>'
|
||||
save-window= '<Control-x><Control-s>'
|
||||
select-all= '<Alt-a> <Meta-a>'
|
||||
toggle-auto-coloring= '<Control-slash>'
|
||||
undo= '<Control-z>'
|
||||
[IDLE Emacs-ish]
|
||||
Copy=<Alt-w> <Meta-w>
|
||||
Cut=<Control-w>
|
||||
Paste=<Control-y>
|
||||
beginning-of-line=<Control-a> <Home>
|
||||
center-insert=<Control-l>
|
||||
close-all-windows=<Control-x><Control-c>
|
||||
close-window=<Control-x><Control-0> <Control-x><Key-0>
|
||||
do-nothing=<Control-x>
|
||||
dump-undo-state=<Control-backslash>
|
||||
end-of-file=<Control-d>
|
||||
history-next=<Alt-n> <Meta-n>
|
||||
history-previous=<Alt-p> <Meta-p>
|
||||
interrupt-execution=<Control-c>
|
||||
open-class-browser=<Control-x><Control-b>
|
||||
open-module=<Control-x><Control-m>
|
||||
open-new-window=<Control-x><Control-n>
|
||||
open-window-from-file=<Control-x><Control-f>
|
||||
plain-newline-and-indent=<Control-j>
|
||||
python-docs=<Control-h>
|
||||
python-context-help=<Control-Shift-h>
|
||||
redo=<Alt-z> <Meta-z>
|
||||
save-copy-of-window-as-file=<Control-x><w>
|
||||
save-window-as-file=<Control-x><Control-w>
|
||||
save-window=<Control-x><Control-s>
|
||||
select-all=<Alt-a> <Meta-a>
|
||||
toggle-auto-coloring=<Control-slash>
|
||||
undo=<Control-z>
|
||||
|
|
|
@ -174,13 +174,48 @@ class IdleConf:
|
|||
"""
|
||||
pass
|
||||
|
||||
def GetKeys(self, name=None):
|
||||
def GetKeys(self, keySetName=None):
|
||||
"""
|
||||
Gets the requested keybindings or returns a final fallback keybinding
|
||||
set in case one can't be obtained from either the user or default
|
||||
config files.
|
||||
returns the requested keybindings, with fallbacks if required.
|
||||
"""
|
||||
pass
|
||||
#default keybindings.
|
||||
#keybindings loaded from the config file(s) are loaded _over_ these
|
||||
#defaults, so if there is a problem getting any binding there will
|
||||
#be an 'ultimate last resort fallback' to the CUA-ish bindings
|
||||
#defined here.
|
||||
keyBindings={
|
||||
'<<Copy>>': ['<Control-c>', '<Control-C>'],
|
||||
'<<Cut>>': ['<Control-x>', '<Control-X>'],
|
||||
'<<Paste>>': ['<Control-v>', '<Control-V>'],
|
||||
'<<beginning-of-line>>': ['<Control-a>', '<Home>'],
|
||||
'<<center-insert>>': ['<Control-l>'],
|
||||
'<<close-all-windows>>': ['<Control-q>'],
|
||||
'<<close-window>>': ['<Alt-F4>'],
|
||||
'<<dump-undo-state>>': ['<Control-backslash>'],
|
||||
'<<end-of-file>>': ['<Control-d>'],
|
||||
'<<python-docs>>': ['<F1>'],
|
||||
'<<python-context-help>>': ['<Shift-F1>'],
|
||||
'<<history-next>>': ['<Alt-n>'],
|
||||
'<<history-previous>>': ['<Alt-p>'],
|
||||
'<<interrupt-execution>>': ['<Control-c>'],
|
||||
'<<open-class-browser>>': ['<Alt-c>'],
|
||||
'<<open-module>>': ['<Alt-m>'],
|
||||
'<<open-new-window>>': ['<Control-n>'],
|
||||
'<<open-window-from-file>>': ['<Control-o>'],
|
||||
'<<plain-newline-and-indent>>': ['<Control-j>'],
|
||||
'<<redo>>': ['<Control-y>'],
|
||||
'<<remove-selection>>': ['<Escape>'],
|
||||
'<<save-copy-of-window-as-file>>': ['<Alt-Shift-s>'],
|
||||
'<<save-window-as-file>>': ['<Alt-s>'],
|
||||
'<<save-window>>': ['<Control-s>'],
|
||||
'<<select-all>>': ['<Alt-a>'],
|
||||
'<<toggle-auto-coloring>>': ['<Control-slash>'],
|
||||
'<<undo>>': ['<Control-z>']}
|
||||
if keySetName:
|
||||
pass
|
||||
|
||||
return keyBindings
|
||||
|
||||
|
||||
def LoadCfgFiles(self):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue