¿Puedo hacer que Ctrl + Alt NO actúe como AltGr en Windows?

33

Muchas aplicaciones como Google Docs usan atajos Ctrl+ Altcomo Ctrl+ Alt+ 2para el encabezado 2, Ctrl+ Alt+ mpara comentarios, etc. Sin embargo, en el caso de los diseños de teclados internacionales, se asigna Ctrl+ , por lo que muchos de estos atajos producen caracteres especiales, por ejemplo, + + = @. Por lo tanto, estos atajos no se pueden usar.AltAltGrCtrlAlt2

¿Hay alguna forma de deshabilitar este Ctrl+ Alt= AltGr, de modo que AltGr+ 2= @ pero Ctrl+ Alt+ 2se pueda usar como acceso directo?


Ha habido alguna publicación anterior con respuestas relacionadas con este problema:

Sin embargo, ambas soluciones están relacionadas con desasignar completamente el carácter especial. Estas soluciones no deshabilitan el enlace Ctrl+ Alt= AltGr. Esto significa que para usar Ctrl+ Alt+ 2como acceso directo, no puedo escribir @ en absoluto, lo que naturalmente no es una opción.

Bittenus
fuente
3
¿Probaste AutoHotKey
Dave
¿Alguna vez hiciste el guión? Si es así, ¿podrías compartirlo?
Zackh105

Respuestas:

17

He investigado más y he visto las otras respuestas. Parece que la respuesta corta es: ¡No! Windows trata Ctrl + Alt e AltGr idénticamente .

Pero hay un hack. Esencialmente, no dejamos que Windows maneje AltGrlas combinaciones de teclas y en su lugar utilizamos una herramienta de terceros que conoce la diferencia. Hacemos esto manualmente para cada tecla de inicio.

Este truco no funciona con " claves muertas " como ~o ^.

.

Parte 1: deje que AutoHotKey convierta AltGr+ Some Key en símbolos
AutoHotKey puede distinguir entre AltGry Ctrl+ Alt. También puede transformar las pulsaciones de teclas como AltGr+2 en un solo símbolo @, antes de que Windows aplique su diseño de teclado.

  1. Descargue e instale AutoHotKey
  2. Cree un nuevo script, es decir, un archivo de texto sin formato con la extensión .ahk
  3. Para cada carácter que desee escribir con AltGr+ BUTTON= CHAR, cree una línea como esta:
    <^>!BUTTON::SendInput {raw}CHAR
    Ejemplo: AltGr+ 2= @ se convierte<^>!2::SendInput {raw}@
  4. Guarda el guión

Si desea probar su secuencia de comandos, puede crear una asignación arbitraria como <^>!t::SendInput {raw}tttt. Haga doble clic en el script para aplicarlo y pruebe si AltGr+ tproduce cuatro t cuando escribe.

.

Parte 2:
Quite las ventanas del camino: queremos eliminar todas las asignaciones de AltGr+ Any Keyen su teclado, para que Windows nunca las convierta en caracteres.

Primero necesitamos crear un nuevo diseño de teclado.

  1. Descargar The Microsoft Keyboard Layout Creator . Es una herramienta simple que le permite modificar la distribución del teclado. ( Enlace de descarga )
  2. Abra a la herramienta y File -> Load Existing Keyboardelija la distribución de su teclado.
  3. Seleccione File -> Save source asy dele un nuevo nombre.
  4. Marque el Alt+Ctrl (AltGr).
    Es posible que desee seleccionar File -> Save as Imagepara tomar nota de las tareas originales.
  5. Elimine todas las claves asignadas, haciendo clic en ellas, eliminando el símbolo, y haga clic en OK
    No borrar ninguna clave muerta. (Los grises). Compruebe si todos los modificadores es decir AltGr, Ctrl, Alt, o ninguno!
  6. Ve Projet -> Propertiey dale un nombre y una descripción decentes.
  7. Guárdelo: File -> Save Source Filepara que pueda editarlo más tarde
  8. Configuración de exportación: Project -> Build DLL and Setup Package

Entonces necesitamos aplicar este nuevo diseño de teclado.

  1. Busque los archivos de configuración exportados en su carpeta Documentos y haga doble clic setup.exe. Esto instalará su nuevo diseño de teclado.
  2. Abra la configuración de entrada yendo a Control Pannel -> Change keyboards and other input methods -> Change keybords
  3. Haga clic en Addseleccionar su propio teclado y hacerlo predeterminado.
    Vuelva aquí y retire el teclado estándar, una vez que esté seguro de que todo funciona bien.

.

