KeyboardKit, un framework de raccourcis clavier pour les apps iOS et Catalyst

Nicolas Furno |

KeyboardKit est un projet open-source qui permet aux développeurs d’apps iOS de créer des apps avec une bien meilleure prise en charge du clavier. De nombreux raccourcis clavier standards sont pris en charge automatiquement grâce à ce framework à intégrer aux apps. De quoi aussi, par conséquent, corriger l’une des faiblesses des apps Catalyst, ces apps pour iPad converties en apps pour macOS Catalina.

Avec le système des Mac, on avait l’habitude de toujours retrouver les mêmes raccourcis clavier, une cohérence imposée par Apple depuis des dizaines d’années. Ces raccourcis ne sont pas toujours présents dans les apps Catalyst, tout comme ils sont souvent oubliés par les développeurs sur les apps iPad. Il s’agit parfois d’un oubli de la part des développeurs qui négligent la prise en charge des claviers physiques, mais c’est souvent par manque de temps et c’est alors la faute d’Apple.

Si les apps créées pour macOS sont aussi cohérentes, c’est parce que les frameworks sous-jacents qui permettent de les créer sont très complets. Les raccourcis clavier sont présents dans toutes les apps précisément parce qu’ils sont fournis « gratuitement » par Apple. Pour prendre un seul exemple, toutes les apps qui utilisent le module éditeur de texte de Cocoa (le framework d’interface de macOS) bénéficient d’un grand nombre de raccourcis claviers pour aller à la fin de la ligne en cours (⌘→), à la fin du mot (⌥→), ou encore la fin de la page (⌘↓).

Ces raccourcis dédiés au texte ont été repris par Apple pour iOS, ce qui fait qu’on les retrouve à peu près dans toutes les apps. Malheureusement, ce n’est pas le cas des autres raccourcis clavier qui sont intégrés à AppKit depuis bien des années pour les apps macOS. Son équivalent sur iOS, UIKit, a été pensé pour les écrans tactiles et Apple n’a intégré quasiment aucun raccourcis par défaut. Ce qui veut dire que les développeurs d’apps pour l’iPad et par conséquent d’apps Catalyst pour macOS, doivent les prendre en charge eux-mêmes.

Certains y pensent dès le départ, d’autres le font petit à petit, comme pour le client Twitter qui intègre depuis quelques jours seulement les raccourcis par défaut pour naviguer rapidement dans la liste de tweets. Avec les dernières versions, vous pouvez utiliser fn↓ et fn↑ pour monter ou descendre plus rapidement, ou encore ⌘↓ et ⌘↑ pour aller tout en bas ou tout en haut de la timeline1. Des raccourcis de base, mais qui ne seront pas gérés par les apps Catalyst par défaut et que les développeurs doivent intégrer eux-mêmes.

En intégrant KeyboardKit, les développeurs bénéficient de plusieurs raccourcis clavier qui sont fournis par défaut sur macOS. Il y en a pour le texte, d’autres pour les listes (TableView et CollectionView), d’autres encore pour les vues qui défilent ou encore d’autres pour permettre de fermer une fenêtre modale avec la touche ESC. Ce framework écrit majoritairement en Swift est encore jeune, il n’est pas encore complet et il n’est proposé qu’en anglais, ce qui ne sera pas forcément gênant, puisqu’il n’y a pas beaucoup d’éléments d’interface.

Cette initiative pourrait en tout cas permettre aux développeurs d’apps iOS et Catalyst de gérer plus facilement les raccourcis clavier de base, ce qui sera naturellement bénéfique pour les utilisateurs. Le framework a été testé sous iOS 13 uniquement pour le moment, mais il devrait fonctionner jusqu’à iOS 11.


  1. Si cela ne fonctionne pas chez vous, c’est sans doute parce que l’option « Utiliser la navigation clavier pour déplacer la cible sur les différentes commandes » est cochée dans les Préférences Système, panneau Clavier et onglet « Raccourcis ».  ↩

CONNEXION UTILISATEUR