Detect se o evento de rolagem foi criado pelo usuário

É possível saber se um evento de rolagem foi realizado pelo navegador ou pelo usuário? Especificamente, ao usar o botão Voltar, um navegador pode pular para a última posição de rolagem conhecida. Se eu vincular ao evento de rolagem, como posso saber se isso foi causado pelo usuário ou navegador?

$(document).scroll( function(){ 
    //who did this?!
});

Eu vejo três tipos de situações que causam rolagem em um navegado

O usuário executa alguma ação. Por exemplo, usa roda do mouse, teclas de seta, teclas de página para cima / baixo, teclas de início / fim.O navegador rola automaticamente. Por exemplo, ao usar o botão Voltar no seu navegador, ele pulará automaticamente para a última posição de rolagem conhecidolagens @ JavaScript. Por exemplo,element.scrollTo(x,y).

questionAnswers(10)

yourAnswerToTheQuestion