2 points par unstabler 4 시간 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Capture d’écran (Twitter / X)

Je développe une app de contrôle à distance pour macOS, et en m’appuyant sur le savoir-faire acquis à cette occasion, j’ai créé une app appelée 'Sejong98' qui permet de basculer entre coréen et anglais avec la touche Option / Command de droite.

Fonctionnalités

  • Vous pouvez attribuer les actions « basculer coréen/anglais », « passer à la saisie en coréen » et « passer à la saisie en anglais » aux touches ci-dessous.

    • Command de droite
    • Option de droite
    • Shift + Space
  • Fonction pour les utilisateurs de Vim : lorsqu’on appuie sur la touche Escape, la saisie bascule en anglais.

Pourquoi était-il jusqu’à présent impossible de basculer coréen/anglais via des programmes ? / Et comment cette app a-t-elle résolu ce problème ?

macOS permet de changer de langue de saisie via les API de la famille TISSelectInputSource() fournies par le framework HIToolbox.

Cependant, ces API appartiennent en réalité aux API Carbon de l’époque du Mac OS classique et, comme elles ne semblent plus être maintenues aujourd’hui, leur appel rend le changement de langue vers le coréen, le chinois ou le japonais presque aléatoire. Parfois la saisie passe en coréen, parfois en anglais, etc.

Mais il a été confirmé qu’après l’appel de l’API, si l’on passe dans une autre app puis qu’on revient, le basculement vers la saisie en coréen est toujours correctement garanti. Sejong98 exploite (abuse de) ce comportement pour contourner au maximum le problème.

Dans Sejong98, une fenêtre vide invisible de 1x1 est créée, et lorsque la touche Command de droite est enfoncée, l’app bascule aussi vite que possible vers cette fenêtre vide avant de revenir à l’app d’origine. De cette manière, la bordure de la fenêtre clignote brièvement, mais le basculement coréen/anglais réussit à tous les coups.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.