forked from DreymaR/BigBagKbdTrixPKL
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_eD_PwrStrings.ini
More file actions
74 lines (68 loc) · 3.93 KB
/
_eD_PwrStrings.ini
File metadata and controls
74 lines (68 loc) · 3.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
;
;; Literal/ligature/PowerString definitions
;; for Portable Keyboard Layout by Farkas Máté [https://github.com/Portable-Keyboard-Layout]
;; edition DreymaR (Øystein B Gadmar, 2015-) [https://github.com/DreymaR/BigBagKbdTrixPKL]
;;
;; This file provides named string literals callable by layouts with the &<PS> syntax
;; It usually goes in the ./Files folder and is used by EPKL.exe
;
;; - SendInput is not fast for long strings. Meanwhile, any released modifiers get stuck!
;; - To prevent stuck modifiers, strings can be sent by the Windows SendMessage method.
;; - For multiline strings, Message performed about twice as fast as Input for me.
;; - For short strings SendMessage may be slower than SendInput, but it's robust.
;; - The Paste method pastes the string via the clipboard. May not be reliable in all apps.
;; - Paste seems best for block sending (n or rn): Fast, if the app gets line breaks right.
;; - Message sending with +Enter line parsing works in most contexts but it's slower.
;;
;; PowerString syntax:
;; - Any name may be used for &<name>. In layouts, I use short names for aesthetic reasons.
;; - Multiline strings are used as illustrated below
;; - The string entry is set to <PS> = <Multiline> ##, where ## is the number of lines
;; - There should also be ## (00-99) numbered lines named <PS>-##
;; - End-of-line comments (<whitespace>;<comment>) are not stripped for these lines
;; - Use optionally quoted strings to preserve white space
;; - Prefix-entry syntax is allowed for single-line strings - see, e.g., _eD_Extend.ini
;; - Use [\r \n \t \b \\] escapes for [`r `n `t `b \]
;; - \n is line break, but some apps require \r\n. Can set the line break mode w/ brkMode.
;; - There may be a system limit of about 5000 characters per string? I haven't tested.
;
[pkl]
;; Line break mode: Send as `n, send as `r`n, or split lines and send Shift+Enter between.
brkMode = +Enter ; +Enter, n, rn
;; String send mode: SendMessage calls, Clipboard Paste or SendInput {Raw}.
strMode = Message ; Message, Paste, Input, Text [AHK v1.1.30+]
[strings]
01 = \nHello, World!\n\t- "Nice to see you!"\n
02 = "\nWell, this is silly!\b\b\b\b\b\bsplendid! ;-)\n"
03 = α{Enter}Yours truly,{Enter} MyName+^{Left}
04 = →Colemak-ⲔⲰ[eD] ; "Obey the CAW!" the Raven CAW[eD]!
05 = Θώθ ; "Θώθ – What Is Thoth?"
666 = <Multiline> 17 ; A 17 line string, defined below
;; The purpose of this power(!)string is to improve Colemak's daemon summoning capabilities. \m/
;; See https://forum.colemak.com/topic/2460-improving-colemaks-demon-summoning-abilities/
666-01 = "\n ______ \n"
666-02 = " Col .d$$$******$$$$c. mak \n"
666-03 = " \e/ .d$P" "$$c \-/ \n"
666-04 = " $$$$$. C .$$$*$. \n"
666-05 = " .$$ 4$L*$$. .$$Pd$ '$b \n"
666-06 = " $F *$. "$$e.e$$" 4$F ^$b \n"
666-07 = " d$ $$ z$$$e $$ '$. \n"
666-08 = " $P m `$L$$P` `"$$d$" k $$ \n"
666-09 = " $$ e$$F C 4$$b. $$ \n"
666-10 = " $b .$$" $$ o .$$ "4$b. $$ \n"
666-11 = " $$e$P" $b d$` "$$c$F \n"
666-12 = " '$P$$$$$$$$$$$$$$$$$$$$$$$$$$ \n"
666-13 = " "$c. 4$. $$ .$$ \n"
666-14 = " ^$$. DH $$ d$" AW d$P \n"
666-15 = " "$$c. `$b$F .d$P" \n"
666-16 = " CAW `4$$$c.$$$..e$$P" [eD] \n"
666-17 = " `^^^^^^^` \n"
;; PowerStrings can be used as abbreviations to allow compact layout entries:
Spc = β{Space} ; Any 'Spc' or '={Space}' state entries are hardcoded so they can release DeadKeys etc. This one doesn't.
Tab = β{Tab}
BSp = β{BackSpace}
CBS = α^{BackSpace} ; Ctrl+Back deletes the previous word
Cap = α{CapsLock}
Esc = α{Esc}
LWi = α{LWin}
Deb = α{End}{Enter}{Tab}( 1 ) ? pklDebug( "`n", 1 ) {Space}; eD DEBUG{Left 18} ; Cheeky ternary op., 1=true (insert test there) and the : is optional