Repository
https://github.com/quole/sendemtiny

Previous post: https://steemit.com/utopian-io/@quoll/send-em-tiny-exe-rename-me-to-choose-which-unicode-character-to-send (creation of project)
send em tiny extends mouse and keyboard drivers to allow you to send a Unicode character where that option was not previously available.
Note / before you ask: Razer Synapse 2 does not allow sending of parameters to an executable, so the sendemtiny.exe file must be renamed in order to change its behavior. Sending parameters to an executable is simply not an option. There must be multiple executables to allow multiple target behaviors. To create multiple behaviors, the user can duplicate the executable file. The file is under 20kb. Additionally, Logitech SetPoint, Asus Strix Software and probably others do not allow setting of parameters for executable targets. It is not an option.
New Features
I have now extended send em tiny to allow a number of other functions:
- multiple literal codes now supported. For example, rename
sendemtiny.exetoan emoji pirate flag U+1F3F4 U+200D U+2620 U+FE0F.exeNote: the text before the first code or keyword ("an emoji pirate flag") is ignored and serves only as a comment. This Unicode sequence is via Unicode's Recommended Emoji ZWJ Sequences. This example sends "🏴☠️", which may display as one emoji or two depending on your platform. - web entities:
right arrow →.exesends a "→" (the text "right arrow" is treated as a comment and ignored) - new
saycommand for a longer string:say ⊂(◉‿◉)つ.exeorsay Dear Sir/Madam,.exe - new
typecommand to send the text found in a text file in the same directory. For example,type greeting.txt.exewill send the contents ofgreeting.txt. Note: As a security precaution, this will not allow typing of files in a higher directory. - pauses (new). For example:
thinking U+1F914 850ms U+1F4A1.exewill send "🤔" then pause for 0.85s, then send "💡". Milliseconds and seconds are supported with ms and s . While pauses can be inserted before, after or between "literal codes", currently they can only be placed beforesayandtypecommands.
Kept and renamed the original: send em micro
I wanted to keep the simplicity of the original, delibrately minimal program which was only around 5kb and had a very simple parser. Most lines of code also had a comment to help anyone check the code being run in these security conscious times. It also relied on few external libraries. So I have kept this version largely unchanged, as a separate project in the same repository. It is now called send em micro (sendemmicro.exe). I've complicated it slightly to make its parsing more flexible. It now allows an optional "plus" symbol. For example: U2014.exe and U+2014.exe are both supported now. (The 'U' must be capital).
If only a single Unicode character needs to be sent, then sendemmicro.exe gives optimal speed, security and simplicity.
Future plans
- a more complex command parser which allows combining of actions and input types
- more commands: paste text; send keystrokes (for example: separate key up and key down events)
- a menu option to select from multiple commands or Unicode characters
Source code
Since I've restructured the project, simple diffs are difficult to generate. The main is still in a single file:
- send em tiny (new): https://github.com/quole/sendemtiny/blob/master/src/Program.cs
- send em micro (new): https://github.com/quole/sendemtiny/blob/master/src-micro/SendEmMicro.cs
- previous version (for comparison) which split into the above two: https://github.com/quole/sendemtiny/blob/227075d1bd6565145e2a75679b0bda4653801196/Program.cs
License
- MIT (open source)