--- xxkb-1.11.orig/3gr.html +++ xxkb-1.11/3gr.html @@ -0,0 +1,56 @@ + +Три раскладки в xxkb + + + +

Как с помошью xxkb работать более чем с двумя +раскладками клавиатуры

+ +

Одной из проблем при руссификации "иксов" является то, что некоторые +приложения ("правильные") нормально вводят русские буквы, если в раскладке +клавиатуры они закодированы двубайтными кодами - Cyrillic_A, Cyrillic_BE +и т.д., а другие ("неправильные") понимают только однобайтные коды +(которые используются в xmodmap). + +

Попытки заставить все приложения работать с одной и той же раскладкой, +не всегда приводят к успеху. + +

При этом существует достаточно простое решение - держать в системе +две "русских" раскладки - для "правильных" и "неправильных" программ. +Неудобство в том, что вместе с латинской получается уже три раскладки и +переключаться между ними с помощью одной клавиши становится очень неудобно. + +

При использовнии "штатного средства" - +клавиатурного модуля XKB, +можно с помощью файлов конфигурации этого XKB загрузить сразу три раскладки +клавиатуры (вообще-то их может быть до 4-х). Но тогда клавиша-переключатель +будет иметь не два состояния (лат/рус), а циклически перебирать все три +раскладки. + +

В этом случае вам может облегчить жизнь программка xxkb. +

