Made a free macOS menu bar app that fixes typing in the wrong keyboard layout
54 points
7 hours ago
| 15 comments
| flickey.site
| HN
nikolay
8 minutes ago
[-]
Is it just site vibe-coded or the whole thing?
reply
tal_alfi
7 hours ago
[-]
I type in two languages and very frequently I don't notice that I am on the wrong layout, so I get a full line of gibberish before I notice. Got annoyed enough to build something. It keeps the right language ready per app and per browser tab, and if you mess up you double-tap Shift and it fixes the last thing you typed. I know layout switchers aren't new. The thing I couldn't find is that it remembers the language per browser tab and per chat on Teams (I work with a mix of English and Hebrew speakers), not just per app, so it sets the right one before you start typing. And when it still gets it wrong you fix it with one shortcut instead of letting an auto-detector guess for you. It's free (pay what you want) and everything stays local, no account. Not pushing anything, I just want to know if it's useful and what's missing. I'd appreciate any feedback!! Site's here (with a demo...) : https://flickey.site
reply
PinkaDunka
3 hours ago
[-]
Thank you! I remember in my country we had the same app for DOS (before those things were called apps) and it was awesome! Forgotten how convenient that it is to not think about switching layouts.

Considering half of the time layout switch somehow does not do anything on the first press.

reply
1123581321
21 minutes ago
[-]
Clever! For bonus points, fix my typing when my hands are misaligned by one letter. :)
reply
jianfenglin
49 minutes ago
[-]
Windows system has a "Let me use a different input method for each app window" setting, and I really miss that after switching to Mac. Glad that someone finally made it. Nice website design by the way, I guess it's from some AI?
reply
indrora
3 hours ago
[-]
This is super neat for polyglots (of which I'm not one, yet) but one little thing: My partner immediately flagged that your demo (EN->HB) flips the cursor to be in the LTR position in the run rather than the RTL one.

The most minor of things, but I now can't unsee it.

reply
rekoil
4 hours ago
[-]
Awesome! Been looking for something like this for so long, thanks so much for making it!

Tried it and it seems to work for the most part, but one app where it would be really helpful to me is Ghostty.app, specifically the quick-terminal, and it seems that it doesn't currently handle that, which is unfortunate.

reply
holistio
6 hours ago
[-]
I type in 4 languages on my Mac (en/hu/de/ro) and 7 on my iPhone (+ru/cn/fr)

So I guess I'm pretty much the perfect audience here.

Every time I code I get mildly enraged by having typed é or ö instead of a semicolon.

Will definitely give this a go.

I really like the (lack of a) business model, too, I hope some people will appreciate your efforts. This was probably my favourite bit. All these small apps that somehow need to figure out an extra feature just so that they can upsell. I get it, but it's still annoying.

This ones gives off the goold old vibes of "I scratched my own itch and I'm sharing".

Appreciate it!

reply
rock_artist
6 hours ago
[-]
I wonder how dramatic it is within latin languages. as you mentioned on macOS you only use latin typesets. For those things most annoying are spelling mess ups, but I mostly use English keyboard and long press when I need to write things like papanaşi (ro) or buñuelos (es). (but I get those red dotted lines).
reply
dhosek
7 minutes ago
[-]
A lot depends on using a national keyboard. I use ABC - Extended as my default keyboard and turn off long press because I don’t like it, since I’d rather type ş with opt-c s and ñ with opt-n n (I’d say I type maybe 85% English, 14% Spanish and 1% Czech or Slovene), but some people prefer national keyboards for non-English which make diacriticalized letters more ergonomic at the expense of making some punctuation or symbols less accessible (I was just talking with my ex-wife who writes a lot more Spanish than I do about convenient/inconvenient keyboard layout changes—she uses the globe key switching which I avoid because like long press, I don’t like it, especially since I use it often as a fn key and the other functionality often get triggered by mistake until I disabled it).
reply
throw-the-towel
1 hour ago
[-]
My pet peeve with Gboard on Android is that long press does not work for Hungarian duuble-acute letters (ő and ű).
reply
dhosek
5 minutes ago
[-]
Long press on the iPhone used to (maybe still does?) omit ý on the long press for y and I think some other uncommon Czech diacriticals and I had to add a Czech keyboard to type those, but the other changes around that keyboard were really annoying and I would occasionally switch to it inadvertently causing weird autocorrect issues.
reply
holistio
4 hours ago
[-]
It takes some getting used to, e.g. ö used in both Hungarian and German is in two different places for the two languages.

I do ctrl-space a lot, but very rarely use the long press feature, mainly because depending on the active keyboard, the numbers to press are different and it hinders me from being able to type blindly.

Edit: I adore papanași.

reply
jhartikainen
5 hours ago
[-]
Interesting, I would have expected macOS to have this feature because Windows has supported window-specific keyboard layouts for what feels like forever. I don't use my Mac much nowadays, but gonna have to grab this just in case.
reply
cyberax
4 hours ago
[-]
Punto Switcher for the new era!

It works well for EN->RU, but not really for EN->CN (or RU->CN).

reply
Scoundreller
6 hours ago
[-]
Yeah I want this.

I acquired a keyboard for a language I’m learning and was disappointed that I couldn’t physically switch my hands between keyboards to use the other’s layout. I thought the computer would be smarter, mais non.

reply
netsharc
6 hours ago
[-]
Huh, an idea would be physical buttons that a program listens to, and when you hit the key, the program sends a message to the OS to switch the keyboard layout to a particular one. So an Elgato Stream Deck or Razer Stream Controller.

So you'd have a button for each keyboard layout, and you'd just have to form the habit of smashing the key for e.g. Russian before typing a message in Russian.

For a more complicated solution, I suppose it'd be possible to detect which USB device sent a signal, and use this to detect which keyboard you're using. Maybe there'd need to be a workaround, like hitting Caps Lock on and off so the app has time to react and change the OS keyboard layout, before you type.

reply
notpushkin
1 hour ago
[-]
I’ve mapped Caps Lock to EN and Shift + Caps Lock to RU. Really stopped thinking about “what keyboard layout is on rn”, just subconsciously press Caps every time I start typing something in English. Pretty easy to replicate with Karabiner on macOS (and on Linux it’s supported out of the box).

If you really want a dedicated keyboard though yeah, would be a bit harder but might be possible to do something with Karabiner as well. The device_if condition might work here: https://karabiner-elements.pqrs.org/docs/json/complex-modifi...

Edit: this might work but I haven’t tried:

    {
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "any": "key_code",
            "modifiers": { "optional": ["any"] }
          },
          "to": [
            { "select_input_source": { "language": "^ja$" } },
            { "from_event": true }
          ],
          "conditions": [
            {
              "type": "device_if",
              "identifiers": [{ "vendor_id": 1111, "product_id": 2222 }]
            }
          ]
        }
      ]
    }
