Repository
https://github.com/quole/sendemtiny
New Project
send em tiny is a Windows utility to make it easy to configure keyboards and mice from many vendors—including Razer, Logitech, and Corsair—using their own configuration tools, so that they can output a Unicode character on a key/button press.
send em tiny is designed to work with mouse/keyboard config utilities to add the ability to send a Unicode character from a key or button press.
Motivation/background: It was too difficult to configure my mouse to send an emdash (—), and when it did, it did a poor job. The mouse/keyboard configuration tool from a hardware vendor typically allows you to customize macro keys/buttons, but they make it overly difficult to have a simple Unicode character assignment. For example, em dash "—" or an emoji tiger "🐯" cannot simply be assigned to a macro key/button in Razer Synapse (nor in Logitech SetPoint). You can't paste the Unicode character or emoji anywhere and you can't enter the Unicode hexcode.
So I made this tiny program to send an emdash which my mouse drive utility could launch when a button was pressed. But then there was the question of how to generalize it, so I wouldn't have to create another application for every single Unicode character (command line parameters aren't an option), so the idea of renaming the executable file itself came to mind.
Quick guide
When send em tiny is run (launched) by your keyboard or mouse driver, it searches its own filename for a capital U followed by a Unicode hex code, sends that character as if it was typed by a keyboard, and then exits. Text before the 'U' is ignored.
Technology Stack
Written in C# using .NET (4.6).
Roadmap
A larger version is planned (send em... full? name suggestions welcome), and will also be open source:
- Longer text (not just a single character)
- Different ways of entering Unicode including literal text
- Menus (select Unicode or an Emoji from a menu)
- Timing settings (e.g. milliseconds between virtual keystrokes)
License
MIT (open source)
How to contribute?
Contribute via github, let me know how it works with your specific mouse or keyboard driver/utility, or find some other way to motivate me to work on this. I hope it's useful. A large part of the work of developing this has been creating documentation and information such as this post and the github readme.