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 sys
|
||||||
import string
|
import string
|
||||||
from keydefs import *
|
#from keydefs import *
|
||||||
|
from configHandler import idleConf
|
||||||
|
|
||||||
menudefs = [
|
menudefs = [
|
||||||
# underscore prefixes character to underscore
|
# underscore prefixes character to underscore
|
||||||
|
@ -65,9 +66,11 @@ menudefs = [
|
||||||
]),
|
]),
|
||||||
]
|
]
|
||||||
|
|
||||||
if sys.platform == 'win32':
|
#if sys.platform == 'win32':
|
||||||
default_keydefs = windows_keydefs
|
# default_keydefs = windows_keydefs
|
||||||
else:
|
#else:
|
||||||
default_keydefs = unix_keydefs
|
# default_keydefs = unix_keydefs
|
||||||
|
|
||||||
|
default_keydefs = idleConf.GetKeys(keySetName=None)
|
||||||
|
|
||||||
del sys
|
del sys
|
||||||
|
|
|
@ -1,58 +1,64 @@
|
||||||
# IDLE reads several config files to determine user preferences. This
|
# IDLE reads several config files to determine user preferences. This
|
||||||
# file is the default config file for idle key binding settings.
|
# 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]
|
[IDLE CUA-ish]
|
||||||
Copy= '<Control-c> <Control-C>'
|
Copy=<Control-c> <Control-C>
|
||||||
Cut= '<Control-x> <Control-X>'
|
Cut=<Control-x> <Control-X>
|
||||||
Paste= '<Control-v> <Control-V>'
|
Paste=<Control-v> <Control-V>
|
||||||
beginning-of-line= '<Control-a> <Home>'
|
beginning-of-line=<Control-a> <Home>
|
||||||
center-insert= '<Control-l>'
|
center-insert=<Control-l>
|
||||||
close-all-windows= '<Control-q>'
|
close-all-windows=<Control-q>
|
||||||
close-window= '<Alt-F4>'
|
close-window=<Alt-F4>
|
||||||
dump-undo-state= '<Control-backslash>'
|
dump-undo-state=<Control-backslash>
|
||||||
end-of-file= '<Control-d>'
|
end-of-file=<Control-d>
|
||||||
python-docs= '<F1>'
|
python-docs=<F1>
|
||||||
history-next= '<Alt-n>'
|
python-context-help=<Shift-F1>
|
||||||
history-previous= '<Alt-p>'
|
history-next=<Alt-n>
|
||||||
interrupt-execution= '<Control-c>'
|
history-previous=<Alt-p>
|
||||||
open-class-browser= '<Alt-c>'
|
interrupt-execution=<Control-c>
|
||||||
open-module= '<Alt-m>'
|
open-class-browser=<Alt-c>
|
||||||
open-new-window= '<Control-n>'
|
open-module=<Alt-m>
|
||||||
open-window-from-file= '<Control-o>'
|
open-new-window=<Control-n>
|
||||||
plain-newline-and-indent= '<Control-j>'
|
open-window-from-file=<Control-o>
|
||||||
redo= '<Control-y>'
|
plain-newline-and-indent=<Control-j>
|
||||||
remove-selection= '<Escape>'
|
redo=<Control-Shift-z>
|
||||||
save-copy-of-window-as-file= '<Alt-Shift-s>'
|
remove-selection=<Escape>
|
||||||
save-window-as-file= '<Alt-s>'
|
save-copy-of-window-as-file=<Alt-Shift-s>
|
||||||
save-window= '<Control-s>'
|
save-window-as-file=<Alt-s>
|
||||||
select-all= '<Alt-a>'
|
save-window=<Control-s>
|
||||||
toggle-auto-coloring= '<Control-slash>'
|
select-all=<Alt-a>
|
||||||
undo= '<Control-z>'
|
toggle-auto-coloring=<Control-slash>
|
||||||
|
undo=<Control-z>
|
||||||
|
|
||||||
[IDLE Classic - posix]
|
[IDLE Emacs-ish]
|
||||||
Copy= '<Alt-w> <Meta-w>'
|
Copy=<Alt-w> <Meta-w>
|
||||||
Cut= '<Control-w>'
|
Cut=<Control-w>
|
||||||
Paste= '<Control-y>'
|
Paste=<Control-y>
|
||||||
beginning-of-line= '<Control-a> <Home>'
|
beginning-of-line=<Control-a> <Home>
|
||||||
center-insert= '<Control-l>'
|
center-insert=<Control-l>
|
||||||
close-all-windows= '<Control-x><Control-c>'
|
close-all-windows=<Control-x><Control-c>
|
||||||
close-window= '<Control-x><Control-0> <Control-x><Key-0>'
|
close-window=<Control-x><Control-0> <Control-x><Key-0>
|
||||||
do-nothing= '<Control-x>'
|
do-nothing=<Control-x>
|
||||||
dump-undo-state= '<Control-backslash>'
|
dump-undo-state=<Control-backslash>
|
||||||
end-of-file= '<Control-d>'
|
end-of-file=<Control-d>
|
||||||
help= '<F1>'
|
history-next=<Alt-n> <Meta-n>
|
||||||
history-next= '<Alt-n> <Meta-n>'
|
history-previous=<Alt-p> <Meta-p>
|
||||||
history-previous= '<Alt-p> <Meta-p>'
|
interrupt-execution=<Control-c>
|
||||||
interrupt-execution= '<Control-c>'
|
open-class-browser=<Control-x><Control-b>
|
||||||
open-class-browser= '<Control-x><Control-b>'
|
open-module=<Control-x><Control-m>
|
||||||
open-module= '<Control-x><Control-m>'
|
open-new-window=<Control-x><Control-n>
|
||||||
open-new-window= '<Control-x><Control-n>'
|
open-window-from-file=<Control-x><Control-f>
|
||||||
open-window-from-file= '<Control-x><Control-f>'
|
plain-newline-and-indent=<Control-j>
|
||||||
plain-newline-and-indent= '<Control-j>'
|
python-docs=<Control-h>
|
||||||
redo= '<Alt-z> <Meta-z>'
|
python-context-help=<Control-Shift-h>
|
||||||
save-copy-of-window-as-file= '<Control-x><w>'
|
redo=<Alt-z> <Meta-z>
|
||||||
save-window-as-file= '<Control-x><Control-w>'
|
save-copy-of-window-as-file=<Control-x><w>
|
||||||
save-window= '<Control-x><Control-s>'
|
save-window-as-file=<Control-x><Control-w>
|
||||||
select-all= '<Alt-a> <Meta-a>'
|
save-window=<Control-x><Control-s>
|
||||||
toggle-auto-coloring= '<Control-slash>'
|
select-all=<Alt-a> <Meta-a>
|
||||||
undo= '<Control-z>'
|
toggle-auto-coloring=<Control-slash>
|
||||||
|
undo=<Control-z>
|
||||||
|
|
|
@ -174,13 +174,48 @@ class IdleConf:
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def GetKeys(self, name=None):
|
def GetKeys(self, keySetName=None):
|
||||||
"""
|
"""
|
||||||
Gets the requested keybindings or returns a final fallback keybinding
|
returns the requested keybindings, with fallbacks if required.
|
||||||
set in case one can't be obtained from either the user or default
|
|
||||||
config files.
|
|
||||||
"""
|
"""
|
||||||
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):
|
def LoadCfgFiles(self):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue