Como Remapear a Tecla Office em Seu Teclado

A nova chave do Office que ninguém pediu

A Office Key é uma nova chave que você encontrará nos teclados da Microsoft. Ele permite que você inicie aplicativos rapidamente como o Word, mas você pode remapear com o AutoHotkey para funcionar como uma tecla modificadora extra ou desabilitar os atalhos do aplicativo por completo.

Qual é a chave do Office?

Você encontrará essa chave em novos teclados da Microsoft lançados após 15 de outubro. Você também pode ter ouvido falar da chave de emoji dedicada que a Microsoft adicionou junto com ela; ambas as teclas se encaixam onde a tecla certa do Windows e a tecla do menu  costumavam estar, entre Alt direito e Controle direito:

Localização chave do escritório próximo ao alt esquerdo

Pronto para usar, a tecla Office abre o aplicativo Office e tem várias teclas de atalho para abrir aplicativos específicos da Microsoft. Existem teclas de atalho básicas como Office + W e Office + X para abrir o Word e Excel, mas também algumas mais obscuras – Office + L, Office + T e Office + Y abrem LinkedIn, Microsoft Teams e Yammer.

A tecla Office envia Shift + Control + Alt + Windows

Isso é conveniente, mas você pode pensar que esta é uma nova chave criada pela Microsoft, semelhante à chave do Windows. Mas a Microsoft se preocupa com a compatibilidade com versões anteriores, e inventar uma nova chave seria um aborrecimento, então pegou um atalho.

Você pode ter ouvido falar da tecla “hiper”. Hyper era uma tecla modificadora antiga de muito tempo atrás e era usada no  teclado Space-cadet  para máquinas Lisp. É praticamente um fóssil. Você não o encontrará em nenhum teclado moderno e não é compatível com nenhum sistema operacional atual. Mas o nome é legal e ficou por aí como um termo para uma tecla modificadora obscura que não é usada por nenhum aplicativo.

Hoje em dia, a tecla Hyper é emulada com uma combinação de todas as teclas modificadoras. No macOS, isso mapeia para Shift + Control + Option + Command . No Windows, a tecla Hyper é emulada com Shift + Control + Alt + Windows.

O pensamento por trás desse mapeamento é que nenhum designer UX será louco o suficiente para projetar um aplicativo que requer que o usuário pressione todas as quatro teclas modificadoras de uma vez. Essencialmente, isso dá a você um teclado inteiro de teclas modificadoras para você ligar como quiser, o que é ótimo.

Ou, pelo menos, era – na atualização do Windows 10 de maio de 2019 , a Microsoft adicionou suporte de sistema operacional preliminar para a chave do Office antes de ser lançada ao público. Adivinhe o que a chave do Office mapeia?

A tecla Office realmente pressiona todas as quatro teclas modificadoras

É o Hyper. Em vez de implementar uma nova chave, a tecla Office atua como todas as quatro teclas modificadoras. A chave de emoji não é realmente uma chave em si; ele mapeia para o atalho Office + Space, que você pode pressionar para abrir o visualizador de emoji. (Você pode pressionar Windows +. Ou Windows +; para abrir o painel de emoji também.)

Recomendado:  Como adicionar ou remover seu número de telefone em mensagens ou FaceTime

Ter uma tecla Hyper dedicada em seu teclado seria ótimo. A maioria das pessoas reaproveita o Caps Lock, mas a tecla Office substituiria a tecla Right Windows inútil e a transformaria em algo útil. Infelizmente, das 27 teclas de letras e barra de espaço disponíveis, 10 delas estão em uso pelos atalhos de teclado do Office, com a possibilidade de a Microsoft adicionar mais no futuro. Atualmente, não há uma maneira integrada de desativar esses atalhos. Não há nenhuma opção em Configurações, nenhum ajuste de registro e nenhuma política de grupo.

Naturalmente, o fato de você não poder mais pressionar Hyper + Y sem ser levado para a página de marketing do Yammer deixou os usuários-chave do Hyper bastante chateados. Existem, no entanto, alguns ajustes que você mesmo pode fazer para remapear a tecla ou desativar o atalho por completo. Antes de começarmos com o AutoHotkey, há um ajuste de registro que você precisa habilitar executando o seguinte comando no PowerShell. Clique com o botão direito do mouse no botão Iniciar e clique em “PowerShell” para abri-lo:

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

