ページ前後のキーコードがよくわからない

上のドライバを書いているときに、Swipeのジェスチャーを捕まえるのは意外と簡単なのだが、キーコードがよくわからなかった。結局、他のドライバで使われていた、BTN_SIDEとBTN_EXTRAで出来たんだけど、BTN_BACK、BTN_FORWARDというキーコードもあって混乱した。
xevを使いつつ、他のマウスのキーコードを確認しながら対応するという地道な作業…。うーん、地道だった。
なんでこんなコードになってるのか、誰か知っている人は教えて欲しい…。