特定の入力が他の入力の出力を変更するように X を使用するにはどうすればよいでしょうか?

特定の入力が他の入力の出力を変更するように X を使用するにはどうすればよいでしょうか?

私がやりたいことは、たとえば、マウス ボタン 4 を押したままにして、マウス ボタン 5 を押して、別の入力 (キーボードのキーの押下や他のマウス ボタンなど) をプログラムに渡すことです。

目的は、N キーのマウスがある場合、マウスからの 2*(N-1) 入力をエミュレートできるようになり、通常はマウスとキーボード、または私のマウスよりもボタンが多いマウスが必要となるビデオ ゲームをマウスだけでプレイできるようになることです。

私はLinuxでシナモンデスクトップを使用しています。そして、これを実現するには、mouse4でキーバインディングを変更するプログラムを実行する必要があると思います。ボタンを離したときにプログラムを実行できない場合は、mouse4をもう一度押してデフォルトのレイアウトに戻す必要があるのは構いません。キーボードではこれが可能であることがわかりました。ここしかし、マウスでこれを行う方法についての情報は見つかりません。

直接的な回答をいただければ素晴らしいのですが、正しい方向を指し示すヒントがあれば大変ありがたいです。

関連情報