Hi all,
For the technically-minded Windows users among you: I made an AHK script that goes around the Ctrl+At+C (and Ctrl+Shift+C) problems. It quickly switches to the EN-US keyboard, issues the relevant command, then goes back to PT-BR. Converting it to other languages is easy, just replace the lines commented with “; pt-BR
” with your locale. Here is the code:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
SetTitleMatchMode, 2 ; This let's any window that partially matches the given name get activated
#IfWinActive, Figma
!^c::
SetDefaultKeyboard(0x0409) ; english-US
Send, {CTRLDOWN}{ALTDOWN}c{ALTUP}{CTRLUP}
Sleep, 400
SetDefaultKeyboard(0x0416) ; pt-BR
^+c::
SetDefaultKeyboard(0x0409) ; english-US
Send, {CTRLDOWN}{SHIFTDOWN}c{SHIFTUP}{CTRLUP}
Sleep, 400
SetDefaultKeyboard(0x0416) ; pt-BR
^+w::return
; --------------------------------------
; https://www.autohotkey.com/boards/viewtopic.php?t=19534
SetDefaultKeyboard(LocaleID){
Global
SPI_SETDEFAULTINPUTLANG := 0x005A
SPIF_SENDWININICHANGE := 2
Lan := DllCall("LoadKeyboardLayout", "Str", Format("{:08x}", LocaleID), "Int", 0)
VarSetCapacity(Lan%LocaleID%, 4, 0)
NumPut(LocaleID, Lan%LocaleID%)
DllCall("SystemParametersInfo", "UInt", SPI_SETDEFAULTINPUTLANG, "UInt", 0, "UPtr", &Lan%LocaleID%, "UInt", SPIF_SENDWININICHANGE)
WinGet, windows, List
Loop %windows% {
PostMessage 0x50, 0, %Lan%, , % "ahk_id " windows%A_Index%
}
}
return
IMO it’s a dirty hack, but it’s working well so far. The ^+w::return
command is used to suppress the Ctrl+Shift+W shortcut which I frequently press by mistake. Just remove / comment the respective line if you like.
Anyway, I stress again that I still hope the Figma guys take notice of this thread and fix this issue for good.
Best of luck to all.