dual
dual copied to clipboard
Troubles with non-english layout.
First, thank you for your code - i cant live without dual role keys, and your script is only working solution on windows. Is use dual as BigCtrl replacememnt - with config smth like that.
*Space::
*Space UP::dual.combine("RCtrl", A_ThisHotkey)
Everything works fine except second layout. In russian layout keys with dots, braces, etc produces them not regarding what layout is currently selected. So, i found workaround for that - add for every wrong working key.
*,::
StringReplace, KeytoSend, A_ThisHotkey, *
dual.combo(",")
if (current_is_ru() && !GetKeyState("RCtrl") && !GetKeyState("RAlt") && !GetKeyState("LAlt")) {
if (GetKeyState("Shift")) {
dual.SendInput("{Shift Down}{vkBC}{Shift Up}")
} Else {
dual.SendInput("{vkBC}")
}
} Else {
SendInput {Blind}{%KeyToSend%}
}
Return
; Some helper functions
; RU - 0x4190419
; EN - 0x4090409
current_layout()
{
SetFormat, Integer, H
WinGet, WinID,, A
ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
InputLocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
Return InputLocaleID
; if (InputLocaleID == "0x4190419") Return True
}
current_is_ru()
{
CurrLoc := current_layout()
if(CurrLoc = "0x4190419") {
return True
}
}
I uploaded entire config here - https://gist.github.com/jumper047/ae15b5e484bfe207d14387b6ff82c5f1
@jumper047 , здравствуйте! Пытаюсь запустить скрипт в логике
*Space::
*Space UP::dual.combine("RShift", A_ThisHotkey)
Запускается, но очень долго приходится зажимать пробел для срабатывания шифта (порядка 2-3 сек), экспериментировал с
settings := {delay: 70, timeout: 300, doublePress: 200}
что не дало результатов.
При запуске ahk ругается на сроки. Методом тыка запуск удается только с изменением кода
#Include <dual>
dual := new Dual
#Include <dual>
а не как у автора
#Include <dual/dual>
dual := new Dual
#Include <dual/defaults>
Дополнительно. Скаченные файлы посетил и рабочий скрипт поместил в :
c:***n\Documents\AutoHotkey\Lib
Программа установлена в програмфайлс.
Если вы используете, как BigCtrl, то не могли бы подсказать, в какой директории разместить и как изменить файлы автора (быть может направите ваши)?
Спасибо.
@sergeiantipin здравствуйте, если честно - уже не помню, я перешел на https://github.com/ililim/dual-key-remap. У него нет проблем с кириллицей.
tr: I switched to https://github.com/ililim/dual-key-remap, it works well with cyrillic layout.
BTW @lydell maybe it is worth to mention that app, https://github.com/ililim/dual-key-remap, in readme as alternative?
@jumper047 :+1: Added to the readme.