Parte 3: dejar que AutoHotKey se haga cargo:
ahora pongamos todo en acción:

  1. Asegúrese de que su nuevo teclado esté seleccionado en la barra de tareas de idioma y que AutoHotKey no se esté ejecutando minimizado en la bandeja de notificaciones.
  2. Intenta escribir tus caracteres especiales. Esto no debería funcionar.
  3. Haga doble clic en su secuencia de comandos AutoHotKey. Entonces se lanza
  4. Intenta escribir caracteres especiales nuevamente. Esto ahora debería funcionar AltGrsolo con .
  5. Para asegurarse de que el script se carga cuando se inicia Windows, cree un acceso directo en la Start Menu\Programs\Startupcarpeta

¡Eso es! (ツ) Puede compartir los archivos de configuración de diseño del teclado y el .ahkscript, con otras computadoras para omitir la mayoría de los pasos.


Otros recursos:
http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/replace-default-windows-keyboard-shortcut-behavior/0c5ff2a4-6bea-49a9-88bc-669049a1e107
http: // office.microsoft.com/en-us/word-help/alt-gr-keys-HP005259063.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx
http: //www.autohotkey.com/board/topic/61625-how-to-avoid-that-ctrl-alt-altgr/

Bittenus
fuente
Otro recurso valioso es el blog de Michael Kaplan .
Piotr Dobrogost
1
la eliminación de las asignaciones AltGr + tecla sólo funcionarán si su idioma no requiere el uso de AltGr
phuclv
Llevé esto al tipo de trabajo. El problema es que Keyboard Layout Creator tiene errores. Esté preparado para instalar y desinstalar diseños varias veces. A veces, las desinstalaciones no funcionan la primera vez. La descripción no se actualiza correctamente, lo que puede solucionar en el registro Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts`, the DLLs can be found in System32`.
Renuncio
Parece que Windows necesita reiniciarse para hacer algunas cosas relacionadas con el teclado, como reflejar descripciones actualizadas y eliminar teclados eliminados del panel de control. Esto era mucho más doloroso de lo que esperaba. Parece funcionar bien ahora sin embargo. Tuve que crear comandos explícitos de mayúsculas en AutoHotKey, es decir, ambos <^>!q::SendInput {raw}äy<+<^>!q::SendInput {raw}Ä
CervEd
1

Le recomendaría que eche un vistazo a AutoHotKey . Es una herramienta gratuita y también puede cambiar los efectos de acceso directo muy fácilmente. Eche un vistazo a la Hotkey-Documentation en su sitio web. Es realmente fácil de entender y realmente fácil de usar. Puede reasignar cada tecla / acceso directo.

Christian Wörz
fuente
0

Yo recomendaría SharpKeys:

SharpKeys es un hack de registro que se utiliza para hacer que ciertas teclas de un teclado actúen como otras teclas. Por ejemplo, si accidentalmente presiona el bloqueo de mayúsculas a menudo, podría usar esta utilidad para asignar el bloqueo de mayúsculas a una tecla Mayús o incluso desactivarlo por completo. Esta versión oficial incluye soporte para hasta 104 asignaciones, una extensa lista de claves disponibles y una opción de "Tecla de tipo" para ayudar a administrar las asignaciones.

No lo he usado personalmente, pero conozco a alguien que lo ha usado en el pasado y está muy contento con él.

No estoy seguro, pero tal vez cambiar la distribución de su teclado a (Inglés Reino Unido) podría ayudar. Aquí hay un enlace sobre cómo .

Augustus Francis
fuente
Echó un vistazo a SharpKeys, pero solo parece asignar una pulsación de tecla a otra y no hace combinaciones, por lo que no ayuda :( Cambiar la distribución del teclado no es una opción, ya que la mayoría de los símbolos están en otras ubicaciones, incluso el número de teclas son diferentes. Pero gracias por las sugerencias.
Bittenus
0

Descubrí que el teclado numérico se puede usar en lugar de las teclas numéricas normales para activar los atajos de Google Docs. Usando AHK esto funciona también en computadoras portátiles sin teclas numéricas. Por ejemplo,

<^<!2::SendInput ^!{Numpad2}

activará el encabezado 2 sin imprimir @. No es necesario usar MSKLC.

Sebastian I
fuente
-3

mantenga presionada la tecla Bloq Num durante 5 segundos.

Esto funcionó para mí.

Encontré la respuesta en la computadora aquí: "Panel de control \ Todos los elementos del panel de control \ Facilidad de acceso al Centro \ Hacer que el teclado sea más fácil de usar" ... El mío tiene una marca al lado de 'activar las teclas de alternar presionando y manteniendo presionado NUMLock para 5 segundos'....

usuario762656
fuente
Aclare y agregue un poco más de contexto a esta respuesta para transmitir exactamente lo que sugiere. Ya sabes, considera agregar alguna referencia a esta respuesta que respalde lo que dices. De lo contrario, lea "¿Por qué necesito 50 reputación para comentar?" Para asegurarse de que comprende cómo puede comenzar a comentar.
Pimp Juice IT