2 votes

Comment puis-je mapper les touches du clavier sur les axes de la souris dans le terminal?

Comment puis-je mapper les axes de la souris sur les touches de mon clavier dans le Terminal Mac OSX 10.6 ? Par exemple, déplacer la souris vers le haut (x positif) déclenche une pression sur la touche W. Est-ce intégré, ou ai-je besoin d'un logiciel supplémentaire ? Les seuls résultats de recherche que j'ai trouvés étaient pour mouse-driver, que je n'ai pas sur mon système.

1voto

Vous pourriez également utiliser KeyRemap4MacBook.

Vous pouvez attribuer d'autres touches aux actions de la souris en créant un private.xml. Le dossier de test contient un fichier XML avec toutes les remappages prédéfinies.

0voto

Il y a Divvy, et SizeUp, et Flexiglass - ils ne font pas exactement ce que vous recherchez, mais ils offrent un contrôle plus flexible du clavier sur la gestion des fenêtres. Ils valent probablement tous la peine d'être regardés.

http://mizage.com/divvy/

http://www.irradiatedsoftware.com/sizeup/

http://www.nulana.com/flexiglass

Bonne chance!

0voto

En tant que solution de contournement, vous pourriez écrire un outil en ligne de commande pour déplacer le curseur de la souris, puis utiliser les options de liaison de touches programmables de votre shell pour exécuter cet outil en ligne de commande lorsque une séquence de touches spécifiée est saisie.

/*

Fichier: 
mvright.m

Compiler avec: 
gcc -Wall -Wextra -framework ApplicationServices -framework Foundation -o mvright mvright.m

Compilé avec succès sur:
Mac OS X 10.6.8

Utilisation:
./mvright
# dans .bashrc; appuyez sur les touches ctrl-h pour déplacer le curseur de la souris vers la droite
bind -x '"\C-h": /usr/local/bin/mvright'  

Références:

- "Contrôler la souris depuis Python dans OS X",
  http://stackoverflow.com/questions/281133/controlling-the-mouse-from-python-in-os-x, 
  http://synergy-foss.org 
- "Déplacer et cliquer la souris via du code", 
  http://hints.macworld.com/article.php?story=2008051406323031

*/ 

#import 
#import 

int main(void) {

   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

   // Obtenir l'emplacement actuel de la souris
   CGEventRef ourEvent = CGEventCreate(NULL);
   CGPoint ourLoc = CGEventGetLocation(ourEvent);

   //NSLog(@"Emplacement? x= %f, y = %f", (float)ourLoc.x, (float)ourLoc.y);

   // La structure de données CGPoint représente un point dans un système de coordonnées bidimensionnel
   // Ici, la distance X et Y depuis le coin supérieur gauche, en pixels.
   CGPoint pt;
   pt.x = (float)ourLoc.x + 10.0;
   pt.y = (float)ourLoc.y;

   //NSLog(@"Emplacement? x= %f, y = %f", (float)pt.x, (float)pt.y);

   CGEventRef eventRef;
   eventRef = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, pt, kCGMouseButtonCenter);

   // Apparemment, un bug dans xcode nécessite la ligne suivante
   //CGEventSetType(eventRef, kCGEventMouseMoved);

   CGEventPost(kCGSessionEventTap, eventRef);
   //CGEventPost(kCGHIDEventTap, eventRef);

   CFRelease(eventRef);
   CFRelease(ourEvent);

   [pool release];
   return 0;

}

0voto

Pour recevoir des événements de souris dans Terminal.app, jetez un œil à des outils tels que MouseTerm, USBOverdrive ou ControllerMate!

Si vous préférez utiliser un outil en ligne de commande, consultez également altermouse.c (... éventuellement prolongé en utilisant AppleScript).

Pour quelques outils X11, consultez xdotool et xautomation (le premier étant disponible via MacPorts).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X