¿Cómo eliminar idiomas poco utilizados de las teclas de acceso rápido para cambiar de idioma?

¿Cómo eliminar idiomas poco utilizados de las teclas de acceso rápido para cambiar de idioma?

Escribo en los siguientes 3 idiomas:

Idioma A - 55% del tiempo

Idioma B - 40% del tiempo

Idioma C - 5% del tiempo

La solución habitual sería tener los tres idiomas instalados y usar Ctrl/Alt-Shift, sin embargo, es bastante molesto tener que cambiar el idioma C cada vez que cambio entre A y B.

¿Existe algún tipo de solución que me permita evitar que Windows cambie al idioma C cuando presiono Ctrl/Alt-Shift? Luego podría agregar una tecla de acceso rápido separada para cambiar al Idioma C.

Estoy usando Windows 7 SP1.

Gracias.

Respuesta1

puedes crearAutoitscript para "omitir" el idioma "C" al cambiar el idioma del teclado.

Después de la instalaciónAutoityEditor. Haga clic derecho en escritorio->Nuevo->Autoit Script. Haga clic derecho en este archivo creado->Editar. Ahora debería ver la ventana ScITE y después de la línea "Agregue su código a continuación aquí", agregue este código:

#include <WinAPISys.au3>
ClipPut(_WinAPI_GetKeyboardLayout(ControlGetHandle("[ACTIVE]","","")))

Presione SHIFT+ALT (o qué teclas de acceso rápido registradas para cambiar el idioma del teclado) hasta que su idioma actual sea "C" (si el nombre del idioma del teclado no aparece en la barra de tareas, presione Win+R ->> CTFMON.EXE ->> Enter) y luego en En la ventana ScITE, presione Herramientas->Ir. Ahora en su portapapeles Código de idioma "C". Pega (CTRL+V) y guárdalo en algún lugar.

Elimina el código anterior y pega este:

#incluir <WindowsConstants.au3>
#incluir <WinAPISys.au3>
#incluir <String.au3>
#NoTrayIcon
$skiplang="0x04090409"; omitir este idioma al cambiar de idioma
$lista=_WinAPI_GetKeyboardLayoutList ( )

$fakeforwardlang=""
Si IsArray($lista) Entonces
    si $lista[0]<3 entonces Salir; tu papa
    Para $i = 1 a $lista[0]
        si $list[$i]=$skiplang Entonces;buscar el siguiente idioma
            si $i=$lista[0] entonces
                $fakeforwardlang=$lista[1]
                Bucle de salida
            Terminara si
            $fakeforwardlang=$lista[$i+1]
            Bucle de salida
        Terminara si
    Próximo
Demás
    Salida
Terminara si
$fakeforwardlang=StringMid($fakeforwardlang,1,6)
mientras 1
$handle=ControlGetHandle("[ACTIVO]","","")
si getcurkb($handle)=$skiplang entonces _WinAPI_SetKeyboardLayout($handle, $fakeforwardlang)
Dormir(100)
encaminarse a
Función getcurkb($manejar)
    Devolver _WinAPI_GetKeyboardLayout ($handle)
Función final

Para el siguiente paso es necesario reemplazar el código de idioma "C" guardado con0x04090409en este script (5 líneas).

Luego, en la ventana de SciTE, presione Herramientas->Construir. Ahora obtendrá el ejecutable en el mismo directorio donde estaba el script Autoit. Ejecute este ejecutable (.exe).

Necesita usar el administrador de tareas para finalizar el proceso si desea detener el script.

Funciona en Windows 7 con 3 idiomas de teclado y UAC deshabilitado.

Actualizar:

Me equivoco. _WinAPI_SetKeyboardLayout Forward funciona solo a veces. El envío estándar tiene muchos errores cuando se presiona la tecla {abajo}. Solución actual basada en función externa. Pero hay un problema con esta función: es necesario dejar de presionar Mayús y Alt para cambiar al siguiente idioma del teclado. Debería volver a verificar el código más tarde.

Actualización 2:

Volver a _WinAPI_SetKeyboardLayout pero usando reenvío falso. No puedo encontrar ningún problema ahora.

Respuesta2

Tengo la misma situación y configuro diferentes teclas de acceso rápido para cada idioma, por ejemplo:

  • Ctrl+ Shift+ 1para el idioma A,
  • Ctrl+ Shift+ 2para el idioma B,
  • Ctrl+ Shift+ 3para lenguaje C

Eso permite cambiar al idioma deseado con solo presionar una tecla. Esto se puede configurar en Panel de control\Todos los elementos del Panel de control\Idioma\Configuración avanzada\Cambiar teclas de acceso rápido de la barra de idioma (es la ruta desde Windows 10, en Windows 7 puede ser diferente, pero algo similar). El cuadro de diálogo se ve así:Cambiar secuencia de teclas

información relacionada