Solved? - CTRL + ALT + C doesn't copy properties/style data anymore

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.

1 Like