reply
Deathmax
3 hours ago
[-]
autokbisw solved the per-physical keyboard layout problem for me, switching between the Macbook's layout, a US keyboard, and a UK keyboard.
reply
josefrichter
5 hours ago
[-]
Haha always wanted this, happens to me all the time. Apple Intelligence should be doing this automatically one day.
reply
fortran77
1 hour ago
[-]
Wow! I didn't think anyone on the mac cared about this. It was one of many annoyances that keeps me off that platform.

On Windows, there's a setting under "Advanced keyboard settings” called “Let me use a different input method for each app window.”

I can keep this turned on and if I'm writing a document in Word in עברית and I have my broswer open in English, I can switch back and forth and not have to hit WIN+SPACE to swap lanaguages.

reply
yreg
3 hours ago
[-]
Oh, this is a great idea! I've never realised that the keyboard layout I want correlates with the active app quite a lot!

Can we get per-team Slack support?

And an option to set the layout for all the Xcode versions, including the ones that will be installed in the future (using https://xcodes.app/)

Also, it doesn't seem to work with iTerm2 for me.

reply
bellowsgulch
5 hours ago
[-]
Generally speaking, it feels like there just aren't enough features for multilingual users on any major operating system. Fast virtual keyboard switching is nice on iOS, but basically everywhere else, it's hard as a bi- or trilingual user.

So many times do I want live subtitles in multiple languages, at least two, simultaneously. Or vision capabilities to view something without translating a whole block of a UI or a webpage so I can read through missing intermediate to advanced vocabulary or typically native turns of phrase.

Language support basically everywhere feels like it's implemented by Americans who can't speak anything else besides English, and look at products as things that only monolingual users use.

Single-layout physical keyboards, etc.

reply
klausa
55 minutes ago
[-]
>So many times do I want live subtitles in multiple languages, at least two, simultaneously.

I'm curious, what's your use-case for this?

reply
_-_-__-_-_-
6 hours ago
[-]
This seems like a giant security issue.
reply
Dig1t
5 minutes ago
[-]
I mean yeah it is basically a keylogger, it's closed source, and it was made by a guy in Israel. I would not install it on my machine.
reply
applfanboysbgon
55 minutes ago
[-]
Don't give it internet access if you're worried about keylogging. Seems like a complete non-issue if you take any responsibility for your own security at all.
reply
yreg
3 hours ago
[-]
Just like any other app asking for accessibility permissions, no?
reply