2012-12-05 4 views
1

Je crée un système qui utilise plusieurs curseurs (pointeurs) dans plusieurs sessions. Mon ordinateur a plusieurs cartes vidéo pour contrôler différents moniteurs. Je veux avoir un curseur différent sur chaque écran et contrôler chacun. Chaque moniteur est une session différente.Contrôle de plusieurs pointeurs avec Xlib ou xinput dans ubuntu/linux

je commencé à utiliser la bibliothèque de xlib en C pour contrôler le curseur unique je l'aide de la commande suivante:

XWarpPointer(display,None,window,0,0,0,0,x,y); 

Cela fonctionne parfaitement pour un curseur. Puis j'ai créé un deuxième curseur en utilisant xinput dans le terminal:

>>xinput create-master second 

puis j'ai deux curseurs à l'écran. Je peux aller et le contrôle chacune d'une souris distincte à l'aide de la commande Reattach:

>>xinput reattach MOUSEID POINTERID 

La dernière étape consiste à contrôler chaque curseur séparément en utilisant xlib. Lorsque j'utilise la commande xWarpPointer, il ne fait que déplacer le curseur d'origine et je n'arrive pas à trouver le moyen de désigner le curseur à contrôler. J'ai également été incapable de trouver un moyen de définir le pointeur par défaut. Vous pouvez voir une liste de tous les pointeurs en utilisant "xinput list" dans le terminal. Est-ce que quelqu'un sait comment je peux

Merci pour l'aide!

Répondre

1

Vous devez utiliser XIWarpPointer demande de l'extension XInput2, il faut compter DEVICEID comme paramètre

Bool  XIWarpPointer(
     Display*   display, 
     int     deviceid, 
     Window    src_win, 
     Window    dst_win, 
     double    src_x, 
     double    src_y, 
     unsigned int  src_width, 
     unsigned int  src_height, 
     double    dst_x, 
     double    dst_y 
    ); 
+0

Merci! Cela fonctionne parfaitement. Maintenant, il y a un autre problème. Lorsque je déplace le curseur sur la xsession souhaitée, il n'actualise pas l'affichage en arrière-plan. Je finis par faire tourner tout l'écran en blanc. Voici un long à nouveau sujet. http://stackoverflow.com/questions/13733239/second-cursor-is-not-triggering-a-screen-refresh – amustafa