issues installing readine-1.12 on WinXP

M

Michele Simionato

I have installed Gary Bishop's readline library and Thomas
Heller's cypes; I have Python 2.4 ActiveState distribution.
When I try to import readline I get the following error:

C:\Programmi>python
ActivePython 2.4 Build 243 (ActiveState Corp.) based on
Python 2.4 (#60, Nov 30 2004, 09:34:21) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
VkKeyScan("`") = -1Exception exceptions.AttributeError: "'Console' object has no attribute
'saveatt
r'" in <bound method Console.__del__ of <readline.Console.Console
object at 0x00
BB5E10>> ignored
VkKeyScan("`") = -1
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:\Python24\Lib\site-packages\readline\__init__.py", line 1, in
?
from PyReadline import *
File "C:\Python24\Lib\site-packages\readline\PyReadline.py", line
1091, in ?
rl = Readline()
File "C:\Python24\Lib\site-packages\readline\PyReadline.py", line 46,
in __ini
t__
self.emacs_editing_mode(None)
File "C:\Python24\Lib\site-packages\readline\PyReadline.py", line
1008, in ema
cs_editing_mode
self._bind_key('"%s"' % chr(c), self.self_insert)
File "C:\Python24\Lib\site-packages\readline\PyReadline.py", line
1000, in _bi
nd_key
keyinfo = key_text_to_keyinfo(key)
File "C:\Python24\Lib\site-packages\readline\keysyms.py", line 101,
in key_tex
t_to_keyinfo
return keyseq_to_keyinfo(keytext[1:-1])
File "C:\Python24\Lib\site-packages\readline\keysyms.py", line 163,
in keyseq_
to_keyinfo
res.append(char_to_keyinfo(keyseq[0], control, meta, shift))
File "C:\Python24\Lib\site-packages\readline\keysyms.py", line 111,
in char_to
_keyinfo
raise ValueError, 'bad key'
ValueError: bad key

Any hints on what is causing this and the cure?
TIA,

Michele Simionato
 
S

Simon Percivall

That shouldn't happen AFAICT. Check line 108 in keysyms.py and make
sure it says "vk = VkKeyScan(ord(char))".
 
M

Michele Simionato

That line seems right. The function is

def char_to_keyinfo(char, control=False, meta=False, shift=False):
vk = VkKeyScan(ord(char))
if vk & 0xffff == 0xffff:
print 'VkKeyScan("%s") = %x' % (char, vk)
raise ValueError, 'bad key'
if vk & 0x100:
shift = True
if vk & 0x200:
control = True
if vk & 0x400:
meta = True
return (control, meta, shift, vk & 0xff)

Maybe the problem is related to the fact that I am using the Italian
keyboard?
 
M

Michele Simionato

No, I don't even know how to get it under Windows (usually I use
Linux). Switching to the US keyboard
does not help, anyway. I get the same error.

Michele
 
M

Michele Simionato

Well, this is ugly as the sin but it seems to work, at least for the
moment:

vk = VkKeyScan(ord(char))
if vk == -1: # ugly fix for backtips
vk = 96

I will write to Gary Bishop to point out this issue with the Italian
keyboard and see if he has some decent
solution.

Michele Simonato
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top