@Marcelo me deu a ideia de usar JavaScript. Anteriormente eu tinha pensado nisso, mas não parecia viável fazer com teclas de atalho. Em seguida, lembrei-me do pseudo-protocolo JavaScript: e criei o seguinte código que funciona de forma confiável:
MButton::
SendInput ^{l}
Sleep 1
SendInput {Raw}javascript:document.activeElement.blur();
Sleep 1
SendInput {Enter}
Sleep 1
SendInput ^{home}
return
;
O código primeiro usa CTRL + l para ir para a barra de endereço, insere o JavaScript lá (o Chrome não permite colar o javascript: na barra de endereço, ele precisa ser feito como entrada bruta). Enter é pressionado para executar o código, nesse caso, um simples Ctrl + Home funciona para ir para o topo.
Os comandos Sleep são necessários após os principais combos, caso contrário, a entrada pode ficar distorcida.
Enquanto isso funciona de forma confiável (e, portanto, responde à minha pergunta), é lento e um pouco assustador, já que qualquer problema com a entrada do script pode fazer com que o navegador interprete o código como uma consulta de pesquisa, o que causará a perda do conteúdo da página.Em vez disso, vou usar a ideia do @ crazypotato de usar page-up, embora com um número razoável de pressionamentos de tecla:
MButton::
SendInput {PgUp 5}
return
;
Isso funciona muito bem no meu caso, já que as páginas com as quais eu lido (que exigiam essa solução em primeiro lugar) são todas da mesma altura.