para_chording
beta version: 0.5.0 beta (Feb 21, 2022)
Find me on:
Twitter: Joe Penna [@MysteryGuitarM]
Discord: Joe Penna (MysteryGuitarMan)#7614
Thing is... these programs below are so easy to figure out that I was able to code this entire chording solution by fumbling through beginner example codes online.
(And asking for help a couple times. Many times. Thanks @CodyW, @lamb, @hermo, @Dimentium, @kiinoda)
Start by watching this video: How to start chording with Joe Penna (coming later)
Default Commands
First time here? Don’t worry about these yet.
⌃ control
+⌥ option
+⌘ command
+i
► add instant chord
⌃ control
+⌥ option
+⌘ command
+-
► open program folder
⌃ control
+⌥ option
+⌘ command
+=
► update karabiner chord_listQ
+W
+E
► toggle chording on / off
Installation
Two programs you need to install:
- Karabiner Elements
- download link
- free / open source
- detailed installation instructions, if you need it
- Keyboard Maestro
- download link
- technically a free trial, but you can use it indefinitely
- detailed installation instructions, if you need it
para_chording installation
- para_chording installation
- download link
- These are the files I made to get you chording.
Keyboard Maestro
-
right-click the para_chording folder in Keyboard Maestro, choose Enable Macro Group:
-
That’s all you need with Keyboard Maestro.
Karabiner
- Open Karabiner Preferences… in your taskbar:
- Under Devices
- Click the left-most checkmark on the keyboard you’d like to use.
- Mine is called Apple Internal Keyboard / Trackpad (Apple Inc.)
- Under Complex Modifications
- Click ⊕ Add rule.
- Next to para_chording
- Click the needlessly small Enable All button.
- You’re done with installation! To confirm, press
q
w
e
all together. You should get a message that para_chording is on / off.
Let’s Start Chording!
Open any text editor. I recommend TextEdit for now.
First, type t
. Then, type h
. Then, type e
. Then, add a space
.
How slow.
Instead, try to mash the
all together — that’s your chord.
You should have gotten the
+ space
— that’s your output.
By default, this program adds a space at the end of every output.
Other Ways of Chording
Now try to chord fj
together.
You get the same output: the
+ space
.
- The letters of the chord don’t have to match the letters of the output.
- You can have multiple chords with the same output (but each chord can only have one output).
fj
for the
seems like an odd choice, but consider the following:
- The word the is the most common word in the English language.
- It’s probably the word you type the most.
- The keyboard in front of you probably has two easy-to-find nibs on the
F
and theJ
keys. - The index fingers usually rest on those two keys.
- The term “semantic satiation” describes how you might be feeling about the word “the”.
Repeats and Shifts
Try chording fj
repeatedly. You should get the the the
.
If you press-and-hold fj
, you get the•••••
(where •
represents a blank space).
By default, only the last letter of a chord will repeat, which will usually be a space.
Try holding shift
down, then chord fj
.
You get The
. Repeatedly, you get The The The
.
By default, I made it so that only the first letter is capitalized.
We’ll talk about how to capitalize the entire output in a bit.
Long Chords
Back in your text editor, move your fingers around until you press thm
altogether. You get:
To Whom It May Concern,
►
Note the lack of space added.
Now chord obed
, which will output:
I have the honor to be your obedient servant,
A.Ham
Also, note that you don’t have to hold a long chord while it types.
For normal chording, you shouldn’t run into an issue with how long it takes to type.
Still, if you want to have the text show up immediately, you can enable “paste mode” in this program’s preferences — with the caveat that you’ll lose whatever you last copied after every chord.
This has not yet been implemented.
Adding Your Own Chords
Try this keystroke (doesn’t need to be chorded):
⌃ control
+⌥ option
+⌘ command
+i
Before you add any chords…
-
Numbers, lowercase letters, and uppercase letters are allowed.
-
You can’t use commas directly.
- You need to escape them with a
\backslash\
Evening\, ladies
will get you what you want, at least chording-wise.Evening, ladies
will break everything.
- You need to escape them with a
-
You can only use the symbols
! @ # $ % ^ & * ( ) - _ = +
and< . > / ? ; : ' "
- No vertical bars.
|shift+backslash|
- No brackets.
[]{}
- ꧁ 𝕹𝖔 𝖜𝖊𝖎𝖗𝖉 𝖈𝖍𝖆𝖗𝖆𝖈𝖙𝖊𝖗𝖘 𝖔𝖗 𝖊𝖒𝖔𝖏𝖎𝖘 ꧂
- No vertical bars.
I’m not a good enough coder to stop you from breaking your chord list.
So, just try to stick to letters and numbers the simple symbols above.
Try adding one now!
I did:
chord: luv
output: love
If you don’t want a space at the end of your output, add a # symbol to the end of your chord.
output: love
will get youlove
+space
.
output: love#
will get youlove
.
More Advanced Concepts
If you wanna add lots of chords more easily, or to change / delete any chords, type:
⌃ control
+ ⌥ option
+ ⌘ command
+ - (hyphen)
This opens your program folder in Finder.
- chord_lists
- lots of .txt that mesh together to create your chord library.
More info about these below.
- chord_lists backups
- backups of the chord_lists are made every time you:
- add an instant chord.
- run the manual chord_list update command.
- backups of the chord_lists are made every time you:
If you’re changing your files often, a new backup of all folders is only made every hour.
- documentation
- links to this document, and a document for developers.
- please, developers — read it! I need help!
chord_list directory
Open it up.
You’ve got:
- instant_chords.txt
- a list of chords added, with date and time as comments
instant — February 21, 2022 – 2:57 PM chord,output
- read_me examples.txt
- The examples from this read_me.
- Feel free to delete this after you’re done reading through this document.
- 100 most common english words.txt
- A bunch of chords to get you started.
- Note the lack of two-letter words.
- common two-letter words.txt
- chords for words like
be
,to
, - Note the lack of non-two-letter words.
- chords for words like
File Format
This program’s expecting text files in the chord_list
directory with the following pattern:
// title is a must chord,output chord,output chord,output//comments immediately after output are supported
chord ,output//you would have to chord spacebar here chord, output//your output would have an extra space here
chord,output //this would add extra spaces to your output
// empty lines allowed //comments not at the beginning of a line might break things /* comment blocks are unsupported */
very long chords are,not useful chords without outputs will definitely break things
When you’re done changing your .txt files around, you can update Karabiner with:
⌃ control
+ ⌥ option
+ ⌘ command
+ = (equal sign)
Modifier Keys
I coded a few extra keys for you.
Modifiers For Chords and Outputs
backspace — ◄ but will be changed to :backspace:
enter — ▼ but will be changed to :enter:
tab — ► but will be changed to :tab:
Example 1:
abon,abandon
ing,:backspace:ing
chording abon
then ing
outputs:
abandon+space
then backspace+ing
abandoning
Example 2:
=-:backspace:,hunter2
chording the three keys on the top of your keyboard (hyphen
equalsign
delete
) would output
hunter2
, which might be your password or something…
Example 3:
jk,:backspace:#
df,:enter:#
Reaching my right pinky over to the backspace and enter keys was cumbersome.
These chords give you a few control keys.
right index + middle fingers = backspace
left index + middle fingers = enter
Example 4:
Lastly, the long phrases from earlier:
thm,To Whom It May Concern\,:enter::enter:#
obed,I have the honor to be your obedient servant\,:enter::enter:A.Ham
Your output must be an unbroken line.
Modifiers For Chords Only
These can ONLY be part of your chord:
^
:left_control:
^:right_control:
⌥
:left_option:
⌥:right_option:
⌘
:left_command:
⌘:right_command:
_
:left_shift:
_:right_shift:
They can be useful to differentiate chords for anagrammatic words. Remember that you could also use the spacebar as part of your chord:
the,the
the:right_option:,Theodore
the ,The Space Between Us//note the space before the comma
Final Remarks
To be added.
Support The Little Guys
If you get some good use out of this program:
- buy the Karabiner peeps a nice coffee
- toss the Keyboard Maestro folks a few bucks
- check out my PayPal page
Written with StackEdit.