La nueva clave de Office que nadie pidió

Office Key es una nueva tecla que encontrará en los teclados de Microsoft. Le permite iniciar rápidamente aplicaciones como Word, pero puede reasignarlo con AutoHotkey para que actúe como una tecla modificadora adicional o deshabilite los accesos directos de la aplicación por completo.

¿Qué es la llave de Office?

Encontrarás esta tecla en los nuevos teclados de Microsoft lanzados después del 15 de octubre. Es posible que también haya oído hablar de la clave emoji dedicada que Microsoft agregó junto con ella; Ambas teclas se ubican donde  solían estar la tecla derecha de Windows y la tecla de menú, entre Alt Derecha y Control Derecha:

Ubicación de la tecla de Office junto a la tecla Alt izquierda

Fuera de la caja, la tecla de Office abre la aplicación de Office y tiene varias teclas de acceso rápido para abrir aplicaciones específicas de Microsoft. Hay teclas de acceso rápido básicas como Office + W y Office + X para abrir Word y Excel, pero también algunas más oscuras: Office + L, Office + T y Office + Y abren LinkedIn, Microsoft Teams y Yammer.

La tecla de Office envía Shift + Control + Alt + Windows

Esto es conveniente, pero podría pensar que se trata de una nueva clave creada por Microsoft, similar a la clave de Windows. Pero Microsoft se preocupa por la compatibilidad con versiones anteriores, e inventar una clave completamente nueva sería una molestia, por lo que tomó un atajo.

Es posible que haya oído hablar de la tecla "hiper". Hyper era una vieja tecla modificadora de hace mucho tiempo y se usaba en el  teclado Space-cadet para máquinas Lisp. Prácticamente es un fósil. No lo encontrará en ningún teclado moderno y no es compatible con ningún sistema operativo actual. Pero el nombre es genial y se mantuvo como un término para una oscura tecla modificadora que no usa ninguna aplicación.

Hoy en día, la tecla Hyper se emula con una combinación de cada tecla modificadora. En macOS, esto se asigna a Mayús + Control + Opción + ComandoEn Windows, la tecla Hyper se emula con Shift + Control + Alt + Windows.

La idea detrás de este mapeo es que ningún diseñador de UX va a estar lo suficientemente loco como para diseñar una aplicación que requiera que un usuario presione las cuatro teclas modificadoras a la vez. Básicamente, esto le brinda un teclado completo de teclas modificadoras para que pueda enlazar como desee, lo cual es genial.

O, al menos, lo fue: en la actualización de Windows 10 de mayo de 2019, Microsoft agregó compatibilidad preliminar con el sistema operativo para la clave de Office antes de que fuera lanzada al público. ¿Adivina a qué se asigna la tecla de Office?

La tecla de Office presiona las cuatro teclas modificadoras

Es Hyper. En lugar de implementar una nueva clave, la clave de Office actúa como las cuatro teclas modificadoras. La clave emoji no es realmente una clave en sí misma; se asigna al acceso directo Office + Space, que puede presionar para abrir el visor de emoji. (También puede presionar Windows +. O Windows +; para abrir el panel de emoji).

Tener una tecla Hyper dedicada en su teclado sería genial. La mayoría de las personas reutilizan el bloqueo de mayúsculas, pero la tecla de Office reemplazaría a la inútil tecla derecha de Windows y la convertiría en algo útil. Desafortunadamente, de las 27 teclas de letras y la barra espaciadora disponibles, 10 de ellas están en uso por los atajos de teclas de Office, con la posibilidad de que Microsoft agregue más en el futuro. Actualmente, no hay una forma integrada de desactivar estos atajos. No hay ninguna opción en Configuración, ningún ajuste de registro ni política de grupo.

Naturalmente, el hecho de que ya no pueda presionar Hyper + Y sin ser llevado a la página de marketing de Yammer ha hecho que los usuarios de Hyper Key se sientan bastante molestos. Sin embargo, hay algunos ajustes que puede hacer usted mismo para reasignar la tecla o desactivar el acceso directo por completo. Antes de comenzar con AutoHotkey, hay un ajuste de registro que deberá habilitar ejecutando el siguiente comando en PowerShell. Haga clic derecho en su botón Inicio y haga clic en "PowerShell" para abrirlo:

REG ADD HKCU \ Software \ Classes \ ms-officeapp \ Shell \ Open \ Command / t REG_SZ / d rundll32

Por lo general, cuando presiona la tecla Office por sí sola, abre la aplicación Office. Esto modifica la ubicación que se abre, evitando que la aplicación se inicie cada vez que se presiona la tecla. Desafortunadamente, no hay nada similar que hayamos encontrado en el registro que permita deshabilitar las teclas de acceso rápido específicas de la aplicación, por lo que deberá reasignarlas manualmente. Si encuentra una manera de deshabilitar los accesos directos específicos de la aplicación desde el registro, háganoslo saber en los comentarios y actualizaremos este artículo.