Normalmente, quando você pressiona a tecla Office por conta própria, o aplicativo Office é aberto. Isso modifica o local que é aberto, evitando que o aplicativo seja iniciado sempre que a tecla for pressionada. Infelizmente, não há nada semelhante que encontramos no registro que permita que as teclas de atalho específicas do aplicativo sejam desabilitadas, portanto, você precisará remapear essas teclas manualmente. Se você encontrar uma maneira de desativar os atalhos específicos do aplicativo no registro, informe-nos nos comentários e atualizaremos este artigo.

Como Remapear a Chave do Office com AutoHotKey

AutoHotkey é um programa para remapear as teclas do teclado para ações específicas. Ele pode fazer muito mais, mas, neste caso, queremos realmente apenas usá-lo para remover a tecla Windows das combinações de teclas do Office.

AutoHotkey instala um gancho de teclado de baixo nível que intercepta eventos de teclado antes que o resto do sistema chegue até eles. Se corresponder a uma tecla de atalho configurada, o evento é interceptado pelo AutoHotkey. AutoHotkey pode então enviar seus próprios eventos de teclado modificados. Isso não permite que você envie a Shift+Control+Alt+Win+Wtecla de atalho, pois isso ainda acionará o atalho do Word. Você pode, no entanto, enviar Shift+Control+Alt+W. Isso ainda é pesado o suficiente para ser considerado uma tecla Hyper que você normalmente não pressionaria, embora você tenha que verificar novamente para ter certeza de que seus aplicativos não a estão usando.

O script a seguir remapeará Office + W para  Shift+Control+Alt+W. Basta salvar o texto como um script AutoHotKey e executá-lo :

#NoEnv; Recomendado para desempenho e compatibilidade com versões futuras do AutoHotkey.
SetWorkingDir% A_ScriptDir%; Garante um diretório inicial consistente.
#UseHook
#InstallKeybdHook
#SingleInstance force
SendMode Input

# ^! + W ::
Enviar ^! + W
Retorna

A sequência de caracteres “ #^!+” é uma abreviação do AutoHotkey para Windows, Control, Alt e Shift, respectivamente. Este script corresponde a Office + W e envia de volta a sequência corrigida, o que resolve o problema de abertura do Word.

Claro, você também precisará remapear as outras teclas, T, Y, O, P, D, L, X, N e Espaço, portanto, o script completo é muito mais longo:

#NoEnv; Recomendado para desempenho e compatibilidade com versões futuras do AutoHotkey.
SetWorkingDir% A_ScriptDir%; Garante um diretório inicial consistente.
#UseHook
#InstallKeybdHook
#SingleInstance force
SendMode Input

# ^! + W ::
Enviar ^! + W
Retorna

# ^! + T ::
Enviar ^! + T
Retorna

# ^! + Y ::
Enviar ^! + Y
Retorna

# ^! + O ::
Enviar ^! + O
Retorna

# ^! + P ::
Enviar ^! + P
Retorna

# ^! + D ::
Enviar ^! + D
Retorna

# ^! + L ::
Enviar ^! + L
Retorna

# ^! + X ::
Enviar ^! + X
Retorna

# ^! + N ::
Enviar ^! + N
Retorna

# ^! + Espaço ::
Enviar ^! + Espaço
Retorna

Você pode usar as teclas de atalho corrigidas para cada uma das dez teclas que a tecla Office usa, mas poderá usar a tecla Hyper completa para cada tecla que não for usada. Você também pode mapear essas teclas de atalho para funções AHK, para ter total liberdade sobre elas, desde que as manipule de alguma forma para que o aplicativo Office não abra.

Recomendado:  Como impedir que ladrões de identidade abram contas em seu nome

Essa solução provavelmente é boa o suficiente para a maioria das pessoas até que a Microsoft decida permitir que isso seja desativado (se for o caso). Mas, se você realmente deseja desabilitar completamente os atalhos de aplicativos do Office, existe uma solução hacky.

Como remover totalmente integrações de chaves do Office

Aviso : O seguinte é um hack feio. Esta solução é realmente apenas para usuários avançados, então se você não sabe o que está fazendo, opte pela solução AutoHotkey.

Mas, se você quiser usar a combinação de teclas Shift-Control-Alt-Win como uma tecla Hyper e deseja que a Microsoft nunca tenha adicionado as teclas de atalho do Office em primeiro lugar, existe uma solução que resolve o problema inteiramente.

