I have installed Python 2.7.14, pywin 2.7, natlink 4.1victor and dragonfly 0.6.6b1. I have windows 10 where the main language is English, but the keyboard layout is in Finnish.
If I go to Notepad and edit voice commands, a test command like this:
Test command = "xx{hello[] | world}";
Outputs "xx7hello89 < world0
" with a Finnish keyboard layout, and "xx[hello[] \ world]
" with a US English one.
When using a Finnish keyboard, this looks as if someone tried to type those characters but didn't press Alt Gr (for example a curly bracket is done by pressing Alt Gr + 7)
There’s a similar but slightly different problem with ready-made grammars for programming languages, except here the curly brackets don’t show at all.
For example when I use _cs_grammar.py
with a Finnish keyboard layout, saying “for loop
“ produces just "for(;;)
" and a couple of new lines. Interestingly, when I set the keyboard to US English what it produces is "for*<<(
" and no curly brackets either.
"for loop": Text("for(;;) {") + Key("enter")+ Key("enter") + Text("}")
I'm trying to code using voice recognition, and characters like those not working is hardly ideal. Where and how is a keypress like that defined?
Dragonfly has historically (t4ngo/dragonfly) had issues with alternate keyboard layouts. This is been fixed in the community fork of dragonfly.
I recommend using Dictation Toolbox fork of dragonfly which is integrating fixes from the community. Hopefully these fixes will be pulled into into the main promoted repository t4ngo/dragonfly someday.
The issue that's relevant to fix alternate keyboard layouts. https://github.com/dictation-toolbox/dragonfly/issues/16
Let me know this resolves your issue.