Menu

#3041 tkUnixKey.c is wrong for me since 8.5.11

obsolete: 8.5.13
open
5
2012-11-26
2012-11-21
Anonymous
No

Hi,
on OSX, using unix like Tcl/TK .dylib, since 8.5.11 I cannot acces binding unless I hit a key first.
with 8.5.13, if I copy/paste code from 8.5.10 tkUnixKey.c and recompile Tk, everything is fine but I doubt it's a good hack.
here's the link to the discussion on comp.lang.tcl
https://groups.google.com/d/msg/comp.lang.tcl/8bHk1QKGjFA/ukrgsAQps2QJ

Best regards,
Nicolas

Discussion

  • Don Porter

    Don Porter - 2012-11-26
    • labels: 104334 --> 32. Key Symbols
    • assigned_to: hobbs --> wordtech
     
  • Kevin Walzer

    Kevin Walzer - 2012-11-26

    First, just to confirm, this is seen in the X11 version of Tk on OS X? What OS version are you on? Can you test 8.5.11 on another version of X, such as Linux, to see if it's there?

    Can you provide a diff of tkUnixKey.c?

    I have very little knowledge of X11 keysyms, and I would think this bug would be evident on other X systems. I may refer this to another maintainer with more Unix expertise than me, depending on the feedback.

     
  • Anonymous

    Anonymous - 2012-11-29

    Kevin,
    so to confirm, this is seen on MacOSX.7.5 with Tk version since 8.5.11 (8.5.10 works fine).
    I've compiled 8.5.13 on Ubuntu12.0.4 and test it and it works fine. I'm able to use Ctrl+n (File/New in my program) in the very beginning without the need to hit a key first.

    for the diff, I've just picked the 8.5.10 tkUnixKey.c and paste it in the 8.5.13 distro.

    best regards,
    nicolas

     
  • Donal K. Fellows

    See Bug 1924761 for the change rationale, and I have no idea why you're having problems.

     
  • Anonymous

    Anonymous - 2012-11-29

    more digging...
    in tkUnixKey.c and especially KeySym TkpGetKeySym(), if I remove the TK_USE_INPUT_METHODS ifdef and all enclosed code, it works again with tk8.5.13.
    the comment fro the ifdef section is
    /*
    * If input methods are active, we may already have determined a keysym.
    * Return it.
    */
    so I guess that Tk do not have a determined keysym
    hope this helps...

    ++
    nicolas

     
  • Donal K. Fellows

    But then it doesn't work on other platforms, which is the whole reason that code was put in there.

     
  • Anonymous

    Anonymous - 2012-11-29

    does 8.5.10 distros had problems on others platforms?
    because the ifdef where not present in it...

     
  • Kevin Walzer

    Kevin Walzer - 2012-11-29

    I don't have the correct build setup on my system for an X11 version of Tk, and as this is not a native (Aqua) issue, I'm not the right person to address the bug, or even if there is a bug--dkf appears to think there is not one.

     
  • Colin McDonald

    Colin McDonald - 2013-01-03

    See bug #3599312, which may be the same issue on Unix and has a fix attached.

     
  • Anonymous

    Anonymous - 2013-02-21

    while investing to correct the bug, I came to the same conclusion as you about the TkpInitKeymapInfo().
    your fix works perfectly, thanx !
    it's a shame that SF tracker do not notify about comments, you published the fix 1,5 month earlier....

    ++