Popleft > 2023-08-11 08:24
emp00 > 2023-08-11 13:42
Popleft > 2023-08-18 12:03
(2023-08-11 13:42)emp00 Wrote: I recommend using Autohotkey (directly)
[...]
(2023-08-11 13:42)emp00 Wrote: https://jacks-autohotkey-blog.com/2019/0...er-2-2019/
Jean Lalonde > 2023-09-08 10:31
Jean Lalonde > 2023-09-08 10:31
Popleft > 2023-09-14 05:41
Popleft > 2023-12-09 12:56
Jean Lalonde > 2024-05-14 06:39
![[Image: nTowpeF.png]](https://i.imgur.com/nTowpeF.png)
Jean Lalonde > 2025-06-09 15:38
Popleft > 2025-08-12 09:32
; ███ text conversion ███
/*
These snippets work; sort of. Because sometimes they are some glitches
They have to use >>SendRaw<< - because if >>SendInput<< is used then:
● the text is no longer pasted on the sign-by-sign basis but immediately as a whole
● every >>+<< gets lost in transformation
● first >>#<< character cause itself and everything following it to be removed from the outcome
● [and probably many more errors like the two above]
*/
; ███ text conversion ███ Lower Case ███
^+l:: ; Control + Shift + L
Clipboard := ""
SendInput, ^c ; This copies selected text- by executing the >>Control + C<< keyboard shortcut
ClipWait
SendRaw % Format("{:L}", Clipboard)
Return
; ███ text conversion ███ Title Case ███
^+t:: ; Control + Shift + T
Clipboard := ""
SendInput, ^c ; This copies selected text- by executing the >>Control + C<< keyboard shortcut
ClipWait
StringUpper Clipboard, Clipboard, T ; Alternative approach. This >>T<< however is a title mode conversion and has nothing to do with the >>T<< from the defined shortcut
SendRaw %Clipboard%
Return
; ███ text conversion ███ Sentence Case ███
^+s:: ; Control + Shift + S
Clipboard := ""
SendInput, ^c ; This copies selected text- by executing the >>Control + C<< keyboard shortcut
ClipWait
Clipboard := convert_Clipboard_content_to_sentence_case()
SendRaw %Clipboard%
Return
convert_Clipboard_content_to_sentence_case()
{
full_text := Clipboard ; This assign Clipboard content first
StringLower, full_text, full_text ; This convert then everything in Clipboard to lowercase
sentence_case_output := ""
next_character_should_be_upper := true
polish_uppercase_mapping := { "ą":"Ą", "ć":"Ć", "ę":"Ę", "ł":"Ł", "ń":"Ń", "ó":"Ó", "ś":"Ś", "ź":"Ź", "ż":"Ż" }
Loop, Parse, full_text
{
current_character := A_LoopField
if (next_character_should_be_upper && (current_character ~= "[a-z]" || polish_uppercase_mapping.HasKey(current_character)))
{
if (polish_uppercase_mapping.HasKey(current_character))
current_character := polish_uppercase_mapping[current_character]
else
StringUpper, current_character, current_character
next_character_should_be_upper := false
}
else if (current_character ~= "[.!?]") {
next_character_should_be_upper := true
}
sentence_case_output .= current_character
}
Return sentence_case_output
}
; ███ text conversion ███ Upper Case ███
+^u:: ; Control + Shift + U
Clipboard := ""
SendInput, ^c ; This copies selected text- by executing the >>Control + C<< keyboard shortcut
ClipWait
SendRaw % Format("{:U}", Clipboard)
Return
; ███ text conversion ███ Toggle Case ███
/*
Feature not included
*/Jean Lalonde > 2025-08-12 09:56