À propos du projet

RemapOS est un outil de traduction d'entrées conçu pour les environnements Android sur ordinateur de bureau, tels que le sous-système Windows pour Android, les distributions Android-x86 et le conteneur Android de ChromeOS. Son objectif est de permettre à un clavier et une souris physiques de piloter des applications conçues pour le tactile, sans nécessiter d'accès root ni de modifications du noyau. Fonctionnement, tel que décrit par le projet : - Inférence d'intention : au lieu de lier des touches à des coordonnées d'écran fixes, il inspecte la hiérarchie des vues et l'arbre d'accessibilité de l'application pour déterminer l'action tactile appropriée dans le contexte actuel. - Synthèse de gestes : les pressions de touches discrètes et les mouvements de souris sont convertis en gestes tactiles continus tels que des balayages, des appuis longs et des interactions multi-doigts, avec des courbes d'interpolation et d'accélération. - Mémoire de contexte de session : chaque application conserve son propre profil, de sorte que les mêmes touches peuvent signifier des choses différentes dans un jeu par rapport à une application de productivité. - Routage des événements : les événements tactiles sont injectés via le sous-système d'entrée Android en utilisant la permission SYSTEM_ALERT_WINDOW, le projet affirmant une latence inférieure à la milliseconde. Les caractéristiques notables listées dans le README incluent un mappage de coordonnées dynamique qui s'adapte aux changements de mise en page de l'interface, la gestion simultanée des entrées clavier, souris, manette et écran tactile, des profils de base héritables pour les catégories d'applications, une superposition de retour visuel configurable, un enregistreur de gestes personnalisé, la prise en charge des lecteurs d'écran et des contrastes élevés, et un enregistreur de macros pour rejouer des séquences tactiles. Les chiffres techniques annoncés incluent une latence moyenne d'entrée inférieure à 5 ms, une empreinte mémoire de base de 18 Mo (40 Mo avec la superposition active), des profils illimités avec sauvegarde cloud optionnelle, et une prise en charge de l'interface pour 27 langues. Le README liste également des cas d'utilisation exemples : visée à la souris dans les jeux de tir mobiles, navigation au clavier dans les applications de tableur mobiles, et raccourcis clavier pour les applications de streaming (lecture/pause, avance rapide, volume, plein écran). Confidentialité et autorisations : le projet indique qu'il fonctionne localement, demande SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE et éventuellement INTERNET pour la synchronisation des profils, et chiffre les données des profils avec AES-256-GCM et SQLCipher. Un tableau de compatibilité liste un support complet pour WSA, Android-x86 et ChromeOS, un support partiel pour les émulateurs tiers tels que BlueStacks et LDPlayer, et un support complet pour les émulateurs Android autonomes. Distribution et licence : le README décrit un exécutable portable unique avec un assistant de configuration au premier lancement, des profils partagés par la communauté, et une licence MIT. Il inclut également un avertissement indiquant que les conditions d'utilisation de certaines applications peuvent interdire l'entrée automatisée ou les méthodes d'entrée alternatives, et que les utilisateurs sont responsables de leur conformité. Notez que le README fait des affirmations fortes sur les performances et les capacités qui ne sont pas vérifiées de manière indépendante ici.