これら 2 つの API はhttp://linux.die.net/man/3/xgetpointermappingで見つけました。LinuxまたはMacシステムでマウスボタンを交換するために使用できると思います。次の方法で使用しました。
Display * curdisp; // Current display.
char curmap[MAX_NUM];// Current mapping.
int nmap; // number of mappings.
curdisp = XOpenDisplay(NULL);
nmap = XGetPointerMapping(curdisp, curmap, MAX_NUM);
if(!nmap)
return -1;
if(curmap[0] == '1' && curmap[2] == '3') {
curmap[0] = '3';
curmap[2] = '1';
} else {
curmap[0] = '1';
curmap[2] = '3';
}
//Set the mapping.
nmap = XSetPointerMapping(curdisp, curmap, nmap);
しかし、呼び出し XSetPointerMapping は 0 を返し、マウス ボタンには影響しません。XSetPointerMapping を使用してマウス ボタンを交換する例を誰か教えてください。またはそれを正しく使用する方法は?それはすぐに機能しますか?
使用OSはMac OS X 10.7.4です。