Cómo reasignar la clave de Office con AutoHotKey

AutoHotkey es un programa para reasignar las teclas del teclado a acciones específicas. Puede hacer mucho más, pero en este caso, solo queremos usarlo para eliminar la clave de Windows de las combinaciones de teclas de Office.

AutoHotkey instala un gancho de teclado de bajo nivel que intercepta los eventos del teclado antes de que el resto del sistema llegue a ellos. Si coincide con una tecla de acceso rápido configurada, AutoHotkey intercepta el evento. AutoHotkey puede enviar sus propios eventos de teclado modificados. Sin embargo, esto no le permite enviar la Shift+Control+Alt+Win+Wtecla de acceso rápido, ya que aún activará el acceso directo de Word. Sin embargo, puede enviar Shift+Control+Alt+WEso sigue siendo lo suficientemente difícil de manejar como para ser considerado una tecla Hyper que normalmente no presionaría, aunque tendrá que verificarlo dos veces para asegurarse de que sus aplicaciones no lo estén usando.

El siguiente script reasignará Office + W a  Shift+Control+Alt+WSimplemente guarde el texto como un script AutoHotKey y ejecútelo:

#NoEnv; Recomendado por rendimiento y compatibilidad con futuras versiones de AutoHotkey.
SetWorkingDir% A_ScriptDir%; Asegura un directorio de inicio consistente.
#UseHook
#InstallKeybdHook
#SingleInstance force
Entrada SendMode

# ^! + W ::
Enviar ^! + W
regreso

La secuencia de caracteres “ #^!+” es la abreviatura de AutoHotkey para Windows, Control, Alt y Shift, respectivamente. Este script coincide con Office + W y devuelve la secuencia corregida, lo que resuelve el problema de apertura de Word.

Por supuesto, también necesitará reasignar las otras teclas, T, Y, O, P, D, L, X, N y Space, por lo que el script completo es mucho más largo:

#NoEnv; Recomendado por rendimiento y compatibilidad con futuras versiones de AutoHotkey.
SetWorkingDir% A_ScriptDir%; Asegura un directorio de inicio consistente.
#UseHook
#InstallKeybdHook
#SingleInstance force
Entrada SendMode

# ^! + W ::
Enviar ^! + W
regreso

# ^! + T ::
Enviar ^! + T
regreso

# ^! + Y ::
Enviar ^! + Y
regreso

# ^! + O ::
Enviar ^! + O
regreso

# ^! + P ::
Enviar ^! + P
regreso

# ^! + D ::
Enviar ^! + D
regreso

# ^! + L ::
Enviar ^! + L
regreso

# ^! + X ::
Enviar ^! + X
regreso

# ^! + N ::
Enviar ^! + N
regreso

# ^! + Espacio ::
Enviar ^! + Espacio
regreso

Puede usar las teclas de acceso rápido corregidas para cada una de las diez teclas que usa la tecla de Office, pero podrá usar la tecla Hyper completa para cada tecla que no se use. También puede asignar estas teclas de acceso rápido a funciones AHK, de modo que tenga total libertad sobre ellas, siempre que las maneje de alguna manera para que la aplicación de Office no se abra.

Esta solución probablemente sea lo suficientemente buena para la mayoría de las personas hasta que Microsoft decida permitir que esto se desactive (si es que alguna vez lo hace). Pero, si realmente desea deshabilitar los accesos directos de la aplicación de Office por completo, existe una solución pirata.

Cómo eliminar completamente las integraciones de Office Key

Advertencia : Lo siguiente es un truco un poco feo. Esta solución es realmente solo para usuarios avanzados, por lo que si no sabe lo que está haciendo, apéguese a la solución AutoHotkey.

Pero, si desea utilizar la combinación de teclas Shift-Control-Alt-Win como una tecla Hyper y desea que Microsoft nunca haya agregado las teclas de acceso rápido de Office en primer lugar, existe una solución que resuelve el problema por completo.

En Windows, las teclas de acceso rápido de todo el sistema deben registrarse con el sistema operativo mediante la  función del sistema RegisterHotKeyDebajo del capó, las teclas de acceso rápido de Office Key están registradas de esta manera por Explorer, el proceso responsable de su escritorio, barra de tareas y Explorador de archivos. Es una parte integral de Windows, por lo que tiene sentido registrar las teclas de acceso rápido aquí; Las teclas de acceso rápido creadas con RegisterHotKey se cancelarán automáticamente cuando se cierre el proceso que las registró. Dado que Explorer está siempre abierto, las teclas de acceso rápido serán permanentes.

