Windows では、マウスのプライマリ ボタンを交換する Win32 システム コール SwapMouseButton があります。今、Linux と MacOS でマウス ボタンを交換するシステム コールまたは方法が必要です。これでワンクリックマウスボタン交換アプリを作りたいと思います。
Cでこれをどのように行いますか?
これを行うためのシステムコールはないと思います。マウスは、カーネルではなく、X システムによって操作されます。
このシェル コマンドxmodmap -e "pointer = 3 2 1"
を実行して左右のボタンを交換し、実行xmodmap -e "pointer = 1 2 3"
して元の設定に戻すことができます。また、上記のコマンドをC
から実行するために
使用することもできます。execve
関数は実際にはsystem
もっと使いやすいです:
system("xmodmap -e \"pointer = 3 2 1\""); // for swapping buttons
system("xmodmap -e \"pointer = 1 2 3\""); // for restoring functionality