Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > IDLE dedent/unindent key bindings for non-us keybord?

Reply
Thread Tools

IDLE dedent/unindent key bindings for non-us keybord?

 
 
gjohannes@gmail.com
Guest
Posts: n/a
 
      10-02-2005
Hi.

I use Idle 1.1.1 on Python 2.4.1.

The "Ctrl-[" and "Ctrl-]" key bindings for indenting do not work on
non-us keyboards where brackets are accessed by the "Alt Gr" key.

The Tab key seem to work for indenting a selected textblock on my
swedish keyboard, but Shift-tab does not dedent as you would have
expected.

If I try to redefine key bindings in "options->Configure IDLE->Keys" so
that Shift-Tab is bound to dedent, things seem to get really weird.

After creating a "Custom key set"
- the "Ok"-button does not close the options window, I have to use
"Cancel" to get out.

- Tab does not longer indent selected text, but replaces it with a tab
character instead.

- Shift->Tab does nothing.

- F5 for Run module does nothing

and so on.


What could be wrong here, and do you have any other suggestions for a
"dedent" key binding that may work on a non-us/swedish keyboard (or
maybe an alternative editor for python code).

Thanks.

 
Reply With Quote
 
 
 
 
Franz Steinhaeusler
Guest
Posts: n/a
 
      10-05-2005
On 2 Oct 2005 08:52:53 -0700, http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:

>Hi.
>
>I use Idle 1.1.1 on Python 2.4.1.
>
>The "Ctrl-[" and "Ctrl-]" key bindings for indenting do not work on
>non-us keyboards where brackets are accessed by the "Alt Gr" key.
>
>The Tab key seem to work for indenting a selected textblock on my
>swedish keyboard, but Shift-tab does not dedent as you would have
>expected.
>
>If I try to redefine key bindings in "options->Configure IDLE->Keys" so
>that Shift-Tab is bound to dedent, things seem to get really weird.
>
>After creating a "Custom key set"
>- the "Ok"-button does not close the options window, I have to use
>"Cancel" to get out.
>


I'v seen this also:
this must be a bug.


Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python24\lib\lib-tk\Tkinter.py", line 1345, in __call__
return self.func(*args)
File "C:\Python24\lib\idlelib\configDialog.py", line 1197, in Apply
self.ActivateConfigChanges()
File "C:\Python24\lib\idlelib\configDialog.py", line 1185, in
ActivateConfigCh
anges
instance.ResetKeybindings()
File "C:\Python24\lib\idlelib\EditorWindow.py", line 585, in
ResetKeybindings
self.apply_bindings()
File "C:\Python24\lib\idlelib\EditorWindow.py", line 837, in
apply_bindings
text.event_add(event, *keylist)
File "C:\Python24\lib\lib-tk\Tkinter.py", line 1299, in event_add
self.tk.call(args)
TclError: bad event type or keysym "tab"
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python24\lib\lib-tk\Tkinter.py", line 1345, in __call__
return self.func(*args)
File "C:\Python24\lib\idlelib\configDialog.py", line 1192, in Ok
self.Apply()
File "C:\Python24\lib\idlelib\configDialog.py", line 1197, in Apply
self.ActivateConfigChanges()
File "C:\Python24\lib\idlelib\configDialog.py", line 1185, in
ActivateConfigCh
anges
instance.ResetKeybindings()
File "C:\Python24\lib\idlelib\EditorWindow.py", line 585, in
ResetKeybindings
self.apply_bindings()
File "C:\Python24\lib\idlelib\EditorWindow.py", line 837, in
apply_bindings
text.event_add(event, *keylist)
File "C:\Python24\lib\lib-tk\Tkinter.py", line 1299, in event_add
self.tk.call(args)
TclError: bad event type or keysym "tab"


next time, I start:

C:\Python24\Lib\idlelib>idle.py
error reading package index file C:/Python24/tcl/tix8.1/pkgIndex.tcl:
invalid co
mmand name "lt}]}"
Traceback (most recent call last):
File "C:\Python24\Lib\idlelib\idle.py", line 21, in ?
idlelib.PyShell.main()
File "C:\Python24\lib\idlelib\PyShell.py", line 1355, in main
if not flist.open_shell():
File "C:\Python24\lib\idlelib\PyShell.py", line 275, in open_shell
self.pyshell = PyShell(self)
File "C:\Python24\lib\idlelib\PyShell.py", line 793, in __init__
OutputWindow.__init__(self, flist, None, None)
File "C:\Python24\lib\idlelib\OutputWindow.py", line 16, in __init__
EditorWindow.__init__(self, *args)
File "C:\Python24\lib\idlelib\EditorWindow.py", line 108, in __init__
self.apply_bindings()
File "C:\Python24\lib\idlelib\EditorWindow.py", line 837, in
apply_bindings
text.event_add(event, *keylist)
File "C:\Python24\lib\lib-tk\Tkinter.py", line 1299, in event_add
self.tk.call(args)
_tkinter.TclError: bad event type or keysym "tab"

(On Windows)
I discovered, looking in C:\.idlerc\config-keys.cfg

there was the entry
dedent-region = <Shift-Key-tab>

with an editor you can change it to uppercase:

dedent-region = <Shift-Key-Tab>

then it works again.

HTH


--
Franz Steinhaeusler
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Python editing with emacs/wordstar key bindings. Thomas Bartkus Python 12 04-14-2006 05:39 PM
Re: IDLE dedent/unindent key bindings for non-us keybord? Adriaan Renting Python 1 10-12-2005 01:10 PM
Replace Tab Key to Return Key (Enter Key) from Web Forms? M P ASP General 1 08-06-2004 08:32 AM
Tkinter and readline key bindings Will Woods Python 0 09-02-2003 05:00 PM



Advertisments