Remix.run Logo
Made a free macOS menu bar app that fixes typing in the wrong keyboard layout(flickey.site)
45 points by tal_alfi 7 hours ago | 20 comments
tal_alfi 7 hours ago | parent | next [-]

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

PinkaDunka 3 hours ago | parent [-]

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.

indrora 2 hours ago | parent | prev | next [-]

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.

rekoil 4 hours ago | parent | prev | next [-]

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.

holistio 6 hours ago | parent | prev | next [-]

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!

rock_artist 6 hours ago | parent [-]

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).

throw-the-towel 32 minutes ago | parent | next [-]

My pet peeve with Gboard on Android is that long press does not work for Hungarian duuble-acute letters (ő and ű).

holistio 4 hours ago | parent | prev [-]

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.

jhartikainen 4 hours ago | parent | prev | next [-]

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.

cyberax 3 hours ago | parent | prev | next [-]

Punto Switcher for the new era!

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

fortran77 37 minutes ago | parent | prev | next [-]

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.

Scoundreller 6 hours ago | parent | prev | next [-]

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.

netsharc 5 hours ago | parent | next [-]

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.

notpushkin an hour ago | parent [-]

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 }]
            }
          ]
        }
      ]
    }
Deathmax 3 hours ago | parent | prev [-]

autokbisw solved the per-physical keyboard layout problem for me, switching between the Macbook's layout, a US keyboard, and a UK keyboard.

josefrichter 4 hours ago | parent | prev | next [-]

Haha always wanted this, happens to me all the time. Apple Intelligence should be doing this automatically one day.

yreg 3 hours ago | parent | prev | next [-]

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.

bellowsgulch 4 hours ago | parent | prev | next [-]

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.

_-_-__-_-_- 5 hours ago | parent | prev [-]

This seems like a giant security issue.

yreg 3 hours ago | parent [-]

Just like any other app asking for accessibility permissions, no?