diff -NurpP --exclude .libs --exclude po --exclude autom4te.cache compiz-plugins-experimental-0.8.12/metadata/freewins.xml compiz-plugins-experimental-0.8.12.work/metadata/freewins.xml
--- compiz-plugins-experimental-0.8.12/metadata/freewins.xml	2016-09-04 15:32:18.641234549 +0000
+++ compiz-plugins-experimental-0.8.12.work/metadata/freewins.xml	2016-09-04 12:17:13.931857036 +0000
@@ -58,7 +58,7 @@
           Use this bindings to enable/disable snapping.
 		  int
 		  0
-		  3
+		  5
 		  
 			  0
 			  Shift
@@ -166,6 +166,14 @@
 			  Meta
 			  Metaé”®
 		  
+		  
+			  4
+			  Super
+		  
+		  
+			  5
+			  Hyper
+		  
         
         
         
@@ -175,7 +183,7 @@
           Use this bindings to invert the rotation mode.
 		  int
 		  0
-		  3
+		  5
 		  
 			  0
 			  Shift
@@ -283,6 +291,14 @@
 			  Meta
 			  Metaé”®
 		  
+		  
+			  4
+			  Super
+		  
+		  
+			  5
+			  Hyper
+		  
         
         
     
diff -NurpP --exclude .libs --exclude po --exclude autom4te.cache compiz-plugins-experimental-0.8.12/metadata/freewins.xml.in compiz-plugins-experimental-0.8.12.work/metadata/freewins.xml.in
--- compiz-plugins-experimental-0.8.12/metadata/freewins.xml.in	2016-01-12 19:38:41.000000000 +0000
+++ compiz-plugins-experimental-0.8.12.work/metadata/freewins.xml.in	2016-09-04 12:17:12.371740162 +0000
@@ -58,7 +58,7 @@
           <_long>Use this bindings to enable/disable snapping.
 		  int
 		  0
-		  3
+		  5
 		  
 			  0
 			  <_name>Shift
@@ -75,6 +75,14 @@
 			  3
 			  <_name>Meta
 		  
+		  
+			  4
+			  <_name>Super
+		  
+		  
+			  5
+			  <_name>Hyper
+		  
         
         
         
@@ -84,7 +92,7 @@
           <_long>Use this bindings to invert the rotation mode.
 		  int
 		  0
-		  3
+		  5
 		  
 			  0
 			  <_name>Shift
@@ -101,6 +109,14 @@
 			  3
 			  <_name>Meta
 		  
+		  
+			  4
+			  <_name>Super
+		  
+		  
+			  5
+			  <_name>Hyper
+		  
         
         
     
diff -NurpP --exclude .libs --exclude po --exclude autom4te.cache compiz-plugins-experimental-0.8.12/src/freewins/freewins.c compiz-plugins-experimental-0.8.12.work/src/freewins/freewins.c
--- compiz-plugins-experimental-0.8.12/src/freewins/freewins.c	2016-01-12 19:38:41.000000000 +0000
+++ compiz-plugins-experimental-0.8.12.work/src/freewins/freewins.c	2016-09-04 05:13:53.770770814 +0000
@@ -123,6 +123,10 @@ FWReloadSnapKeys (CompDisplay *d)
 		fwd->invertMask |= ControlMask;
 	if (imask & InvertModsMetaMask)
 		fwd->invertMask |= CompMetaMask;
+	if (imask & InvertModsSuperMask)
+		fwd->invertMask |= CompSuperMask;
+	if (imask & InvertModsHyperMask)
+		fwd->invertMask |= CompHyperMask;
 
 	unsigned int smask = freewinsGetSnapModsMask(d);
 	fwd->snapMask = 0;
@@ -134,6 +138,10 @@ FWReloadSnapKeys (CompDisplay *d)
 		fwd->snapMask |= ControlMask;
 	if (smask & SnapModsMetaMask)
 		fwd->snapMask |= CompMetaMask;
+	if (smask & SnapModsSuperMask)
+		fwd->snapMask |= CompSuperMask;
+	if (smask & SnapModsHyperMask)
+		fwd->snapMask |= CompHyperMask;
 
     }
 }
diff -NurpP --exclude .libs --exclude po --exclude autom4te.cache compiz-plugins-experimental-0.8.12/src/freewins/freewins_options.h compiz-plugins-experimental-0.8.12.work/src/freewins/freewins_options.h
--- compiz-plugins-experimental-0.8.12/src/freewins/freewins_options.h	2016-09-04 15:32:32.532276997 +0000
+++ compiz-plugins-experimental-0.8.12.work/src/freewins/freewins_options.h	2016-09-04 12:17:14.071867525 +0000
@@ -87,6 +87,8 @@ typedef enum
     SnapModsAlt = 1,
     SnapModsControl = 2,
     SnapModsMeta = 3,
+    SnapModsSuper = 4,
+    SnapModsHyper = 5,
 } FreewinsSnapModsEnum;
 
 typedef enum
@@ -95,6 +97,8 @@ typedef enum
     InvertModsAlt = 1,
     InvertModsControl = 2,
     InvertModsMeta = 3,
+    InvertModsSuper = 4,
+    InvertModsHyper = 5,
 } FreewinsInvertModsEnum;
 
 typedef enum
@@ -125,12 +129,16 @@ typedef enum
 #define SnapModsAltMask (1 << 1)
 #define SnapModsControlMask (1 << 2)
 #define SnapModsMetaMask (1 << 3)
+#define SnapModsSuperMask (1 << 4)
+#define SnapModsHyperMask (1 << 5)
 
 
 #define InvertModsShiftMask (1 << 0)
 #define InvertModsAltMask (1 << 1)
 #define InvertModsControlMask (1 << 2)
 #define InvertModsMetaMask (1 << 3)
+#define InvertModsSuperMask (1 << 4)
+#define InvertModsHyperMask (1 << 5)
 
 
 CompAction *     freewinsGetRotate (CompDisplay *d);