2 Punkte von unstabler 4 시간 전 | Noch keine Kommentare. | Auf WhatsApp teilen

Screenshot (Twitter / X)

Ich entwickle gerade eine Remote-Control-App für macOS. Auf Basis des dabei gewonnenen Know-hows habe ich eine App namens „Sejong98“ gebaut, die dabei hilft, mit der rechten Option-/Command-Taste zwischen Koreanisch und Englisch zu wechseln.

Funktionen

  • Den folgenden Tasten können die Aktionen „Koreanisch/Englisch umschalten“, „zu koreanischer Eingabe wechseln“ und „zu englischer Eingabe wechseln“ zugewiesen werden.

    • rechte Command-Taste
    • rechte Option-Taste
    • Shift + Space
  • Funktion für Vim-Nutzer: Beim Drücken der Escape-Taste wird zur englischen Eingabe gewechselt.

Warum war ein Wechsel zwischen Koreanisch und Englisch bisher über Programme nicht möglich? / Und wie löst diese App das Problem?

macOS kann die Eingabesprache über die API-Familie TISSelectInputSource() umschalten, die vom Framework HIToolbox bereitgestellt wird.

Diese APIs gehören jedoch eigentlich zu den Carbon-APIs aus der Zeit des klassischen Mac OS. Da sie offenbar nicht mehr gepflegt werden, funktioniert das Umschalten auf Koreanisch/Chinesisch/Japanisch beim Aufruf dieser APIs nahezu zufällig. Mal wird koreanische Eingabe aktiviert, mal englische Eingabe, und so weiter.

Es wurde jedoch bestätigt, dass nach dem API-Aufruf der Wechsel zur koreanischen Eingabe immer korrekt erfolgt, wenn man kurz in eine andere App wechselt und dann zurückkehrt. Sejong98 nutzt (bzw. missbraucht) genau diesen Punkt, um das Problem so weit wie möglich zu umgehen.

In Sejong98 wird ein unsichtbares leeres 1x1-Fenster angelegt. Wenn die rechte Command-Taste gedrückt wird, springt die App so schnell wie möglich zu diesem leeren Fenster und kehrt dann zur ursprünglichen App zurück. Dadurch flackert der Fensterrahmen zwar kurz, aber der Wechsel zwischen Koreanisch und Englisch gelingt zuverlässig.

Noch keine Kommentare.

Noch keine Kommentare.