Menu

#1 Windows, non-us keyboard layout: interactive mode does not get all characters

1.0
open
nobody
None
2014-12-10
2014-11-27
kawe
No

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)

Discussion

  • Satoshi Nishimura

    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?

    1. Open the Windows Command Prompt window and check if '{' or '[' characters can be input to the Windows command line.

    2. 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.

    3. 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

     
  • kawe

    kawe - 2014-11-28

    Done. Result:

    1. Keystrokes are recognized as expected
    2. Problem occurs as described above
    3. Using the (case sensitive) -N switch, keys are properly recognized according to the keyboard layout

    btw: The problem occurred on a 64-bit Windows. I haven't tested 32-bit Windows yet.

     
    • kawe

      kawe - 2014-12-01

      Tested: 32-bit Windows is affected as well.

       
  • Satoshi Nishimura

    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).

     
  • kawe

    kawe - 2014-12-09

    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

    • the welcome message 'Welcome to Takt version 0.309'
    • the prompt: '>'
    • and the input 'w d e'

    are all passed.

     

    Last edit: kawe 2014-12-09
  • Satoshi Nishimura

    Error messages are sent to 'stderr' while other messages are sent to 'stdout'.
    "takt 2>&1 | clip.exe" will capture both type of messages.

     

Log in to post a comment.