*/}}
Browse Source

Linux twist fix to be consistent with windows.

YimingWu 11 months ago
parent
commit
b7dd914d4b
2 changed files with 4 additions and 3 deletions
  1. 2 1
      la_kernel.c
  2. 2 2
      la_tns.h

+ 2 - 1
la_kernel.c

@@ -6712,7 +6712,8 @@ static void la_RecordWacomMotions(XIRawEvent *event)
         else { MAIN.EraserOrientation=orientation;MAIN.EraserDeviation=deviation; }
     }else{ MAIN.StylusDeviation=MAIN.StylusOrientation=MAIN.EraserDeviation=MAIN.EraserOrientation=0; }
     if(XIMaskIsSet(event->valuators.mask, 5)){
-        real angle=valuator[5]; angle=(900-angle)/10*2; MAIN.StylusTwist=angle; 
+        real angle=valuator[5]; angle=rad((900-angle)/10*2-180); if(angle<0) angle+=TNS_PI*2; MAIN.StylusTwist=angle; 
+        printf("a %lf\n",angle);
     }else{ MAIN.StylusTwist=0; }
 
     MAIN.IsPen=1;

+ 2 - 2
la_tns.h

@@ -48,8 +48,8 @@ extern const char* LA_SELECTION_FRAGMENT_SHADER;
 #endif
 
 #define TNS_PI 3.1415926535897932384626433832795
-#define deg(r) r / TNS_PI * 180.0
-#define rad(d) d *TNS_PI / 180.0
+#define deg(r) ((r) / TNS_PI * 180.0)
+#define rad(d) ((d) *TNS_PI / 180.0)
 
 #define TNS_COLOR_SPACE_SRGB 0
 #define TNS_COLOR_SPACE_CLAY 1