Windows, non-us keyboard layout: interactive mode does not get all characters
Text-based Music Programming Tools
Status: Alpha
Brought to you by:
snisim
Takt 0.309
Windows 7
German keyboard Layout
Some characters ('{', '}', '[', ']', ...) cannot be given to the interactive interpreter using alternative (e.g. German) keyboard layouts
Workaround:
Change the keyboard layout (to EN-US)
Of course this mixes up some characters due to keyboard device mismatch (including the concerned ones)
Thank you for reporting the problem.
To identify which part of the system (OS setting, GNU readline, or Takt itself) is the source of the problem, could you try the following steps and let me know in which cases you encounter the keybord problem?
Open the Windows Command Prompt window and check if '{' or '[' characters can be input to the Windows command line.
Start the Takt interpreter from the Command Prompt. You can start it by
C:"\Program Files\Takt\bin\takt"
on 32-bit Windows or
C:"\Program Files (x86)\Takt\bin\takt"
on 64-bit Windows. Then, check if '{' or '[' characters can be input to the Takt interpreter.
Quit and restart the Takt interpreter with '-N' option. The '-N' option will disable the GNU readline command-editing feature. Start the interpreter like
C:"\Program Files\Takt\bin\takt.exe" -N
and check those characters can be entered to the interpreter.
Thanks in advance
Done. Result:
btw: The problem occurred on a 64-bit Windows. I haven't tested 32-bit Windows yet.
Tested: 32-bit Windows is affected as well.
Thanks. Now I understood what is going on in the system.
The problem is due to that the Windows-ported version of GNU readline DLL bundled in the current Takt binary package has no support for character input with AltGr (ALT+CTRL) key.
I am looking into applying a patch to the source code of the DLL to fix the problem.
For the moment, please start the Takt interpreter with the '-N' option (you can also do that by appending '-N' after 'run_takt.bat"' in the Target property of the Takt icon).
btw:
How would I fetch the error outputs like
"Line 1: Col 1: 'w' is undefined"
(with or without using emacs)?
e. g. "takt (-N) | clip.exe" will not pass the error messages to the clipboard,
while
are all passed.
Last edit: kawe 2014-12-09
Error messages are sent to 'stderr' while other messages are sent to 'stdout'.
"takt 2>&1 | clip.exe" will capture both type of messages.