Win32 app que faz o Apple Magic Keyboard se comportar de forma natural no Windows. Detecta o teclado pelo VID HID 0x05AC e remapeia só as teclas vindas dele — qualquer outro teclado plugado continua funcionando normalmente.
MagicRemapSetup-1.0.1.exe (~2.1 MB) — instalador para Windows 64-bit. Veja todas as versões em Releases.
⚠️ O instalador não é assinado por um certificado pago. O SmartScreen do Windows vai mostrar um aviso na primeira execução: clique em "Mais informações" → "Executar mesmo assim". Se você tiver o Smart App Control ativado (Windows 11), ele bloqueará o app — desligue em Configurações → Privacidade e segurança → Segurança do Windows → Controle de aplicativos e do navegador → Configurações de proteção baseada em reputação.
⌘ Cmd(esquerdo e direito) passa a agir comoCtrl→Cmd+C,Cmd+V,Cmd+Z,Cmd+A,Cmd+S,Cmd+T,Cmd+W, etc. funcionam direto.- Atalhos com tradução semântica:
Cmd+Tab→Alt+Tab(troca de app)Cmd+Q→Alt+F4(fechar)Cmd+Space→ teclaWin(abre busca/Iniciar)Cmd+←/→→Home/EndCmd+↑/↓→Ctrl+Home/Ctrl+EndOption+←/→→Ctrl+←/→(pular palavra)Option+Backspace→Ctrl+BackspaceCmd+Backspace→ apaga até o início da linhaCmd+Shift+3/4/5→Win+Shift+S(Ferramenta de Captura)
- Acentos no estilo macOS US (úteis para português):
Option+Eentão vogal →á é í ó ú(com Shift na vogal vira maiúsculo)Option+Ientão vogal →â ê î ô ûOption+Nentãoa/n/o→ã ñ õOption+Uentão vogal →ä ë ï ö ü(trema)Option+`então vogal →à è ì ò ù(grave)Option+C→çdireto (Çcom Shift)- Se a próxima tecla não compõe (ex.:
Option+Eentãob), o acento sai sozinho — igual ao Mac.
- Ícone na bandeja com toggle, autostart e reload de config.
- Single-instance (mutex nomeado).
- Tecla de pânico:
Shift+Ctrl+Alt+F12encerra o app imediatamente caso algo trave.
O MagicRemap usa um low-level keyboard hook (SetWindowsHookEx(WH_KEYBOARD_LL)) para interceptar e suprimir teclas individualmente, e Raw Input para identificar dispositivos pelo VID HID. Combinação escolhida especificamente para evitar saturação da System Input Queue do Windows — falhas no hook são auto-recuperadas pelo OS após timeout (default ~300ms), sem chance de congelar o sistema.
Eventos sintetizados via SendInput são marcados com dwExtraInfo mágico para o hook ignorá-los (sem loops).
Pré-requisitos: Visual Studio 2022 (workload "Desktop development with C++") em uma máquina Windows.
# Pelo IDE: abra magic_remap.sln, selecione Release|x64, build (F7).
# Ou pela linha de comando:
msbuild magic_remap.sln /p:Configuration=Release /p:Platform=x64
# Saída: x64\Release\magic_remap.exeO projeto referencia res/magic_remap.ico mas o arquivo não está incluído. Para adicionar um ícone próprio:
- Coloque um
.icoemres/magic_remap.ico. - Descomente a linha
IDI_APPICON ICON ...emres/magic_remap.rc. - Rebuild.
Sem ícone customizado, o app usa o ícone padrão de aplicação do Windows.
Pré-requisitos: Inno Setup 6.
# Após o build do exe:
iscc installer\magic_remap.iss
# Saída: installer\Output\MagicRemapSetup-1.0.1.exeO instalador:
- Coloca o app em
Program Files\MagicRemap(ou no perfil do usuário se sem admin). - Cria atalho no Menu Iniciar.
- Oferece checkbox para iniciar automaticamente com o Windows.
- O instalador não é assinado — o SmartScreen vai mostrar um aviso na primeira execução. Clique em "Mais informações" → "Executar mesmo assim".
%APPDATA%\MagicRemap\config.ini é criado na primeira execução com os defaults:
[General]
enabled=true
autostart=false
swap_ctrl_too=false ; se true, também faz Ctrl→Win (mais "mac-like" mas perde Win key)
verbose=false
[Shortcuts]
cmd_tab=true
cmd_q=true
cmd_space=true
cmd_arrows=true
option_arrows=true
cmd_backspace=true
option_backspace=true
[Devices]
; lista CSV de VIDs HID a tratar como Apple. Padrão: 05AC (Apple).
; adicione se seu teclado reportar outro VID (verifique no Gerenciador de Dispositivos).
vendor_ids=05AC,004CEdite, salve, e clique direito no tray → Recarregar config.
- O low-level hook não distingue qual teclado mandou cada tecla (Raw Input vê o dispositivo, mas o hook não). Na V2 o app assume que toda tecla vem do Apple Magic Keyboard. Funciona perfeitamente se você usa só o MK; com outros teclados conectados, eles também serão remapeados. Versão futura pode correlacionar via Raw Input.
- A
fnkey da Apple e os atalhos de brilho/mídia (F1–F12da Apple) não são tratados — requer parsing de HID report descriptor. - App em foco rodando como Administrador ignora
SendInputvindo de processo não-elevado (UIPI). Workaround: rodar o MagicRemap como Admin, ou desabilitar via tray. - Não há UI gráfica de configuração; só o INI.
Se algo travar e o teclado parar de responder, segure Shift + Ctrl + Alt + F12 no Apple Magic Keyboard (ou em qualquer outro teclado conectado). O app encerra e o Windows volta ao comportamento normal.
Alternativas: encerrar magic_remap.exe pelo Gerenciador de Tarefas (Ctrl+Shift+Esc), ou desplugar/desparear o teclado.
MIT — veja LICENSE.