No Windows, as teclas de atalho de todo o sistema devem ser registradas no sistema operacional usando a  função de sistema RegisterHotKey . Sob o capô, as teclas de atalho do Office Key são registradas dessa forma pelo Explorer, o processo que é responsável por sua área de trabalho, barra de tarefas e File Explorer. É parte integrante do Windows, portanto, faz sentido registrar as teclas de atalho aqui; As teclas de atalho criadas com RegisterHotKey cancelarão o registro automaticamente quando o processo que as registrou for fechado. Como o Explorer está sempre aberto, as teclas de atalho serão permanentes.

Nosso primeiro pensamento é substituir as teclas de atalho do Office registrando as nossas. Mas, se você criar um programa que execute RegisterHotKey, verá que ele não funcionará. Você não pode registrar teclas de atalho que já foram registradas por outro programa.

No entanto, quando os programas são encerrados, eles automaticamente cancelam o registro de suas teclas de acesso. Isso significa que se você pode fechar o programa que registrou as teclas de atalho, pode desativá-las. Infelizmente, fechar o Explorer não é uma solução muito viável, pois você ficaria sem um computador utilizável. E se você reiniciasse o Explorer, ele registraria novamente as teclas de atalho ao iniciar o backup.

Portanto, esta solução funciona assim: O programa de correção de teclas do Office fecha o Explorer, o que libera as teclas de atalho para serem substituídas. Em seguida, ele registra cada tecla de atalho relacionada à tecla do Office que desejamos desativar e reinicia o Explorer. Quando o Explorer é reiniciado, ele tenta registrar as teclas de atalho do Office normalmente, mas é bloqueado porque nosso programa já as registrou. Ele apenas tenta fazer isso na inicialização, então tudo o que temos a fazer é esperar alguns segundos e sair do programa. Isso cancela o registro das teclas de atalho no processo, o que permite que sejam usadas por outros programas.

Recomendado:  Como criar uma lista suspensa dependente no Planilhas Google

Esta solução funciona perfeitamente e permite que a tecla Office real ou a tecla Hyper emulada use todos os atalhos do teclado sem risco de abrir aplicativos Microsoft aleatórios. Ele corta totalmente as teclas de atalho do Office. O Explorer nem mesmo recebe uma mensagem quando você pressiona essas combinações de teclas.

A única desvantagem é que, como estamos reiniciando o explorer, quando este programa é executado na inicialização, ele piscará em preto por uma fração de segundo antes de reiniciar. Não é super intrusivo, mas é o suficiente para perceber. Se o seu PC demorar um segundo para carregar os aplicativos de inicialização, ele fechará todas as janelas do File Explorer que você abriu. A vantagem é que você pode ficar tranquilo sabendo que está por 1 a 0 na luta contra o departamento de marketing da Microsoft pelo controle do teclado.

De qualquer forma, o script é um pedaço relativamente curto de C ++:

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

int main (int argc, wchar_t * argv [])
{
	// Construir matriz de chaves para cancelar o registro
	// Estes mapeiam para W, T, Y, O, P, D, L, X, N e Espaço, respectivamente.
	UINT offendingKeys [10] = {0x57, 0x54, 0x59, 0x4F, 0x50, 0x44, 0x4C, 0x58, 0x4E, 0x20};

	// Mate o Explorer
	sistema ("taskkill / IM explorer.exe / F");

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

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

	/ * Dormir por alguns segundos para garantir que o Explorer tenha tempo para
	   tente registrar as teclas de atalho do Office e seja bloqueado por 
	   nossas teclas de atalho * /
	std :: this_thread :: sleep_for (std :: chrono :: milliseconds (4000));
	 
	// cancelar o registro das teclas de atalho por ID
	para (int i = 0; i <10; i ++) {
		UnregisterHotKey (NULL, i);
	}

	return 1;
}

Você também pode encontrá-lo aqui no GitHub . Você terá que compilá-lo sozinho , mas não deve realmente estar executando executáveis ​​aleatórios que você encontra na Internet. Depois de tê-lo como binário, coloque-o de C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startupforma que ele seja executado após a inicialização do computador.

Os executáveis ​​colocados na pasta de inicialização demoram um pouco para abrir, então o programa provavelmente será executado de 5 a 10 segundos depois que você visualizar a área de trabalho. Isso fechará todas as janelas do File Explorer que você abriu, mas não fechará outros aplicativos como o Chrome.

Se alguém lendo isso souber de uma maneira de evitar que o Explorer registre as teclas de atalho sem reiniciá-lo – ou se de alguma forma for possível cancelar o registro das teclas de atalho criadas por outro thread – sinta-se à vontade para nos informar nos comentários.