Modifiqué el script de Arnaud Weil para que funcione con mi configuración. Es la primera vez que uso AutoHotKey.
Mi monitor #1 tiene coordenadas Y negativas, mientras que el #2 tiene positivas. Así que estoy revisando MouseY en lugar de MouseX. Utilicé la función de depuración en AutoHotKey para determinar las coordenadas cerca del centro de cada pantalla, y simplemente las codifiqué en el script.
Así es como se ve mi configuración de monitor:
Aquí está el código. Mis variables "what" y "huh" eran principalmente para averiguar qué rama del if
se ejecutaba en la salida de depuración. Cualquiera que tuviera un valor, esa era la rama en la que me encontraba.
^Space::
CoordMode, Mouse, Screen ; coordenadas del mouse relativas a la pantalla
MouseGetPos, MouseX, MouseY
if (MouseY > 0) { ; Mouse está en el monitor #2
;what = %A_ScreenWidth%
;ListVars ; descomentar para depurar
;Pause ; descomentar para depurar
MouseMove, -1071, -753, 0
} else { ; Mouse está en el monitor #1
;huh = %A_ScreenWidth%
;ListVars ; descomentar para depurar
;Pause ; descomentar para depurar
MouseMove, 1286, 670, 0
}
return
Esto podría mejorarse para utilizar una forma más general de determinar en qué pantalla está el mouse y para determinar programáticamente las coordenadas centrales de cada pantalla. Pero esto funciona para mí.
EDIT: Para el nuevo usuario adams, que me envió un mensaje en una respuesta a continuación, he sugerido en los comentarios que escriba una nueva pregunta. (y por favor vota si esto te ayuda, o haz una nueva pregunta)
Él pregunta qué hacer con 3 pantallas. En mi código, simplemente pregunto "¿Estoy en la pantalla 1?" y luego, si es así, muevo el mouse al centro de la pantalla 2, de lo contrario, lo muevo al centro de la pantalla 1. Eso no funcionará con 3 pantallas.
Para él, la sección de if
probablemente se verá más o menos así:
if (MouseY > 0 and MouseY <= 1920) { ; asumiendo que el Monitor 1 tiene 1920 píxeles de ancho
MouseMove, 2880, 540, 0 ; mover al centro del Monitor 2, pantalla central
} else if (MouseY > 1920 o MouseY <= 3840 ) { ; Mouse está en el monitor #2
MouseMove, 4800, 540, 0 ; mover al centro del monitor 3
} else { ; Mouse está en el monitor #3
MouseMove, 960, 540 ; mover el mouse al centro del monitor 1
}
Mi código anterior asume que tu monitor más a la izquierda comienza en 0, 0. Pero, en mi caso, mi monitor izquierdo tiene coordenadas negativas mientras que mi derecho tiene positivas. Es posible que tengas una situación similar. El código de depuración que tengo en mi primer fragmento de código es lo que utilicé para determinar las coordenadas en mi configuración.
1 votos
No de forma nativa, pero hay software que puede hacerlo. ¿Has considerado aumentar la velocidad de tu ratón, también conocida como sensibilidad? Puedo hacer un barrido y mover el cursor desde la esquina inferior izquierda de mi monitor izquierdo hasta la esquina superior derecha de mi monitor derecho en un espacio de escritorio de 3140x1200. Mi mano se mueve aproximadamente 10~15 cm en la alfombrilla del ratón. Mediante el uso de la aceleración del ratón, puedo mover pequeñas distancias simplemente moviendo el ratón lentamente.
0 votos
Gracias @LPChip, aumentar la velocidad del mouse ayuda, aunque todavía está la barrera de pasar por la esquina derecha del borde.
1 votos
Posible duplicado de Atajo de teclado de Windows para mover el cursor del mouse entre dos pantallas
0 votos
Un duplicado muy cercano de hecho, excepto que la otra pregunta está abierta a programas externos. Prefiero usar un acceso directo nativo de Windows para que funcione en cualquier máquina a la que llegue.
1 votos
@ArnaudWeil para las esquinas, es posible que quieras reposicionar tus monitores en Windows para eliminar una de las dos esquinas. De esta manera puedes evitar que se ajuste automáticamente en al menos una de las dos esquinas. Es probable que también quieras cambiar la altura real de tus monitores para corregir el desplazamiento, pero nunca encontré una situación en la que esto no resolviera mis problemas, porque a menudo solo es la esquina superior la que presenta problemas, no la inferior.
0 votos
Gracias @LPChip Ya jugué con la reposición de los monitores en los parámetros de Windows, pero estaba buscando una forma aún más eficiente.
1 votos
Honestamente, en realidad tengo un programa en mi computadora que me permite hacer lo que me pides (aunque no es gratuito) pero nunca lo uso porque me toma mucho más tiempo mover mis manos al teclado para presionar los botones, que simplemente empujar mi ratón con fuerza para colocar el cursor exactamente donde quiero que vaya. No olvides que después de que muevas el ratón a otro cursor, aún tendrás que mover el cursor un poco más, así que deberás agarrar el ratón de nuevo.
0 votos
Estás haciendo un buen punto allí.