+ + + --- xxkb-1.11.orig/Imakefile +++ xxkb-1.11/Imakefile @@ -3,7 +3,7 @@ BASEDIR = $(PROJECTROOT) BINDIR = $(BASEDIR)/bin PIXMAPDIR = $(BASEDIR)/share/xxkb -LOCAL_LIBRARIES = $(XONLYLIB) -lXpm -lXt +LOCAL_LIBRARIES = $(XONLYLIB) -lXpm -lXt -lXext OBJS = xxkb.o resource.o wlist.o PIXMAPS = pixmaps/by15.xpm pixmaps/by48.xpm \ --- xxkb-1.11.orig/debian/README.Debian +++ xxkb-1.11/debian/README.Debian @@ -0,0 +1,9 @@ +xxkb for Debian +---------------------- + +Added 3gr.html (http://pascal.tsu.ru/other/xxkb/3gr.html) and ru-koi-3gr +(http://pascal.tsu.ru/other/xkb/ru-koi-3gr) - instructions how to use 3 +keyboard layouts with XKB and Russian XKB symbols with 3 groups to make work +with Russian input both XKB-aware and not XKB-aware applications. + + -- Artem Chuprina , Fri Jan 28 20:12:56 MSK 2000 --- xxkb-1.11.orig/debian/changelog +++ xxkb-1.11/debian/changelog @@ -0,0 +1,169 @@ +xxkb (1.11-2.1ubuntu2) bionic; urgency=high + + * No change rebuild to pick up -fPIE compiler default + + -- Balint Reczey Tue, 03 Apr 2018 12:53:29 +0000 + +xxkb (1.11-2.1ubuntu1) oneiric; urgency=low + + * Apply patch from lukinfore resolving incorrect semantics in man + page. (LP: #825873) + + -- Daniel T Chen Fri, 19 Aug 2011 17:06:30 -0400 + +xxkb (1.11-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "segfaults on startup": add patch from Sebastian Andrzej Siewior to + handle missing config file (closes: #562033). + + -- gregor herrmann Sun, 17 Jan 2010 23:45:28 +0100 + +xxkb (1.11-2) unstable; urgency=low + + [ Artem Chuprina ] + * Build-Depends on xutils-dev + [ UNera ] + * Standards-Version bumped to 3.8.3: + - removed DH_COMPAT option from debian/rules. + - added call to dh_fixperms (closes a few lintian warnings). + - make clean errors aren't ignored (lintian warning). + - use dh_prep instead obsolete dh_clean -k (lintian warning). + - added copyright record like in source files, added link to + /usr/share/common-licenses/Artistic in copyright (lintian warning). + - menuitem was moved from obsolete Apps/Tools to Applications/System + (lintian warning). + - 'Homepage' was moved from description to control's tag (lintian warning). + - Fixed error in manpage (lintian warning). + * Merge Artem's changelog and unstable. + * Added debian/watch. + + -- Artem Chuprina Sat, 19 Sep 2009 23:26:00 +0400 + +xxkb (1.11-1) unstable; urgency=low + + * New upstream version + + -- Artem Chuprina Sat, 1 Nov 2008 19:17:20 +0300 + +xxkb (1.10-2.2) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS by replacing obsolete xutils with xutils-dev in + Build-Depends (Closes: #485732). + * Set urgency to Б─°mediumБ─² as this bug affects testing too. + * Remove obsolete x-dev from Build-Depends too (Closes: #515483). + * debian/control: Move the Homepage where it belongs. + * debian/rules: Uncomment the dh_fixperms call (Closes: #391850). + * Menu transition: move from obsolete Б─°Apps/ToolsБ─² to + Б─°Applications/System/AdministrationБ─². + + -- Cyril Brulebois Sun, 21 Jul 2009 03:48:31 +0200 + +xxkb (1.10-2.1) unstable; urgency=high + + * Non-maintainer upload. + * Split xlibs-dev build-dep (Closes: #346869). + + -- Luk Claes Fri, 20 Jan 2006 17:21:36 +0100 + +xxkb (1.10-2) unstable; urgency=medium + + * Fixed homepage + * List in the package description beautified (closes: #135082, #159175) + * Unreproducible bug #208012 reported as not present in the new version by + submitter (closes: #208012) + * Applied patch from Andreas Jochens (closes: #264160) + + -- Artem Chuprina Tue, 28 Sep 2004 20:03:09 +0400 + +xxkb (1.10-1) unstable; urgency=low + + * New upstream version + * I hope this really (Closes: #114611) + + -- Artem Chuprina Fri, 6 Jun 2003 18:23:43 +0400 + +xxkb (1.8-1) unstable; urgency=low + + * New upstream version + + -- Artem Chuprina Sat, 10 Aug 2002 17:40:57 +0400 + +xxkb (1.6-4) unstable; urgency=low + + * Included dependency on debhelper (Closes: #124147) + * Fixed minor spelling errors (Closes: #125572) + + -- Artem Chuprina Tue, 18 Dec 2001 14:24:20 +0300 + +xxkb (1.6-3) unstable; urgency=low + + * Minor corrections in documentation; fixed bug in packing of previous package + * Changed PIXMAPDIR and target in Imakefile + * Formally changed menu entry (really changed in previous versions). + (Closes: #114611) + + -- Artem Chuprina Sat, 15 Dec 2001 15:13:22 +0300 + +xxkb (1.6-2) unstable; urgency=low + + * Technical rebuild + + -- Artem Chuprina Fri, 9 Mar 2001 16:19:07 +0300 + +xxkb (1.6-1) unstable; urgency=low + + * New uptream verion. Really moved /usr/X11R6/lib/X11/app-defaults/XXkb to /etc/X11/app-defaults/XXkb. (Closes: #86340). I mean it. No kidding. + + -- Daniel Ginsburg Tue, 6 Mar 2001 19:11:08 +0300 + +xxkb (1.5.1-3) unstable; urgency=low + + * Changed conffiles from /usr/X11R6/lib/X11/app-defaults/XXkb to + /etc/X11/app-defaults/XXkb. (Closes: #85385) + + -- Peter Novodvorsky Sun, 11 Feb 2001 07:30:51 +0300 + +xxkb (1.5.1-2) unstable; urgency=low + + * Pixmap dir moved to /usr/share/xxkb + * Added translation of README into English + * Sponsor upload by Peter Novodvorsky. (closes: #81145) + + -- Artem Chuprina Thu, 1 Feb 2001 05:05:49 +0300 + +xxkb (1.5.1-1) unstable; urgency=low + + * New upstream version: incorporated fix from 1.5-2 and fixed bug when xxkb + did not work with mainwindow turned off. + + -- Artem Chuprina Fri, 24 Nov 2000 01:23:51 +0300 + +xxkb (1.5-2) unstable; urgency=low + + * fight with wm_class_class + + -- Artem Chuprina Thu, 9 Nov 2000 15:40:41 +0300 + +xxkb (1.5-1) unstable; urgency=low + + * New upstream version + + -- Artem Chuprina Mon, 23 Oct 2000 22:58:01 +0400 + +xxkb (1.4-1) unstable; urgency=low + + * New upstream version + + -- Artem Chuprina Mon, 15 May 2000 12:36:08 +0400 + +xxkb (1.3-1) unstable; urgency=low + + * Moved to new upstream version and debhelper + + -- Artem Chuprina Fri, 28 Jan 2000 20:35:02 +0300 + +Local variables: +mode: debian-changelog +End: --- xxkb-1.11.orig/debian/compat +++ xxkb-1.11/debian/compat @@ -0,0 +1 @@ +7 --- xxkb-1.11.orig/debian/control +++ xxkb-1.11/debian/control @@ -0,0 +1,23 @@ +Source: xxkb +Section: x11 +Priority: optional +Build-Depends: debhelper (>= 7.0), xutils-dev, libx11-dev, libxpm-dev, libxt-dev, libxext-dev +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Artem Chuprina +Standards-Version: 3.8.3 +Homepage: http://sourceforge.net/projects/xxkb/ + +Package: xxkb +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Keyboard state indicator and switcher for xkb + This program is a keyboard state indicator and switcher for xkb. Features: + - shows current xkb group (pixmap in its own window) + - allows switch group by mouse click + - allows individual state for every window + - can install its own button (indicator/mouse switcher) on every window's + title bar + - can restrict keyboard states for every window to only two ("main group" - + "alternative group") if xkb set up for more than two groups. + Bugs: + - documentation is partially in Russian (koi8-r charset) only --- xxkb-1.11.orig/debian/copyright +++ xxkb-1.11/debian/copyright @@ -0,0 +1,11 @@ +This package was debianized by Artem Chuprina + +It was downloaded from http://xxkb.sourceforge.net + +Copyright (c) 1999-2009, by Ivan Pascal + +Artistic license. On Debian systems, full text of Artistic +license is alailable in /usr/share/common-licenses/Artistic. + +Debian packaging is (C) 2000-2009 Artem Chuprina +and is licensed under the Artistic, see /usr/share/common-licenses/Artistic. --- xxkb-1.11.orig/debian/debhelper.log +++ xxkb-1.11/debian/debhelper.log @@ -0,0 +1,13 @@ +dh_installdirs +dh_installdocs +dh_installmenu +dh_installmanpages +dh_installchangelogs +dh_link +dh_strip +dh_compress +dh_installdeb +dh_shlibdeps +dh_gencontrol +dh_md5sums +dh_builddeb --- xxkb-1.11.orig/debian/docs +++ xxkb-1.11/debian/docs @@ -0,0 +1,5 @@ +README-Linux.koi8 +README.koi8 +README +3gr.html +ru-koi-3gr --- xxkb-1.11.orig/debian/install +++ xxkb-1.11/debian/install @@ -0,0 +1,2 @@ +etc +usr --- xxkb-1.11.orig/debian/menu +++ xxkb-1.11/debian/menu @@ -0,0 +1,2 @@ +?package(xxkb):needs="x11" section="Applications/System/Administration" \ + title="xxkb" command="/usr/bin/xxkb" --- xxkb-1.11.orig/debian/postinst.debhelper +++ xxkb-1.11/debian/postinst.debhelper @@ -0,0 +1,5 @@ +# Automatically added by dh_installmenu +if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then + update-menus +fi +# End automatically added section --- xxkb-1.11.orig/debian/postrm.debhelper +++ xxkb-1.11/debian/postrm.debhelper @@ -0,0 +1,3 @@ +# Automatically added by dh_installmenu +if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi +# End automatically added section --- xxkb-1.11.orig/debian/rules +++ xxkb-1.11/debian/rules @@ -0,0 +1,70 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +build: build-stamp +build-stamp: + dh_testdir + xmkmf + $(MAKE) + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + [ ! -f Makefile ] || $(MAKE) distclean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + # Add here commands to install the package into debian/tmp. + $(MAKE) install install.man DESTDIR=`pwd`/debian/tmp + mv debian/tmp/usr/share/man/man1/xxkb.1x \ + debian/tmp/usr/share/man/man1/xxkb.1 + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install +# dh_testversion + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs +# dh_installexamples + dh_installmenu + dh_install +# dh_installemacsen +# dh_installpam +# dh_installinit +# dh_installcron + dh_installmanpages +# dh_installinfo +# dh_undocumented + dh_installchangelogs CHANGES.koi8 + dh_link + dh_strip + dh_compress + dh_fixperms +# You may want to make some executables suid here. +# dh_suidregister +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- xxkb-1.11.orig/debian/substvars +++ xxkb-1.11/debian/substvars @@ -0,0 +1,2 @@ +shlibs:Depends=libc6 (>= 2.0), libx11-6, libxext6, libxpm4, libxt6 +misc:Depends= --- xxkb-1.11.orig/debian/watch +++ xxkb-1.11/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/xxkb/xxkb-(\d+(?:\.\d+)+)-src\.tar\.gz --- xxkb-1.11.orig/resource.c +++ xxkb-1.11/resource.c @@ -558,9 +558,7 @@ char *homedir, *filename; char *str_list, *res_app_list, res_ctrls[256]; int i, j; -#ifndef XT_RESOURCE_SEARCH size_t len; -#endif /* * Init pixbuf engine @@ -587,7 +585,10 @@ } sprintf(filename, "%s/%s", APPDEFDIR, APPDEFFILE); #endif - db = XrmGetFileDatabase(filename); + if (filename) + db = XrmGetFileDatabase(filename); + else + db = NULL; if (db == NULL) { /* * this situation is not fatal if the user has all @@ -618,12 +619,30 @@ /* * merge settings */ - stat = XrmCombineFileDatabase(filename, &db, True); + if (filename) + stat = XrmCombineFileDatabase(filename, &db, True); + else + stat = NULL; if (stat == 0 && db == NULL) { /* failed */ warnx("Unable to find configuration data"); return 5; } + + if (!filename) { + /* + * In case the user did not have a config file we have to come + * up with one + */ + len = strlen(homedir) + 1 + strlen(USERDEFFILE); + filename = malloc(len + 1); + if (filename == NULL) { + warn(NULL); + XrmDestroyDatabase(db); + return 1; + } + sprintf(filename, "%s/%s", homedir, USERDEFFILE); + } /* * start with the conf object */ --- xxkb-1.11.orig/ru-koi-3gr +++ xxkb-1.11/ru-koi-3gr @@ -0,0 +1,160 @@ +xkb_symbols { + + // Describes the differences between a very simple en_US + // keyboard and a very simple Russian keybaord + +// key { [ ISO_Next_Group, Caps_Lock ]}; + key { [ ISO_Next_Group ]}; + + name[Group1]= "US/ASCII"; + name[Group2]= "KOI8-R"; + name[Group3]= "Cyrillic"; + + key { [ grave, asciitilde ], + [ 0xa3, 0xb3 ], + [ Cyrillic_io, Cyrillic_IO ] }; + key { [ less, greater ], + [ bar, brokenbar ] }; + key { [ q, Q ], + [ 0xca, 0xea ], + [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ 1, exclam ], + [ exclam, 1 ], + [ exclam, 1 ] }; + key { [ z, Z ], + [ 0xd1, 0xf1 ], + [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ s, S ], + [ 0xd9, 0xf9 ], + [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ a, A ], + [ 0xc6, 0xe6 ], + [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ w, W ], + [ 0xc3, 0xe3 ], + [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ 2, at ], + [ quotedbl, 2 ], + [ quotedbl, 2 ] }; + key { [ c, C ], + [ 0xd3, 0xf3 ], + [ Cyrillic_es, Cyrillic_ES ] }; + key { [ x, X ], + [ 0xde, 0xfe ], + [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ d, D ], + [ 0xd7, 0xf7 ], + [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ e, E ], + [ 0xd5, 0xf5 ], + [ Cyrillic_u, Cyrillic_U ] }; + key { [ 4, dollar ], + [ asterisk, 4 ], + [ asterisk, 4 ] }; + key { [ 3, numbersign ], + [ apostrophe, 3 ], + [ apostrophe, 3 ] }; + key { [ v, V ], + [ 0xcd, 0xed ], + [ Cyrillic_em, Cyrillic_EM ] }; + key { [ f, F ], + [ 0xc1, 0xe1 ], + [ Cyrillic_a, Cyrillic_A ] }; + key { [ t, T ], + [ 0xc5, 0xe5 ], + [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ r, R ], + [ 0xcb, 0xeb ], + [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ 5, percent ], + [ colon, 5 ], + [ colon, 5 ] }; + key { [ n, N ], + [ 0xd4, 0xf4 ], + [ Cyrillic_te, Cyrillic_TE ] }; + key { [ b, B ], + [ 0xc9, 0xe9 ], + [ Cyrillic_i, Cyrillic_I ] }; + key { [ h, H ], + [ 0xd2, 0xf2 ], + [ Cyrillic_er, Cyrillic_ER ] }; + key { [ g, G ], + [ 0xd0, 0xf0 ], + [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ y, Y ], + [ 0xce, 0xee ], + [ Cyrillic_en, Cyrillic_EN ] }; + key { [ 6, asciicircum ], + [ comma, 6 ], + [ comma, 6 ] }; + key { [ m, M ], + [ 0xd8, 0xf8 ], + [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key { [ j, J ], + [ 0xcf, 0xef ], + [ Cyrillic_o, Cyrillic_O ] }; + key { [ u, U ], + [ 0xc7, 0xe7 ], + [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ 7, ampersand ], + [ period, 7 ], + [ period, 7 ] }; + key { [ 8, asterisk ], + [ semicolon, 8 ], + [ semicolon, 8 ] }; + key { [ comma, less ], + [ 0xc2, 0xe2 ], + [ Cyrillic_be, Cyrillic_BE ] }; + key { [ k, K ], + [ 0xcc, 0xec ], + [ Cyrillic_el, Cyrillic_EL ] }; + key { [ i, I ], + [ 0xdb, 0xfb ], + [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ o, O ], + [ 0xdd, 0xfd ], + [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ 0, parenright ], + [ parenright, 0 ], + [ parenright, 0 ] }; + key { [ 9, parenleft ], + [ parenleft, 9 ], + [ parenleft, 9 ] }; + key { [ period, greater ], + [ 0xc0, 0xe0 ], + [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ slash, question ], + [ slash, question ] }; + key { [ l, L ], + [ 0xc4, 0xe4 ], + [ Cyrillic_de, Cyrillic_DE ] }; + key { [ semicolon, colon ], + [ 0xd6, 0xf6 ], + [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ p, P ], + [ 0xda, 0xfa ], + [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ minus, underscore ], + [ minus, underscore ] }; + key { [ apostrophe, quotedbl ], + [ 0xdc, 0xfc ], + [ Cyrillic_e, Cyrillic_E ] }; + key { [ bracketleft, braceleft ], + [ 0xc8, 0xe8 ], + [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ equal, plus ], + [ equal, plus ] }; + key { [ bracketright, braceright ], + [ 0xdf, 0xff ], + [Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; + key { [ backslash, bar ], + [ backslash, bar ] }; + + // Begin modifier mappings + + modifier_map Shift { Shift_L }; + modifier_map Lock { Caps_Lock, ISO_Lock }; + modifier_map Control{ Control_L }; + modifier_map Mod3 { Mode_switch }; +}; + --- xxkb-1.11.orig/xxkb.man +++ xxkb-1.11/xxkb.man @@ -89,7 +89,7 @@ .B XXkb.mainwindow.border.width border width in pixels. .TP 4 -.B XXkb.mainwindow.xpm.N +.B XXkb.mainwindow.image.N pixmap file names for each indicated group N. If your symbols map has less than four groups the unused group icons can be omitted. If the file name begins from '/' it means full path for the file. Otherwise it means the @@ -144,7 +144,7 @@ .TP 4 .B XXkb.controls.button_delete_and_forget This mode in addition to previous one makes \fBxxkb\fR to forget the window -which button is deleted. It means the \fBxxkb\f will not remember the keyboard +which button is deleted. It means the \fBxxkb\fR will not remember the keyboard state changes in this window and restore this state when the window will be focused. .TP 4 @@ -181,7 +181,7 @@ .B XXkb.button.geometry the button geometry ( WIDTHxHEIGHT{+-}XOFF{+-}YOFF ). .TP 4 -.B XXkb.button.xpm.N +.B XXkb.button.image.N the pixmap file names (the same as for the \fBXXkb.mainwindow.xpm.*\fR options). .TP 4 .B XXkb.button.label.enable