File: 020_autorepeat.diff

package info (click to toggle)
kxl 1.1.7-17
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, sid, trixie
  • size: 4,060 kB
  • sloc: sh: 8,448; ansic: 1,288; makefile: 12
file content (36 lines) | stat: -rw-r--r-- 1,155 bytes parent folder | download | duplicates (6)
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
--- kxl-1.1.7.orig/src/KXLvisual.c
+++ kxl-1.1.7/src/KXLvisual.c
@@ -364,7 +366,11 @@
   KXL_ReSizeFrame(w, h);
   KXL_Clear_Frame(0, 0, w, h);
   // Auto repeat off
-  XAutoRepeatOff(KXL_Root->Display);
+  XkbSetDetectableAutoRepeat(KXL_Root->Display, True,
+                             &KXL_Root->DetectAutoRepeat);
+  if(!KXL_Root->DetectAutoRepeat) {
+    XAutoRepeatOff(KXL_Root->Display);
+  }
 }
 
 //==============================================================
@@ -377,7 +383,9 @@
   XFreeGC(KXL_Root->Display, KXL_Root->Frame->Gc);
   KXL_Free(KXL_Root->Frame);
   // Auto repeat on
-  XAutoRepeatOn(KXL_Root->Display);
+  if(!KXL_Root->DetectAutoRepeat) {
+    XAutoRepeatOn(KXL_Root->Display);
+  }
   // Delete font
   XFreeGC(KXL_Root->Display, KXL_Root->FontGC);
   // Delete window
--- kxl-1.1.7.orig/src/KXL.h
+++ kxl-1.1.7/src/KXL.h
@@ -205,6 +207,7 @@
   KXL_Frame   *Frame;    // Pointer of frame structure
   GC           FontGC;   // GC of font
   XFontStruct *WinFont;  // Pointer of font structrue
+  Bool         DetectAutoRepeat; // Does the server have detectable auto repeat
 } KXL_Window;
 // RGBE palette
 typedef struct {