Nuestro primer pensamiento es anular las teclas de acceso rápido de Office registrando las nuestras. Pero, si crea un programa que ejecuta RegisterHotKey, encontrará que no funcionará. No puede registrar teclas de acceso rápido que ya hayan sido registradas por otro programa.

Sin embargo, cuando los programas salen, automáticamente anulan el registro de sus teclas de acceso rápido. Esto significa que si puede cerrar el programa que registró las teclas de acceso rápido, puede desactivarlas. Desafortunadamente, cerrar Explorer no es una solución muy viable, ya que estaría atascado sin una computadora utilizable. Y si reinició Explorer, volvería a registrar las teclas de acceso rápido cuando se inicie una copia de seguridad.

Entonces, esta solución funciona así: el programa de reparación de teclas de Office cierra Explorer, lo que libera las teclas de acceso rápido para que se sobrescriban. Luego registra cada tecla de acceso rápido relacionada con la tecla de Office que queremos deshabilitar y reinicia el Explorador. Cuando Explorer se inicia de nuevo, intenta registrar las teclas de acceso rápido de Office como de costumbre, pero se bloquea porque nuestro programa ya las registró. Solo intenta hacer esto al inicio, por lo que todo lo que tenemos que hacer es esperar unos segundos y luego salir del programa. Esto elimina el registro de las teclas de acceso rápido en el proceso, lo que permite que otros programas las utilicen.

Esta solución funciona perfectamente y permite que la tecla de Office real o la tecla Hyper emulada use todos los atajos del teclado sin riesgo de abrir aplicaciones de Microsoft al azar. Corta las teclas de acceso rápido de Office por completo. Explorer ni siquiera recibe un mensaje cuando presiona estas combinaciones de teclas.

El único inconveniente es que debido a que estamos reiniciando el explorador, cuando este programa se ejecuta al inicio, el escritorio parpadeará en negro durante una fracción de segundo antes de reiniciar. No es muy intrusivo, pero es suficiente para notarlo. Si su PC tarda un segundo en cargar las aplicaciones de inicio, cerrará todas las ventanas del Explorador de archivos que tenga abiertas. La ventaja es que puede estar tranquilo sabiendo que está 1-0 en la lucha contra el departamento de marketing de Microsoft por el control de su teclado.

De todos modos, el script es un fragmento relativamente corto de C ++:

#include <windows.h>
#include <stdio.h>
#include <hilo>
#include <chrono>
#include <iostream>

int main (int argc, wchar_t * argv [])
{
	// Crear una matriz de claves para anular el registro
	// Estos se asignan a W, T, Y, O, P, D, L, X, N y Space, respectivamente.
	UINT offendingKeys [10] = {0x57, 0x54, 0x59, 0x4F, 0x50, 0x44, 0x4C, 0x58, 0x4E, 0x20};

	// Mata al explorador
	sistema ("taskkill / IM explorer.exe / F");

	// Registrar tecla de acceso rápido
	para (int i = 0; i <10; i ++) {
		RegisterHotKey (NULL, i, 0x1 + 0x2 + 0x4 + 0x8 | MOD_NOREPEAT, offendingKeys [i]);
	}

	// Reiniciar Explorer
	system ("iniciar C: /Windows/explorer.exe");

	/ * Duerma unos segundos para asegurarse de que Explorer tenga tiempo de
	   intentar registrar las teclas de acceso rápido de Office y ser bloqueado por 
	   nuestras teclas de acceso rápido * /
	std :: this_thread :: sleep_for (std :: chrono :: milisegundos (4000));
	 
	// anular el registro de teclas de acceso rápido por ID
	para (int i = 0; i <10; i ++) {
		UnregisterHotKey (NULL, i);
	}

	return 1;
}

También puede encontrarlo aquí en GitHubTendrá que compilarlo usted mismo, pero de todos modos no debería ejecutar ejecutables aleatorios que encuentre en Internet. Una vez que lo tenga como binario, colóquelo C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startuppara que se ejecute después de que arranque su computadora.

Los ejecutables ubicados en la carpeta de inicio tardan un poco en abrirse, por lo que el programa probablemente se ejecutará de 5 a 10 segundos después de que vea el escritorio. Cerrará cualquier ventana del Explorador de archivos que tenga abierta, pero no cerrará otras aplicaciones como Chrome.

Si alguien que lee esto conoce una forma de evitar que Explorer registre las teclas de acceso rápido sin reiniciarlo, o si de alguna manera es posible cancelar el registro de las teclas de acceso rápido creadas por otro hilo, no dude en hacérnoslo saber en los comentarios.