Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add language switching utility function #28

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

LBBO
Copy link

@LBBO LBBO commented Jun 13, 2024

First of all, thanks for this amazing project! It's been really helpful to me and so the least I can do is offer any improvements that I come up with.

Currently, with default keyboard shortcuts, switching input sources is done by rotating through them with the fn key (similar to rotating through the last used apps with Cmd + Tab). This PR adds a switchToLanguage utility function (similar to open) that allows one to assign other shortcuts for specific languages. For example, this would enable the following rules.ts:

import { KarabinerRules } from './types'
import { createHyperSubLayers, switchToLanguage } from './utils'

const rules: KarabinerRules[] = [
  ...createHyperSubLayers({
    // l = "Language"
    l: {
      e: switchToLanguage('en'),
      d: switchToLanguage('de'),
    },
  }),
]

This PR also serves as a workaround for another issue that I have with this setup, where the fn key instantly triggers a language switch (even when used e.g. to change the volume). This allows me to disable the fn language switching, thereby getting rid of that issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant