SOURCES: directvnc-latin2.patch (NEW) - added support for the lati...

witekfl witekfl at pld-linux.org
Mon Dec 18 20:25:49 CET 2006


Author: witekfl                      Date: Mon Dec 18 19:25:49 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- added support for the latin2 keyboard

---- Files affected:
SOURCES:
   directvnc-latin2.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/directvnc-latin2.patch
diff -u /dev/null SOURCES/directvnc-latin2.patch:1.1
--- /dev/null	Mon Dec 18 20:25:49 2006
+++ SOURCES/directvnc-latin2.patch	Mon Dec 18 20:25:44 2006
@@ -0,0 +1,179 @@
+--- directvnc-0.7.5/src/dfb.c.old	2006-12-18 18:47:53.000000000 +0100
++++ directvnc-0.7.5/src/dfb.c	2006-12-18 20:08:32.000000000 +0100
+@@ -386,11 +386,10 @@
+ ===========================================================================
+ */
+ 
+-
+ /* This table assumes an iso8859_1 encoding for the characters 
+  * > 80, as returned by pccons */
+-static KeySym latin1_to_x[256] = {
+-	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++static KeySym latin_to_x[2][256] = {
++{	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
+ 	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
+ 	XK_BackSpace,	XK_Tab,		XK_Linefeed,	XK_VoidSymbol,
+ 	XK_VoidSymbol,	XK_Return,	XK_VoidSymbol,	XK_VoidSymbol,
+@@ -454,7 +453,74 @@
+ 	XK_ocircumflex,	XK_otilde,	XK_odiaeresis,	XK_division,
+ 	XK_oslash,	XK_ugrave,	XK_uacute,	XK_ucircumflex,
+ 	XK_udiaeresis,	XK_yacute,	XK_thorn, 	XK_ydiaeresis
+-      };
++      },
++{
++/*00*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*04*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*08*/	XK_BackSpace,	XK_Tab,		XK_Linefeed,	XK_VoidSymbol,
++/*0C*/	XK_VoidSymbol,	XK_Return,	XK_VoidSymbol,	XK_VoidSymbol,
++/*10*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*14*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*18*/	XK_Cancel,	XK_VoidSymbol,	XK_VoidSymbol,	XK_Escape,
++/*1C*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*20*/	XK_space,	XK_exclam,	XK_quotedbl,	XK_numbersign,
++/*24*/	XK_dollar,	XK_percent,	XK_ampersand,	XK_apostrophe,
++/*28*/	XK_parenleft,	XK_parenright,	XK_asterisk,	XK_plus,
++/*2C*/	XK_comma,	XK_minus,	XK_period,	XK_slash,
++/*30*/	XK_0,		XK_1,		XK_2,		XK_3,
++/*34*/	XK_4,		XK_5,		XK_6,		XK_7,
++/*38*/	XK_8,		XK_9,		XK_colon,	XK_semicolon,
++/*3C*/	XK_less,	XK_equal,	XK_greater,	XK_question,
++/*40*/	XK_at,		XK_A,		XK_B,		XK_C,
++/*44*/	XK_D,		XK_E,		XK_F,		XK_G,
++/*48*/	XK_H,		XK_I,		XK_J,		XK_K,
++/*4C*/	XK_L,		XK_M,		XK_N,		XK_O,
++/*50*/	XK_P,		XK_Q,		XK_R,		XK_S,
++/*54*/	XK_T,		XK_U,		XK_V,		XK_W,
++/*58*/	XK_X,		XK_Y,		XK_Z,		XK_bracketleft,
++/*5C*/	XK_backslash,	XK_bracketright,XK_asciicircum,	XK_underscore,
++/*60*/	XK_grave,	XK_a,		XK_b,		XK_c,
++/*64*/	XK_d,		XK_e,		XK_f,		XK_g,
++/*68*/	XK_h,		XK_i,		XK_j,		XK_k,
++/*6C*/	XK_l,		XK_m,		XK_n,		XK_o,
++/*70*/	XK_p,		XK_q,		XK_r,		XK_s,
++/*74*/	XK_t,		XK_u,		XK_v,		XK_w,
++/*78*/	XK_x,		XK_y,		XK_z,		XK_braceleft,
++/*7C*/	XK_bar,		XK_braceright,	XK_asciitilde,	XK_Delete,
++/*80*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*84*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*88*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*8C*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*90*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*94*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*98*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*9C*/	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,	XK_VoidSymbol,
++/*A0*/	XK_nobreakspace,XK_Aogonek,	XK_breve,	XK_Lstroke,
++/*A4*/	XK_currency,	XK_Lcaron,	XK_Sacute,	XK_section,
++/*A8*/	XK_diaeresis,	XK_Scaron,	XK_Scedilla,	XK_Tcaron,
++/*AC*/	XK_Zacute,	XK_hyphen,	XK_Zcaron,	XK_Zabovedot,
++/*B0*/	XK_degree,	XK_aogonek,	XK_ogonek,	XK_lstroke,
++/*B4*/	XK_acute,	XK_lcaron,	XK_sacute,	XK_caron,
++/*B8*/	XK_cedilla,	XK_scaron,	XK_scedilla,	XK_tcaron,
++/*BC*/	XK_zacute,	XK_doubleacute,	XK_zcaron,	XK_zabovedot,
++/*C0*/	XK_Racute,	XK_Aacute,	XK_Acircumflex,	XK_Abreve,
++/*C4*/	XK_Adiaeresis,	XK_Lacute,	XK_Cacute,	XK_Ccedilla,
++/*C8*/	XK_Ccaron,	XK_Eacute,	XK_Eogonek,	XK_Ediaeresis,
++/*CC*/	XK_Ecaron,	XK_Iacute,	XK_Icircumflex,	XK_Dcaron,
++/*D0*/	XK_Dstroke,	XK_Nacute,	XK_Ncaron,	XK_Oacute,
++/*D4*/	XK_Ocircumflex,	XK_Odoubleacute,XK_Odiaeresis,	XK_multiply,
++/*D8*/	XK_Rcaron,	XK_Uring,	XK_Uacute,	XK_Udoubleacute,
++/*DC*/	XK_Udiaeresis,	XK_Yacute,	XK_Tcedilla,	XK_ssharp,
++/*E0*/	XK_racute,	XK_aacute,	XK_acircumflex,	XK_abreve,
++/*E4*/	XK_adiaeresis,	XK_lacute,	XK_cacute,	XK_ccedilla,
++/*E8*/	XK_ccaron,	XK_eacute,	XK_eogonek,	XK_ediaeresis,
++/*EC*/	XK_ecaron,	XK_iacute,	XK_icircumflex, XK_dcaron,
++/*F0*/	XK_dstroke,	XK_nacute,	XK_ncaron, 	XK_oacute,
++/*F4*/	XK_ocircumflex,	XK_odoubleacute,XK_odiaeresis,	XK_division,
++/*F8*/	XK_rcaron,	XK_uring,	XK_uacute,	XK_udoubleacute,
++/*FC*/	XK_udiaeresis,	XK_yacute,	XK_tcedilla, 	XK_abovedot
++}
++};
+ 
+ static DFBInputDeviceKeymapSymbolIndex diksi[4] = {
+   DIKSI_BASE,
+@@ -566,7 +632,7 @@
+     return XK_ISO_Left_Tab;
+ 
+   if (symbol > 0 && symbol < 256)
+-    return latin1_to_x[symbol];
++    return latin_to_x[opt.codepage][symbol];
+ 
+   if (DFB_KEY_TYPE (symbol) == DIKT_FUNCTION && symbol < DFB_FUNCTION_KEY(36))
+     return XK_F1 + symbol - DIKS_F1;
+--- directvnc-0.7.5/src/args.c.old	2006-12-18 19:38:51.000000000 +0100
++++ directvnc-0.7.5/src/args.c	2006-12-18 20:09:09.000000000 +0100
+@@ -35,7 +35,6 @@
+    if (argc <= 1)
+       show_usage_and_exit();
+ 
+-   
+    /* servername and display like so: 192.168.0.1:1 or so: localhost:2 */
+    buf = argv[1];
+ 
+@@ -71,6 +70,7 @@
+    opt.v_ratio = 1;
+    opt.h_offset = 0;
+    opt.v_offset = 0;
++   opt.codepage = 0;
+ 
+ #ifdef DEBUG
+    printf("server: %s\n", opt.servername);
+@@ -86,7 +86,7 @@
+ static void
+ _parse_options_array(int argc, char **argv) 
+ {
+-   static char stropts[] = "hvob:p:e:c:q:snlf:";
++   static char stropts[] = "hvob:p:e:c:q:snlf:i";
+    static struct option lopts[] = {
+       /* actions */
+       {"help", 0, 0, 'h'},
+@@ -101,6 +101,7 @@
+       {"noshared", 0, 0, 'n'},
+       {"nolocalcursor", 0, 0, 'l'},
+       {"pollfrequency", 1, 0, 'f'},
++      {"latin2", 0, 0, 'i'},
+       {0, 0, 0, 0}
+    };
+    int optch = 0, cmdx = 0;
+@@ -164,8 +165,9 @@
+ 	    if (quality >=0 && quality <= 9)
+ 	       opt.client.quality = quality;
+ 	    break;
+-
+-
++	case 'i':
++	    opt.codepage = 1;
++	    break;
+       }
+    }
+ }
+@@ -192,6 +194,7 @@
+  "  -l, --nolocalcursor        Disable local cursor handling.\n"
+  "  -c, --compresslevel        0..9 compression level to be used by zlib\n"
+  "  -q, --quality              0..9 quality level to be used by jpeg compression in tight encoding\n"
++ "  -i, --latin2               Use latin2 keysyms\n"
+  , VERSION);
+    exit(1);
+ }
+--- directvnc-0.7.5/src/directvnc.h.old	2006-12-18 20:03:04.000000000 +0100
++++ directvnc-0.7.5/src/directvnc.h	2006-12-18 20:04:53.000000000 +0100
+@@ -130,6 +130,7 @@
+    double v_ratio;
+    int h_offset;
+    int v_offset;
++   int codepage;
+ };
+ 
+ 
+--- directvnc-0.7.5/directvnc.1.old	2006-12-18 19:48:34.000000000 +0100
++++ directvnc-0.7.5/directvnc.1	2006-12-18 19:49:49.000000000 +0100
+@@ -91,6 +91,10 @@
+ that look suitable for lossy compression, so quality level 0 does not always
+ mean unacceptable image quality.
+ 
++.TP 5
++.B -i --latin2
++Use the latin2 table of keysyms.
++
+ .SH LIMITATIONS
+ Currently only 16 bpp color depth is supported.
+ .SH BUGS
================================================================


More information about the pld-cvs-commit mailing list