Friday, 4 April 2014

SymWin ♠: A Little Tool for Typing Symbols

on Windows

This post is about a little tool that looks like this:

As I have recently moved to Sweden and decided to finally learn myself some Swedish I quickly ran into the problem that typing foreign characters on a Windows keyboard can be a pain. Windows provides some ways to do this:
  1. Use alt-keycodes
    You need to remember a specific alt-keycode, and even if you do you need to actually have a num-pad on your keyboard (I'm using an Apple wireless keyboard).
  2. Use character map
    First you have to find a character, which is not necessarily easy, then you have to copy-paste it. No go.
  3. Switch keyboards
    Again unworkable. If I'm chatting in Skype, say, I want to be able to talk Swedish to some people but English to others. Plus I'm using the Dvorak keyboard layout, and I generally just don't want to switch these all the time.
So I hacked up my own tool inspired by Apple's iOS and OS X, which I've (very originally) called SymWin. You can find it here on GitHub: https://github.com/mjvh80/SymWin. Note that currently you need to build it yourself (there is a script to do this, however).

When typing you can now use the CAPSLOCK key to enter symbols. I've chosen this key as an initial option because I never use it anyway and most other shortcuts on Windows are already used for something else. Further, SymWin can be temporarily disabled by clicking the tasktray icon, after which the CAPSLOCK key works again as it always did.

It is also possible to configure your own symbols, e.g. by copy pasting them from http://copypastecharacter.com/all-characters into SymWin's configuration window:

SymWin uses a Win32 API to detect the location of the caret in any application, however, not all applications make use of the Win32 API. For example Google Chrome or Mozilla Firefox do not (depending on which version you have). In this case I'll display the symbol choice in the center of your currently active screen.

If you find bugs or issues please report them on my GitHub page, or open a pull request for new features or bug fixes.

Download: I've added a "release" to GitHub from where you can download pre-built binaries (provided as-is).

 

No comments:

Post a Comment