[Bf-committers] GHOST/Win32 dead-key-fix?

Campbell Barton ideasman42 at gmail.com
Thu Sep 19 05:57:23 CEST 2013


One thing I'm not certain of is checking the return value from MapVirtualKey()

See:
"static bool IsDeadKey(uint key)"

http://social.msdn.microsoft.com/Forums/vstudio/en-US/bc14a7a2-5abd-4c4e-a48d-164469e2407a/tounicodeex-and-dead-keys-inside-system-wide-hooks

Checks the return value differently but otherwise seems to be checking
for the same case.



On Thu, Sep 19, 2013 at 1:04 PM, Harley Acheson
<harley.acheson at gmail.com> wrote:
> Campbell,
>
> That bug thread goes on for ages and addresses some other issues as well,
> which is confusing. Here is a better (short) summary of the problem:
>
> This bug happens only to Windows users who use a keyboard layout that uses
> "dead keys" to create accented characters in European languages. The
> keyboard layout in the bug was the "US (International)" keyboard layout
> which
> does this for tilde, quote, and double-quote characters.
>
> These layouts, for example, let you press the "tilde" key and then the "e"
> to get
> an accented "e".   Press the dead key twice and you get the actual
> character,
> like double-quote. Press the dead key and then a character that cannot be
> accented, like "L" and you will get the dead key and the "L"
>
> In Blender, when using this type of keyboard layout, the dead keys are
> simply
> swallowed up.  It is not just that you don't get accented characters, but
> that you
> have no way of making a quote or double-quote character. This can make
> programming in Python a bit difficult...
>
>
> The patch almost completely fixes the issue.
>
> It allows you to press the dead keys and get the accented character exactly
> as
> you expect.  However you must *always* press the dead key to get that key.
> So you must press double-quote twice to get a double-quote.  I'm pretty sure
> that this is as close as we get to perfect with the way we are dealing with
> keyboard
> input (raw key presses rather than characters).
>
> Harley
>
>
>
> On Wed, Sep 18, 2013 at 7:35 PM, Campbell Barton <ideasman42 at gmail.com>wrote:
>
>> Going over the tracker and noticed theres an old ms-windows bug with
>> dead-keys on international keyboards.
>>
>> Harley Acheson submitted a fix which apparently works well, but for
>> some reason the patch remains uncommitted.
>>
>> *bug* https://projects.blender.org/tracker/index.php?func=detail&aid=33678
>> *fix* https://projects.blender.org/tracker/index.php?func=detail&aid=33709
>>
>>
>> While this is an awkward quirk of the API theres a lot of info online
>> about this problem and the solution.
>>
>> Heres the same issue reported and fixed for qt4 for example.
>>
>> QT4 Had the same bug, their report and fix.
>> *bug* https://bugreports.qt-project.org/browse/QTBUG-33409
>> *fix*
>> https://qt.gitorious.org/qt/qt/commit/68331c5436506b6f9b4c2a49692a09020e4eef27
>>
>> Would an ms-windows developer be able to check on this patch for 2.69
>> release?
>>
>> --
>> - Campbell
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers



-- 
- Campbell


More information about the Bf-committers mailing list