summaryrefslogtreecommitdiffstats
path: root/main/xkeyboard-config/0001-Hide-ClearGrab-CloseGrabs-actions-behind-an-option.patch
blob: 8d788acadf435c035ef304f36ce1917e0ec739f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
From 9966d0a83ad7cf5ea76a04f31912e92908f3da63 Mon Sep 17 00:00:00 2001
From: Daniel Stone <daniel@fooishbar.org>
Date: Thu, 19 Jan 2012 16:36:16 +1100
Subject: [PATCH] Hide ClearGrab/CloseGrabs actions behind an option

Similar to how we put the Terminate mapping behind an option rather than
enabling it by default, put the ClearGrab/CloseGrab action handlers
behind an option too, so we don't ship 'break my screensaver'.  Oops.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
---
 compat/xfree86      |   15 +++++++++------
 rules/base.o_c.part |    1 +
 rules/base.xml.in   |    6 ++++++
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/compat/xfree86 b/compat/xfree86
index cf4a8b2..52e661d 100644
--- a/compat/xfree86
+++ b/compat/xfree86
@@ -41,12 +41,6 @@ default partial xkb_compatibility "basic"  {
         action = SwitchScreen(Screen=12, !SameServer);
     };
 
-    interpret XF86_Ungrab {
-        action = Private(type=0x86, data="Ungrab");
-    };
-    interpret XF86_ClearGrab {
-        action = Private(type=0x86, data="ClsGrb");
-    };
     interpret XF86LogGrabInfo {
         action = Private(type=0x86, data="PrGrbs");
     };
@@ -61,3 +55,12 @@ default partial xkb_compatibility "basic"  {
         action = Private(type=0x86, data="-VMode");
     };
 };
+
+partial xkb_compatibility "grab_break" {
+    interpret XF86_Ungrab {
+        action = Private(type=0x86, data="Ungrab");
+    };
+    interpret XF86_ClearGrab {
+        action = Private(type=0x86, data="ClsGrb");
+    };
+};
diff --git a/rules/base.o_c.part b/rules/base.o_c.part
index 352f8b3..b80ab6d 100644
--- a/rules/base.o_c.part
+++ b/rules/base.o_c.part
@@ -3,4 +3,5 @@
   grp_led:scroll	=	+ledscroll(group_lock)
   japan:kana_lock	=	+japan(kana_lock)
   caps:shiftlock	=	+ledcaps(shift_lock)
+  grab:break_actions    =       +xfree86(grab_break)
 
diff --git a/rules/base.xml.in b/rules/base.xml.in
index 22b720f..6c17faa 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -6278,6 +6278,12 @@
           <_description>Toggle PointerKeys with Shift + NumLock.</_description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>grab:break_actions</name>
+          <_description>Allow breaking grabs with keyboard actions (warning: security risk)</_description>
+        </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="true">
       <!-- Special shortcuts for the Euro character -->
-- 
1.7.8.3