[Xquartz-dev] Re-enable fn for fake mouse buttons

Martin Otte otte at duke.edu
Sat Apr 11 09:06:04 PDT 2009


With the last few releases, I could no longer use the fn key on my  
powerbook as a fake mouse modifier.
Here is patch to darwinEvents.c, based on an earlier commit "Re- 
enable support for capslock", that allows fn to be used again for  
fake_button2 or 3:

--- xorg-server-1.4.2-apple41/hw/xquartz/darwinEvents.c.orig     
2009-04-11 11:01:07.000000000 -0400
+++ xorg-server-1.4.2-apple41/hw/xquartz/darwinEvents.c 2009-04-11  
11:17:20.000000000 -0400
@@ -155,7 +155,7 @@ int darwin_modifier_mask_list[] = {
  #else
      NX_CONTROLMASK, NX_SHIFTMASK, NX_COMMANDMASK, NX_ALTERNATEMASK,
  #endif
-    NX_ALPHASHIFTMASK,
+    NX_ALPHASHIFTMASK, NX_SECONDARYFNMASK,
      0
  };

@@ -175,7 +175,7 @@ static void DarwinUpdateModifiers(
      }

      for(f=darwin_modifier_mask_list; *f; f++)
-        if(*f & flags && *f != NX_ALPHASHIFTMASK) {
+        if(*f & flags && *f != NX_ALPHASHIFTMASK && *f !=  
NX_SECONDARYFNMASK) {
              key = DarwinModifierNXMaskToNXKey(*f);
              if(key == -1)
                  ErrorF("DarwinUpdateModifiers: Unsupported NXMask:  
0x%x\n", *f);



I prefer to use the fn key for one of the fake clicks because some X  
apps have a use for shift, control, or option clicks.

Thanks,
Martin


More information about the Xquartz-dev mailing list