Removed ukeyboard. Package splited to slovak-l10n and posix-locales-sksk
authorRoman Moravcik <roman.moravcik@gmail.com>
Sat, 31 Oct 2009 18:06:38 +0000 (19:06 +0100)
committerRoman Moravcik <roman.moravcik@gmail.com>
Sat, 31 Oct 2009 18:06:38 +0000 (19:06 +0100)
74 files changed:
LICENSE [deleted file]
Makefile
debian/control
debian/copyright
debian/patches/00list
debian/patches/02_ukeyboard_installonly_sk.dpatch [deleted file]
debian/posix-locales-sksk.install [new file with mode: 0644]
debian/posix-locales-sksk.postinst [new file with mode: 0755]
debian/posix-locales-sksk.postrm [new file with mode: 0755]
debian/rules
debian/slovak-l10n.install [new file with mode: 0644]
debian/slovak-l10n.postinst [deleted file]
debian/slovak-l10n.postrm [deleted file]
ukeyboard/CREDITS [deleted file]
ukeyboard/LICENSE [deleted file]
ukeyboard/Makefile [deleted file]
ukeyboard/README [deleted file]
ukeyboard/VERSION [deleted file]
ukeyboard/cpanel/Makefile [deleted file]
ukeyboard/cpanel/about.c [deleted file]
ukeyboard/cpanel/about.h [deleted file]
ukeyboard/cpanel/about.inc.in [deleted file]
ukeyboard/cpanel/hw.c [deleted file]
ukeyboard/cpanel/hw.h [deleted file]
ukeyboard/cpanel/lang.c [deleted file]
ukeyboard/cpanel/lang.h [deleted file]
ukeyboard/cpanel/langset.c [deleted file]
ukeyboard/cpanel/langset.h [deleted file]
ukeyboard/cpanel/onscreen.c [deleted file]
ukeyboard/cpanel/onscreen.h [deleted file]
ukeyboard/cpanel/prefs.c [deleted file]
ukeyboard/cpanel/prefs.h [deleted file]
ukeyboard/cpanel/ukeyboard-prefs.desktop [deleted file]
ukeyboard/cpanel/ukeyboard-set [deleted file]
ukeyboard/cpanel/ukeyboard.sudoers [deleted file]
ukeyboard/debian/changelog [deleted file]
ukeyboard/debian/compat [deleted file]
ukeyboard/debian/control [deleted file]
ukeyboard/debian/copyright [deleted file]
ukeyboard/debian/rules [deleted file]
ukeyboard/debian/ukeyboard.postinst [deleted file]
ukeyboard/debian/ukeyboard.postrm [deleted file]
ukeyboard/doc/howto [deleted file]
ukeyboard/doc/vkb-format-v3 [deleted file]
ukeyboard/keyboards-scv/Makefile [deleted file]
ukeyboard/keyboards-scv/sk-qwerty.def [deleted file]
ukeyboard/keyboards-scv/sk-qwertz.def [deleted symlink]
ukeyboard/keyboards/Makefile [deleted file]
ukeyboard/keyboards/ar-lebanon.def [deleted file]
ukeyboard/keyboards/be-by.def [deleted file]
ukeyboard/keyboards/bg-bds.def [deleted file]
ukeyboard/keyboards/bg-phonetic.def [deleted file]
ukeyboard/keyboards/en-dvorak.def [deleted file]
ukeyboard/keyboards/eo-qwerty.def [deleted file]
ukeyboard/keyboards/he-qwerty.def [deleted file]
ukeyboard/keyboards/hr-qwerty.def [deleted file]
ukeyboard/keyboards/hr-qwertz.def [deleted file]
ukeyboard/keyboards/hu-qwertz.def [deleted file]
ukeyboard/keyboards/latin.special.def-template [deleted file]
ukeyboard/keyboards/sk-qwerty.def [deleted file]
ukeyboard/keyboards/sk-qwertz.def [deleted file]
ukeyboard/keyboards/th-kedmanee.def [deleted file]
ukeyboard/keyboards/tr-qwerty.def [deleted file]
ukeyboard/ukbdcreator/Makefile [deleted file]
ukeyboard/ukbdcreator/compiler.c [deleted file]
ukeyboard/ukbdcreator/cz.upir.ukbdcreator.service [deleted file]
ukeyboard/ukbdcreator/ukbdcreator.c [deleted file]
ukeyboard/ukbdcreator/ukbdcreator.desktop [deleted file]
ukeyboard/ukbdcreator/ukbdcreator.h [deleted file]
ukeyboard/ukeyboard.png [deleted file]
ukeyboard/vkb_compiler.c [deleted file]
ukeyboard/vkb_compiler.h [deleted file]
ukeyboard/vkb_compiler_lib.c [deleted file]
ukeyboard/xkb/ukeyboard [deleted file]

diff --git a/LICENSE b/LICENSE
deleted file mode 100644 (file)
index 5b6e7c6..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,340 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
index 42e60ce..eb45f57 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,6 @@
 locale_set = sk_SK
 
 LOCALES_DIR = posix-locales
-UKEYBOARD_DIR = ukeyboard
 
 all:
        mkdir -p $(LOCALES_DIR)/build
@@ -12,19 +11,16 @@ all:
        done
 
        $(MAKE) -C po
-       CFLAGS="$(CFLAGS) -DHAVE_MAEMO5" $(MAKE) -C $(UKEYBOARD_DIR)
 
 install:       all
        install -d $(DESTDIR)/usr/lib/locale/
        mv $(LOCALES_DIR)/build/* $(DESTDIR)/usr/lib/locale/
 
        $(MAKE) -C po DESTDIR=$(DESTDIR) install
-       CFLAGS="$(CFLAGS) -DHAVE_MAEMO5" $(MAKE) -C $(UKEYBOARD_DIR) DESTDIR=$(DESTDIR) install
 
 clean:
        rm -rf $(LOCALES_DIR)/build
        $(MAKE) -C po clean
-       $(MAKE) -C $(UKEYBOARD_DIR) clean
 
 distclean:
        $(MAKE) clean
index 464b16b..df5c0eb 100644 (file)
@@ -1,17 +1,16 @@
 Source: slovak-l10n
-Section: user/other
+Section: user/system
 Priority: optional
 Maintainer: Roman Moravcik <roman.moravcik@gmail.com>
 Build-Depends: debhelper (>= 4.0.0), libosso-dev, libosso-gnomevfs2-dev, libhildonfm2-dev, hildon-control-panel-dev, libc6 (>> 2.5.0), locales (>= 2.5.0)
 Standards-Version: 3.6.1
 
 Package: slovak-l10n
-Architecture: any
-Depends: ${shlibs:Depends}
-Replaces: ukeyboard
+Architecture: all
+Depends: ${shlibs:Depends}, ukeyboard (>= 2.0), posix-locales-sksk
 Description:  Unofficial slovak support for Maemo5
- Unofficial slovak support for Maemo5 including on-screen,
- HW keyboard layouts, Slovak locale and transation of UI.
+ Unofficial slovak support for Maemo5 including Slovak locale
+ and transation of UI.
 XB-Maemo-Display-Name: Slovak localization
 XB-Maemo-Icon-26:
  iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c
@@ -45,3 +44,9 @@ XB-Maemo-Icon-26:
  VzfPYeXmNvrCwoKHvLw7pZPipYvhXEfGldgNA+AyEFMnE31lFS2xIqbu2wEf
  f5rzhl8XAAy79MRpQTSe6SE3OoDhEPJl568rgHyW/nNUA9AANAANQAPQ0tLS
  0tLS0tLSGnH6B9nT06h6DhFlAAAAAElFTkSuQmCC
+
+Package: posix-locales-sksk
+Architecture: all
+Depends: libc6 (>> 2.5.0)
+Description: Slovak POSIX locales for Fremantle
+ Package provides Slovak locales for Fremantle.
index e068978..5e1cf3e 100644 (file)
@@ -1,7 +1,3 @@
-This package was debianized by Roman Moravcik <roman.moravcik@gmail.com> on Thu,
-3 Sep 2009 17:38:11 +0200.
-
-po:
 # Copyright (C) 2006-2007 Nokia Corporation. All rights reserved.
 #
 # Contact: Mohammed Hassan <mohammed.2.hassan@nokia.com>
@@ -29,19 +25,3 @@ po:
 # POSSIBILITY OF SUCH DAMAGE.
 #
 #
-
-posix-locales:
----------------------------------------------------------------------
-Copyright (c) 2005 Nokia Corporation.
-
-posix-locales data is licensed under the terms of the GNU LGPL.
----------------------------------------------------------------------
-
-ukeyboard:
-Copyright:
-
-2007-2008, Jiri Benc <jbenc@upir.cz>
-
-License:
-
-GPLv2
index e530454..0a9cea5 100644 (file)
@@ -1,3 +1 @@
 01_posix-locales_sk.dpatch
-02_ukeyboard_installonly_sk.dpatch
-
diff --git a/debian/patches/02_ukeyboard_installonly_sk.dpatch b/debian/patches/02_ukeyboard_installonly_sk.dpatch
deleted file mode 100755 (executable)
index 8291e7e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02_ukeyboard_installonly_sk.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
-@DPATCH@
-diff -Naur slovak-l10n/ukeyboard/keyboards/Makefile slovak-l10n/ukeyboard/keyboards/Makefile
---- slovak-l10n/ukeyboard/keyboards/Makefile   2008-12-30 13:49:12.000000000 +0100
-+++ slovak-l10n/ukeyboard/keyboards/Makefile   2009-10-09 14:03:31.000000000 +0200
-@@ -1,16 +1,5 @@
- layouts = \
--      ar-lebanon.vkb \
--      be-by.vkb \
--      bg-bds.vkb \
--      bg-phonetic.vkb \
--      en-dvorak.vkb \
--      eo-qwerty.vkb \
--      he-qwerty.vkb \
--      hr-qwerty.vkb hr-qwertz.vkb \
--      hu-qwertz.vkb \
--      sk-qwerty.vkb sk-qwertz.vkb \
--      th-kedmanee.vkb \
--      tr-qwerty.vkb
-+      sk-qwerty.vkb sk-qwertz.vkb
- all: $(layouts)
-diff -Naur slovak-l10n/ukeyboard/Makefile slovak-l10n/ukeyboard/Makefile
---- slovak-l10n/ukeyboard/Makefile     2009-10-09 11:14:35.000000000 +0200
-+++ slovak-l10n/ukeyboard/Makefile     2009-10-09 14:03:15.000000000 +0200
-@@ -25,8 +25,6 @@
-       $(MAKE) -C cpanel DESTDIR=$(DESTDIR) install
-       $(MAKE) -C keyboards DESTDIR=$(DESTDIR) install
-       $(MAKE) -C keyboards-scv DESTDIR=$(DESTDIR) install
--      install -d $(DESTDIR)/usr/share/icons/hicolor/26x26/apps
--      install -m 0644 ukeyboard.png $(DESTDIR)/usr/share/icons/hicolor/26x26/apps/
-       install -d $(DESTDIR)/usr/share/X11/xkb/symbols/nokia_vndr
-       install -m 0644 xkb/ukeyboard $(DESTDIR)/usr/share/X11/xkb/symbols/nokia_vndr/
diff --git a/debian/posix-locales-sksk.install b/debian/posix-locales-sksk.install
new file mode 100644 (file)
index 0000000..e987667
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/locale/sk_SK/*
\ No newline at end of file
diff --git a/debian/posix-locales-sksk.postinst b/debian/posix-locales-sksk.postinst
new file mode 100755 (executable)
index 0000000..ad919c9
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+add_remove_language add sk_SK
+
+exit 0
diff --git a/debian/posix-locales-sksk.postrm b/debian/posix-locales-sksk.postrm
new file mode 100755 (executable)
index 0000000..c18fd10
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+add_remove_language remove sk_SK
+
+exit 0
index 504af1f..ba9744a 100755 (executable)
@@ -11,7 +11,7 @@
 
 include /usr/share/dpatch/dpatch.make
 
-DESTDIR=$(CURDIR)/debian/slovak-l10n
+DESTDIR=$(CURDIR)/debian/tmp
 
 configure: configure-stamp
 configure-stamp:
@@ -58,6 +58,9 @@ binary-arch: build install
        dh_testroot
        dh_installchangelogs
        dh_installdocs
+       dh_install --sourcedir=debian/tmp
+       cp ./posix-locales/debian/copyright ./debian/posix-locales-sksk/usr/share/doc/posix-locales-sksk/copyright
+       dh_compress
        dh_fixperms
        dh_installdeb
        dh_gencontrol
diff --git a/debian/slovak-l10n.install b/debian/slovak-l10n.install
new file mode 100644 (file)
index 0000000..1e489c6
--- /dev/null
@@ -0,0 +1 @@
+usr/share/locale/sk_SK/LC_MESSAGES/*.mo
\ No newline at end of file
diff --git a/debian/slovak-l10n.postinst b/debian/slovak-l10n.postinst
deleted file mode 100755 (executable)
index 813f837..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-if ! grep -q ukeyboard /usr/share/X11/xkb/rules/base; then
-    sed -i 's/^.*nokiarx44.*$/\0\n  ukeyboard  *                       =       nokia_vndr\/ukeyboard(%l)/' /usr/share/X11/xkb/rules/base
-fi
-    
-if [ -f /usr/share/applications/hildon-control-panel/cptextinput.desktop ]; then
-    mv -f /usr/share/applications/hildon-control-panel/cptextinput.desktop /usr/share/applications/hildon-control-panel/cptextinput.desktop.removed
-fi
-
-add_remove_language add sk_SK
-update-sudoers
-
-exit 0
diff --git a/debian/slovak-l10n.postrm b/debian/slovak-l10n.postrm
deleted file mode 100755 (executable)
index 53ebd3f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-sed -ni '/ukeyboard/!p' /usr/share/X11/xkb/rules/base
-
-if [ -f /usr/share/applications/hildon-control-panel/cptextinput.desktop.removed ]; then
-    mv -f /usr/share/applications/hildon-control-panel/cptextinput.desktop.removed /usr/share/applications/hildon-control-panel/cptextinput.desktop
-fi
-    
-add_remove_language remove sk_SK
-update-sudoers
-
-exit 0
diff --git a/ukeyboard/CREDITS b/ukeyboard/CREDITS
deleted file mode 100644 (file)
index da6bcd5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-Hámorszky Balázs <balihb@freepop.hu>
-Nickola Trupcheff <n.trupcheff@gmail.com>
-Paul Sweeney <paul@8-bitdesign.com>
-Michal Příhoda <michal@prihoda.net>
-Marcin Juszkiewicz <openembedded@haerwu.biz>
-Roman Moravčík <roman.moravcik@gmail.com>
-Ali Khadra <tyros99@yahoo.com>
-Ognian Samokovliyski <ogi@bg-id.com>
-Panu Tangchalermkul <panuta@gmail.com>
-Lovro Orešković <oreskovic@gmail.com>
-Jan Yenya Kasprzak  <kas@fi.muni.cz>
-Matan Ziv-Av <matan@svgalib.org>
-Paweł Dyś <padys.pl@gmail.com>
-Darafei Praliaskouski <komzpa@gmail.com>
-Ethan S. <dragon788@gmail.com>
-Burak Ilgicioglu <ilgicioglu@gmail.com>
-Porfyras <porfyras@gmail.com>
diff --git a/ukeyboard/LICENSE b/ukeyboard/LICENSE
deleted file mode 100644 (file)
index 5b6e7c6..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/ukeyboard/Makefile b/ukeyboard/Makefile
deleted file mode 100644 (file)
index 7696a3f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-all:   vkb_compiler ukeyboard-prefs keyboards keyboards-scv ukbdcreator
-
-ukeyboard-prefs:
-       $(MAKE) -C cpanel
-
-vkb_compiler:  vkb_compiler.o vkb_compiler_lib.o
-       $(CC) -o $@ $+
-
-vkb_compiler.o:        vkb_compiler.c vkb_compiler.h
-       $(CC) -W -Wall -c -o $@ $<
-
-vkb_compiler_lib.o:    vkb_compiler_lib.c vkb_compiler.h
-       $(CC) -W -Wall -c -o $@ $<
-
-keyboards:     vkb_compiler
-       $(MAKE) -C keyboards
-
-keyboards-scv: vkb_compiler
-       $(MAKE) -C keyboards-scv
-
-ukbdcreator:   vkb_compiler_lib.o
-       $(MAKE) -C ukbdcreator
-
-install:       ukeyboard-prefs keyboards-scv
-       $(MAKE) -C cpanel DESTDIR=$(DESTDIR) install
-       $(MAKE) -C keyboards DESTDIR=$(DESTDIR) install
-       $(MAKE) -C keyboards-scv DESTDIR=$(DESTDIR) install
-       install -d $(DESTDIR)/usr/share/icons/hicolor/26x26/apps
-       install -m 0644 ukeyboard.png $(DESTDIR)/usr/share/icons/hicolor/26x26/apps/
-       install -d $(DESTDIR)/usr/share/X11/xkb/symbols/nokia_vndr
-       install -m 0644 xkb/ukeyboard $(DESTDIR)/usr/share/X11/xkb/symbols/nokia_vndr/
-
-clean:
-       $(MAKE) -C cpanel clean
-       $(MAKE) -C keyboards clean
-       $(MAKE) -C keyboards-scv clean
-       $(MAKE) -C ukbdcreator clean
-       rm -f vkb_compiler *.o core
-       rm -rf build
-
-distclean:
-       $(MAKE) clean
-       rm -f *-stamp
-       rm -rf debian/ukeyboard debian/ukbdcreator debian/files
diff --git a/ukeyboard/README b/ukeyboard/README
deleted file mode 100644 (file)
index 9ffec64..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-** Keyboard layout compiler for Nokia N800 and N810 (OS2008) **
-
-Distributed under GPLv2.
-(Except doc/vkb-format-v3, which is placed into public domain; see the file
-for more info.)
-
-Based on the following sources:
-- source code of gen_vkb tool for Nokia 770
-- reverse engineering of .vkb data files from Nokia N800 and N810
-
-Note that the input format is different than the one used by the gen_vkb
-tool. This tool uses a plain text file which is (contrary to XML) much more
-easier to write when creating the layout by hand.
-
-See doc/howto for instructions how to create a custom on-screen keyboard layout.
-Look at xkb/ukeyboard if you want to create a custom sliding keyboard layout.
diff --git a/ukeyboard/VERSION b/ukeyboard/VERSION
deleted file mode 100644 (file)
index cd5ac03..0000000
+++ /dev/null
@@ -1 +0,0 @@
-2.0
diff --git a/ukeyboard/cpanel/Makefile b/ukeyboard/cpanel/Makefile
deleted file mode 100644 (file)
index 98895b0..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-libukeyboard-prefs.so: prefs.o hw.o onscreen.o lang.o langset.o about.o
-       $(CC) -shared -o $@ $+
-
-add_cflags = `pkg-config --cflags gtk+-2.0 hildon-1 gconf-2.0 libosso`
-
-prefs.o:       prefs.c
-       $(CC) -c -W -Wall `pkg-config --cflags gtk+-2.0 gconf-2.0 hildon-control-panel libosso` -o $@ $<
-
-hw.o:  hw.c
-       $(CC) -c -W -Wall $(add_cflags) -o $@ $<
-
-onscreen.o:    onscreen.c
-       $(CC) -c -W -Wall $(add_cflags) -o $@ $<
-
-lang.o:        lang.c
-       $(CC) -c -W -Wall $(add_cflags) -o $@ $<
-
-langset.o:     langset.c
-       $(CC) -c -W -Wall $(add_cflags) -o $@ $<
-
-about.o:       about.c about.inc
-       $(CC) -c -W -Wall $(add_cflags) -o $@ $<
-
-about.inc:     about.inc.in
-#      for f in ../keyboards/*; do \
-#              grep '^[ \t]*#[ \t]*\(title:\|author:\)' $$f | \
-#              sed -e 's/</\&lt;/g' -e 's/>/\&gt;/g' -e 's/^.*title:[ \t]*\(.*\)/<i>\1:<\/i>\\n\\/' -e 's/^.*author:[ \t]*\(.*\)/\t\1\\n\\/' ; \
-#      done > about.data
-       sed -e 's/</\&lt;/g' -e 's/>/\&gt;/g' -e 's/$$/\\n\\/' < ../CREDITS > about.data
-       sed -e s/@@VERSION@@/`cat ../VERSION`/g -e '/@@CONTRIB@@/r about.data' -e '/@@CONTRIB@@/d' < about.inc.in > about.inc
-
-cppluginlibdir = $(DESTDIR)`pkg-config hildon-control-panel --variable=pluginlibdir`
-cpplugindeskdir = $(DESTDIR)`pkg-config hildon-control-panel --variable=plugindesktopentrydir`
-
-install:       libukeyboard-prefs.so
-       install -d $(cppluginlibdir) $(cpplugindeskdir)
-       install libukeyboard-prefs.so $(cppluginlibdir)
-       install -m 644 ukeyboard-prefs.desktop $(cpplugindeskdir)
-       install -d $(DESTDIR)/usr/libexec $(DESTDIR)/etc/sudoers.d
-       install ukeyboard-set $(DESTDIR)/usr/libexec
-       install -m 644 ukeyboard.sudoers $(DESTDIR)/etc/sudoers.d
-
-clean:
-        rm -f *.o libukeyboard-prefs.so about.inc about.data core
diff --git a/ukeyboard/cpanel/about.c b/ukeyboard/cpanel/about.c
deleted file mode 100644 (file)
index c3c9e9e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <hildon/hildon.h>
-#include <libosso.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "prefs.h"
-#include "hw.h"
-
-static GtkWidget *start(GConfClient *client, GtkWidget *win, void **data)
-{
-       GtkWidget *scroll;
-       GtkWidget *label;
-
-       (void)client; (void)win;
-
-       scroll = hildon_pannable_area_new();
-
-       label = gtk_label_new(NULL);
-       gtk_label_set_markup(GTK_LABEL(label),
-#include "about.inc"
-       );
-       hildon_pannable_area_add_with_viewport (HILDON_PANNABLE_AREA(scroll), label);
-       *data = NULL;
-       return GTK_WIDGET(scroll);
-}
-
-void prefs_about_init(struct prefs *prefs)
-{
-       prefs->start = start;
-       prefs->action = NULL;
-       prefs->stop = NULL;
-       prefs->name = "About";
-}
diff --git a/ukeyboard/cpanel/about.h b/ukeyboard/cpanel/about.h
deleted file mode 100644 (file)
index 614ab65..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _ABOUT_H
-#define _ABOUT_H
-
-void prefs_about_init(struct prefs *prefs);
-
-#endif
diff --git a/ukeyboard/cpanel/about.inc.in b/ukeyboard/cpanel/about.inc.in
deleted file mode 100644 (file)
index bc22ca4..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-"\
-<span weight=\"bold\" foreground=\"blue\">ukeyboard @@VERSION@@</span>\n\
-<span foreground=\"blue\">http://upir.cz/maemo/keyboards</span>\n\
-Distributed under GPLv2.\n\
-Author: Jiří Benc &lt;jbenc@upir.cz&gt;\n\
-        Roman Moravčík &lt;roman.moravcik@gmail.com&gt;\n\
-\n\
-<b>Contributors:</b>\n\
-@@CONTRIB@@
-"
diff --git a/ukeyboard/cpanel/hw.c b/ukeyboard/cpanel/hw.c
deleted file mode 100644 (file)
index 15c40d4..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <hildon/hildon-caption.h>
-#include <hildon/hildon.h>
-#include <libosso.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "prefs.h"
-#include "hw.h"
-
-#define GETTEXT_PACKAGE "osso-applet-textinput"
-#include <glib/gi18n-lib.h>
-
-struct layout {
-       gchar *model;
-       gchar *layout;
-       gchar *name;
-};
-
-struct data {
-       GList *layouts;
-       HildonTouchSelector *combo;
-};
-
-static char *strip(char *s)
-{
-       while (*s == ' ' || *s == '\t' || *s == '\n' || *s == '\r')
-               s++;
-       return s;
-}
-
-static GList *get_layouts(gchar *path, gchar *model, GList *list)
-{
-       FILE *f;
-       char *buf, *s, *s2;
-       gchar *layout = NULL;
-       struct layout *lay;
-
-       f = fopen(path, "r");
-       if (!f)
-               return list;
-       buf = g_malloc(512);
-       if (!buf) {
-               fclose(f);
-               return list;
-       }
-       while (fgets(buf, 512, f)) {
-               s = strip(buf);
-               if (!strncmp(s, "xkb_symbols", 11)) {
-                       if (layout) {
-                               g_free(layout);
-                               layout = NULL;
-                       }
-                       s = strip(s + 11);
-                       if (*s != '"')
-                               continue;
-                       s++;
-                       s2 = strchr(s, '"');
-                       if (!s2)
-                               continue;
-                       *s2 = '\0';
-                       layout = g_strdup(s);
-               } else if (!strncmp(s, "name", 4) && layout) {
-                       s = strip(s + 4);
-                       if (*s != '[')
-                               continue;
-                       s2 = strchr(s, ']');
-                       if (!s2)
-                               continue;
-                       s = strip(s2 + 1);
-                       if (*s != '=')
-                               continue;
-                       s = strip(s + 1);
-                       if (*s != '"')
-                               continue;
-                       s++;
-                       s2 = strchr(s, '"');
-                       if (!s2)
-                               continue;
-                       *s2 = '\0';
-                       lay = g_malloc(sizeof(struct layout));
-                       lay->model = g_strdup(model);
-                       lay->layout = layout;
-                       lay->name = g_strdup(s);
-                       layout = NULL;
-                       list = g_list_append(list, lay);
-               }
-       }
-       fclose(f);
-       return list;
-}
-
-static void free_layouts(GList *list)
-{
-       GList *item;
-       struct layout *lay;
-
-       for (item = list; item; item = g_list_next(item)) {
-               lay = item->data;
-               g_free(lay->model);
-               g_free(lay->layout);
-               g_free(lay->name);
-               g_free(lay);
-       }
-       g_list_free(list);
-}
-
-static GtkWidget *start(GConfClient *client, GtkWidget *win, void **data)
-{
-       struct data *d;
-       GList *item;
-       gchar *omodel, *olayout;
-       struct layout *lay;
-       unsigned i;
-
-       GtkWidget *button;
-
-       (void)win;
-
-       if (!internal_kbd) {
-               *data = NULL;
-               return NULL;
-       }
-
-       d = g_malloc(sizeof(struct data));
-
-       omodel = get_str(client, "int_kb_model");
-       olayout = get_str(client, "int_kb_layout");
-       d->layouts = get_layouts("/usr/share/X11/xkb/symbols/nokia_vndr/rx-51", "nokiarx51", NULL);
-       d->layouts = get_layouts("/usr/share/X11/xkb/symbols/nokia_vndr/ukeyboard", "ukeyboard", d->layouts);
-
-       d->combo = HILDON_TOUCH_SELECTOR(hildon_touch_selector_new_text());
-
-       button = hildon_picker_button_new(HILDON_SIZE_FINGER_HEIGHT, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
-       hildon_button_set_title(HILDON_BUTTON(button), _("tein_fi_keyboard_layout"));
-       hildon_picker_button_set_selector(HILDON_PICKER_BUTTON (button), d->combo);
-       hildon_button_set_alignment (HILDON_BUTTON (button), 0.0, 0.5, 1.0, 0.0);
-       hildon_button_set_title_alignment(HILDON_BUTTON(button), 0.0, 0.5);
-       hildon_button_set_value_alignment (HILDON_BUTTON (button), 0.0, 0.5);
-
-       for (item = d->layouts, i = 0; item; item = g_list_next(item), i++) {
-               lay = item->data;
-               hildon_touch_selector_append_text(d->combo, lay->name);
-               if (omodel && olayout && !strcmp(lay->model, omodel) && !strcmp(lay->layout, olayout))
-                       hildon_touch_selector_set_active(d->combo, 0, i);
-       }
-
-       g_free(olayout);
-       g_free(omodel);
-
-       *data = d;
-
-       gtk_widget_show(button);
-
-       return button;
-}
-
-static void action(GConfClient *client, void *data)
-{
-       struct data *d = data;
-       struct layout *lay;
-       int res;
-
-       if (!d)
-               return;
-       res = hildon_touch_selector_get_active(d->combo, 0);
-       if (res >= 0) {
-               lay = g_list_nth_data(d->layouts, res);
-               if (lay) {
-                       set_str(client, "int_kb_model", lay->model);
-                       set_str(client, "int_kb_layout", lay->layout);
-               }
-       }
-}
-
-static void stop(GConfClient *client, void *data)
-{
-       struct data *d = data;
-
-       (void)client;
-       if (d) {
-               free_layouts(d->layouts);
-               g_free(d);
-       }
-}
-
-void prefs_hw_init(struct prefs *prefs)
-{
-       prefs->start = start;
-       prefs->action = action;
-       prefs->stop = stop;
-       prefs->name = "Hardware";
-}
diff --git a/ukeyboard/cpanel/hw.h b/ukeyboard/cpanel/hw.h
deleted file mode 100644 (file)
index 1c110d3..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _HW_H
-#define _HW_H
-
-void prefs_hw_init(struct prefs *prefs);
-
-#endif
diff --git a/ukeyboard/cpanel/lang.c b/ukeyboard/cpanel/lang.c
deleted file mode 100644 (file)
index 828088f..0000000
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <hildon/hildon-caption.h>
-#include <hildon/hildon-banner.h>
-#include <hildon/hildon.h>
-#include <libosso.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "prefs.h"
-#include "lang.h"
-#include "langset.h"
-
-#define GETTEXT_PACKAGE "osso-applet-textinput"
-#include <glib/gi18n-lib.h>
-
-struct langlink {
-       gchar *src;
-       gchar *dest;
-};
-
-struct data {
-       GConfClient *client;
-       GtkWidget *win;
-       GList *langs;
-       GList *langlinks;
-       HildonCheckButton *word_compl;
-       HildonCheckButton *auto_cap;
-       HildonCheckButton *sp_after;
-       HildonPickerButton *sec_dictsel;
-       HildonTouchSelector *langsel[2];
-       HildonTouchSelector *dictsel[2];
-       HildonCheckButton *dual;
-       int num_langs;
-};
-
-static gchar *get_lang(GConfClient *client, int n)
-{
-       char *tmp = g_strdup_printf("/apps/osso/inputmethod/hildon-im-languages/language-%d", n);
-       gchar *res;
-
-       res = gconf_client_get_string(client, tmp, NULL);
-       g_free(tmp);
-       return res;
-}
-
-static void set_lang(GConfClient *client, int n, gchar *val)
-{
-       char *tmp = g_strdup_printf("/apps/osso/inputmethod/hildon-im-languages/language-%d", n);
-
-       gconf_client_set_string(client, tmp, val, NULL);
-       g_free(tmp);
-}
-
-static gchar *read_vkb_str(FILE *f)
-{
-       gchar *res;
-       uint8_t len;
-
-       if (!fread(&len, 1, 1, f) || !len)
-               return NULL;
-       res = g_malloc(len + 1);
-       if (fread(res, 1, len, f) != len) {
-               g_free(res);
-               return NULL;
-       }
-       res[len] = '\0';
-       return res;
-}
-
-static struct lang *read_vkb(gchar *path)
-{
-       FILE *f;
-       struct lang *res = NULL;
-       uint8_t ver;
-       gchar *desc, *code;
-
-       f = fopen(path, "r");
-       if (!f)
-               return NULL;
-       /* version */
-       if (!fread(&ver, 1, 1, f) || ver != 1)
-               goto no;
-       /* number of sections */
-       if (!fread(&ver, 1, 1, f))
-               goto no;
-       /* descriptive name */
-       desc = read_vkb_str(f);
-       if (!desc)
-               goto no;
-       /* locale name */
-       code = read_vkb_str(f);
-       if (!code) {
-               g_free(desc);
-               goto no;
-       }
-
-       res = g_malloc(sizeof(struct lang));
-       res->desc = desc;
-       res->code = code;
-no:
-       fclose(f);
-       return res;
-}
-
-static GList *add_lang_link(gchar *path, gchar *dest, GList *list)
-/* 'dest' has to be allocated; it's eaten by this function! */
-{
-       struct langlink *langlink;
-       gchar *link, *tmp;
-
-       link = g_file_read_link(path, NULL);
-       if (link) {
-               langlink = g_malloc(sizeof(struct langlink));
-               langlink->dest = dest;
-               tmp = strrchr(link, '/');
-               langlink->src = tmp ? tmp + 1 : link;
-               tmp = strrchr(link, '.');
-               if (tmp)
-                       *tmp = '\0';
-               langlink->src = g_strdup(langlink->src);
-               g_free(link);
-               list = g_list_append(list, langlink);
-       }
-       return list;
-}
-
-static GList *get_langs(gchar *path, GList **langlinks, GList *list)
-{
-       GDir *d;
-       const gchar *fname;
-       gchar *fullpath, *shortpath, *tmp;
-       struct lang *lang;
-
-       d = g_dir_open(path, 0, NULL);
-       if (!d)
-               return list;
-       while ((fname = g_dir_read_name(d))) {
-               if (!g_str_has_suffix(fname, ".vkb"))
-                       continue;
-               fullpath = g_strjoin("/", path, fname, NULL);
-               shortpath = g_strdup(fname);
-               tmp = strrchr(shortpath, '.');
-               if (tmp)
-                       *tmp = '\0';
-               if (langlinks && g_file_test(fullpath, G_FILE_TEST_IS_SYMLINK)) {
-                       *langlinks = add_lang_link(fullpath, shortpath, *langlinks);
-                       g_free(fullpath);
-                       continue;
-               }
-               lang = read_vkb(fullpath);
-               if (lang) {
-                       lang->fname = shortpath;
-                       lang->ext = !langlinks;
-                       list = g_list_append(list, lang);
-               } else
-                       g_free(shortpath);
-               g_free(fullpath);
-       }
-       g_dir_close(d);
-       return list;
-}
-
-static struct lang *get_def_lang(gchar *code, GList *langs, GList *langlinks)
-{
-       GList *item;
-       struct lang *lang;
-       struct langlink *langlink;
-
-       if (!code || !*code)
-               return NULL;
-       for (item = langs; item; item = g_list_next(item)) {
-               lang = item->data;
-               if (!strcmp(lang->fname, code))
-                       return lang;
-       }
-       if (langlinks)
-               for (item = langlinks; item; item = g_list_next(item)) {
-                       langlink = item->data;
-                       if (!strcmp(langlink->dest, code))
-                               return get_def_lang(langlink->src, langs, NULL);
-               }
-       return NULL;
-}
-
-static void free_langs(GList *list)
-{
-       GList *item;
-       struct lang *lang;
-
-       for (item = list; item; item = g_list_next(item)) {
-               lang = item->data;
-               g_free(lang->fname);
-               g_free(lang->desc);
-               g_free(lang->code);
-               g_free(lang);
-       }
-       g_list_free(list);
-}
-
-static void free_langlinks(GList *list)
-{
-       GList *item;
-       struct langlink *langlink;
-
-       for (item = list; item; item = g_list_next(item)) {
-               langlink = item->data;
-               g_free(langlink->src);
-               g_free(langlink->dest);
-               g_free(langlink);
-       }
-       g_list_free(list);
-}
-
-static void fill_langsel(HildonTouchSelector *combo, GList *langs, struct lang *deflang, gboolean empty)
-{
-       GList *item;
-       struct lang *lang;
-       unsigned i;
-
-       for (item = langs, i = 0; item; item = g_list_next(item), i++) {
-               lang = item->data;
-               hildon_touch_selector_append_text(combo, lang->desc);
-               if (lang == deflang)
-                       hildon_touch_selector_set_active(combo, 0, i);
-       }
-       if (empty) {
-               hildon_touch_selector_append_text(combo, _("tein_fi_not_in_use"));
-               if (!deflang)
-                       hildon_touch_selector_set_active(combo, 0, i);
-       }
-}
-
-static void sensitivity_langsel(struct data *d)
-{
-       gboolean sens;
-
-       sens = (hildon_touch_selector_get_active(d->langsel[1], 0) < d->num_langs);
-       gtk_widget_set_sensitive(GTK_WIDGET(d->dual), sens);
-
-       if (sens)
-               gtk_widget_show(GTK_WIDGET(d->sec_dictsel));
-       else
-               gtk_widget_hide(GTK_WIDGET(d->sec_dictsel));
-}
-
-static void verify_langsel(HildonTouchSelector *combo, gint column, struct data *d)
-{
-       struct lang *lang[2];
-       int res;
-       unsigned i;
-
-       (void)combo;
-       for (i = 0; i < 2; i++) {
-               res = hildon_touch_selector_get_active(d->langsel[i], column);
-               lang[i] = (res >= 0) ? g_list_nth_data(d->langs, res) : NULL;
-       }
-       if (lang[0] && lang[1] && !strcmp(lang[0]->code, lang[1]->code)) {
-               hildon_banner_show_information(d->win, "gtk-dialog-error",
-                       "Impossible combination of languages");
-               hildon_touch_selector_set_active(d->langsel[1], column, d->num_langs);
-       }
-       sensitivity_langsel(d);
-}
-
-static GtkWidget *start(GConfClient *client, GtkWidget *win, void **data)
-{
-       struct data *d;
-       gchar *tmp;
-       GtkWidget *vbox, *table;
-       struct lang *lang;
-       unsigned i;
-
-       d = g_new0(struct data, 1);
-       d->client = client;
-       d->win = win;
-
-       d->langs = get_langs("/usr/share/keyboards", &d->langlinks, NULL);
-       d->langs = get_langs("/usr/share/ukeyboard", NULL, d->langs);
-       d->num_langs = g_list_length(d->langs);
-
-       vbox = gtk_vbox_new(FALSE, 0);
-
-       d->word_compl = HILDON_CHECK_BUTTON(hildon_check_button_new(HILDON_SIZE_FINGER_HEIGHT));
-       gtk_button_set_label (GTK_BUTTON (d->word_compl), _("tein_fi_settings_word_completion"));
-       gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(d->word_compl), TRUE, TRUE, 0);
-
-       d->auto_cap = HILDON_CHECK_BUTTON(hildon_check_button_new(HILDON_SIZE_FINGER_HEIGHT));
-       gtk_button_set_label (GTK_BUTTON (d->auto_cap), _("tein_fi_settings_auto_capitalization"));
-       gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(d->auto_cap), TRUE, TRUE, 0);
-
-       d->sp_after = HILDON_CHECK_BUTTON(hildon_check_button_new(HILDON_SIZE_FINGER_HEIGHT));
-       gtk_button_set_label (GTK_BUTTON (d->sp_after), _("tein_fi_settings_space_after_word"));
-       gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(d->sp_after), TRUE, TRUE, 0);
-
-       table = gtk_table_new(2, 2, TRUE);
-       gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0);
-
-       for (i = 0; i < 2; i++) {
-               GtkWidget *button;
-               gchar *code;
-
-               d->langsel[i] = HILDON_TOUCH_SELECTOR(hildon_touch_selector_new_text());
-               code = get_lang(client, i);
-               fill_langsel(d->langsel[i], d->langs, get_def_lang(code, d->langs, d->langlinks), i == 1);
-               g_signal_connect(G_OBJECT(d->langsel[i]), "changed", G_CALLBACK(verify_langsel), d);
-
-               button = hildon_picker_button_new(HILDON_SIZE_FINGER_HEIGHT, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
-               hildon_button_set_title(HILDON_BUTTON(button), i == 0 ? _("tein_fi_primary_language") : _("tein_fi_secondary_language"));
-               hildon_picker_button_set_selector(HILDON_PICKER_BUTTON (button), d->langsel[i]);
-               hildon_button_set_alignment (HILDON_BUTTON (button), 0.0, 0.5, 1.0, 0.0);
-               hildon_button_set_title_alignment(HILDON_BUTTON(button), 0.0, 0.5);
-               hildon_button_set_value_alignment (HILDON_BUTTON (button), 0.0, 0.5);
-               gtk_table_attach_defaults(GTK_TABLE(table), button, 0, 1, i, i + 1);
-
-               d->dictsel[i] = HILDON_TOUCH_SELECTOR(hildon_touch_selector_new_text());
-               tmp = get_l_str(client, code, "dictionary");
-               lang = get_def_lang(code, d->langs, d->langlinks);
-
-               /* If tmp is NULL (i.e. the gconf key is unset), try to use the same 
-                * dictionary as the keyboard. But don't do this if the keyboard is 
-                * from our package. */
-               fill_dict(d->dictsel[i], d->langs, (tmp || (lang && lang->ext)) ? tmp : code);
-               if (tmp)
-                       g_free(tmp);
-
-               button = hildon_picker_button_new(HILDON_SIZE_FINGER_HEIGHT, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
-               hildon_button_set_title(HILDON_BUTTON(button), _("tein_fi_settings_dictionary"));
-               hildon_picker_button_set_selector(HILDON_PICKER_BUTTON (button), d->dictsel[i]);
-               hildon_button_set_alignment (HILDON_BUTTON (button), 0.0, 0.5, 1.0, 0.0);
-               hildon_button_set_title_alignment(HILDON_BUTTON(button), 0.0, 0.5);
-               hildon_button_set_value_alignment (HILDON_BUTTON (button), 0.0, 0.5);
-               gtk_table_attach_defaults(GTK_TABLE(table), button, 1, 2, i, i + 1);
-
-               if (i == 1)
-                       d->sec_dictsel = HILDON_PICKER_BUTTON(button);
-               else {
-                       hildon_check_button_set_active(d->word_compl, get_l_bool(client, code, "word-completion"));
-                       hildon_check_button_set_active(d->auto_cap, get_l_bool(client, code, "auto-capitalisation"));
-                       hildon_check_button_set_active(d->sp_after, get_l_bool(client, code, "insert-space-after-word"));
-               }
-
-               if (code)
-                       g_free(code);
-       }
-
-       d->dual = HILDON_CHECK_BUTTON(hildon_check_button_new(HILDON_SIZE_FINGER_HEIGHT));
-       hildon_check_button_set_active(d->dual, get_bool(client, "dual-dictionary"));
-       gtk_button_set_label (GTK_BUTTON (d->dual), _("tein_fi_dual_dictionary_use"));
-       gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(d->dual), TRUE, TRUE, 0);
-
-       gtk_widget_show_all(vbox);
-
-       sensitivity_langsel(d);
-
-       *data = d;
-
-       return vbox;
-}
-
-static void action(GConfClient *client, void *data)
-{
-       struct data *d = data;
-       struct lang *lang;
-       gchar *tmp;
-       int res;
-       unsigned i;
-
-       for (i = 0; i < 2; i++) {
-               struct lang *dict;
-
-               res = hildon_touch_selector_get_active(d->langsel[i], 0);
-               if (res < 0)
-                       continue;
-               lang = g_list_nth_data(d->langs, res);
-               if (lang) {
-                       if (lang->ext) {
-                               tmp = g_strdup_printf("sudo /usr/libexec/ukeyboard-set %s %s", lang->fname, lang->code);
-                               if (system(tmp))
-                                       hildon_banner_show_information(d->win, "gtk-dialog-warning",
-                                               "Setting failed");
-                               g_free(tmp);
-                       }
-                       /* When the newly set layout has the same lang code as the
-                        * previous one (but the underlaying file changed), setting
-                        * the same value won't trigger layout reload. Workaround
-                        * that by setting "en_GB" lang code first. */
-                       set_lang(client, i, "en_GB");
-                       set_lang(client, i, lang->code);
-
-                       set_l_bool(client, lang->code, "auto-capitalisation", hildon_check_button_get_active(d->auto_cap));
-                       set_l_bool(client, lang->code, "word-completion", hildon_check_button_get_active(d->word_compl));
-                       set_l_bool(client, lang->code, "insert-space-after-word", hildon_check_button_get_active(d->sp_after));
-
-                       res = hildon_touch_selector_get_active(d->dictsel[i], 0);
-                       if (res >= 0)
-                               dict = g_list_nth_data(d->langs, res);
-
-                       if (dict && !dict->ext)
-                               set_l_str(client, lang->code, "dictionary", dict->code);
-                       else
-                               set_l_str(client, lang->code, "dictionary", "");
-               } else
-                       set_lang(client, i, "");
-       }
-       set_bool(client, "dual-dictionary", hildon_check_button_get_active(d->dual));
-}
-
-static void stop(GConfClient *client, void *data)
-{
-       struct data *d = data;
-
-       (void)client;
-
-       free_langs(d->langs);
-       free_langlinks(d->langlinks);
-       g_free(d);
-}
-
-void prefs_lang_init(struct prefs *prefs)
-{
-       prefs->start = start;
-       prefs->action = action;
-       prefs->stop = stop;
-       prefs->name = "Languages";
-}
diff --git a/ukeyboard/cpanel/lang.h b/ukeyboard/cpanel/lang.h
deleted file mode 100644 (file)
index 8619906..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _LANG_H
-#define _LANG_H
-
-void prefs_lang_init(struct prefs *prefs);
-
-struct lang {
-       gchar *fname;
-       gchar *desc;
-       gchar *code;
-       gboolean ext;
-};
-
-#endif
diff --git a/ukeyboard/cpanel/langset.c b/ukeyboard/cpanel/langset.c
deleted file mode 100644 (file)
index d001e2b..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <hildon/hildon-caption.h>
-#include <hildon/hildon.h>
-#include <libosso.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "prefs.h"
-#include "lang.h"
-#include "langset.h"
-
-#define GETTEXT_PACKAGE "osso-applet-textinput"
-#include <glib/gi18n-lib.h>
-
-#define L_CONF_DIR     "/apps/osso/inputmethod/hildon-im-languages"
-
-gboolean get_l_bool(GConfClient *client, char *lang, char *key)
-{
-       char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
-       gboolean res;
-
-       res = gconf_client_get_bool(client, tmp, NULL);
-       g_free(tmp);
-       return res;
-}
-
-void set_l_bool(GConfClient *client, char *lang, char *key, gboolean val)
-{
-       char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
-
-       g_debug("%s %d\n", tmp, val);
-
-       gconf_client_set_bool(client, tmp, val, NULL);
-       g_free(tmp);
-}
-
-gchar *get_l_str(GConfClient *client, char *lang, char *key)
-{
-       char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
-       GConfValue *val;
-       gchar *res;
-
-       val = gconf_client_get_without_default(client, tmp, NULL);
-       g_free(tmp);
-       if (!val)
-               return NULL;
-       if (val->type != GCONF_VALUE_STRING) {
-               gconf_value_free(val);
-               return NULL;
-       }
-       res = g_strdup(gconf_value_get_string(val));
-       gconf_value_free(val);
-       return res;
-}
-
-void set_l_str(GConfClient *client, char *lang, char *key, gchar *val)
-{
-       char *tmp = g_strjoin("/", L_CONF_DIR, lang, key, NULL);
-
-       gconf_client_set_string(client, tmp, val, NULL);
-       g_free(tmp);
-}
-
-void fill_dict(HildonTouchSelector *combo, GList *langs, gchar *deflang)
-{
-       GList *item;
-       struct lang *lang;
-       unsigned i;
-
-       for (item = langs, i = 0; item; item = g_list_next(item)) {
-               lang = item->data;
-               if (lang->ext)
-                       continue;
-               hildon_touch_selector_append_text(combo, lang->desc);
-               if (deflang && !strcmp(lang->code, deflang))
-                       hildon_touch_selector_set_active(combo, 0, i);
-               i++;
-       }
-       hildon_touch_selector_append_text(combo, _("tein_fi_word_completion_language_empty"));
-       if (!deflang || !*deflang)
-               hildon_touch_selector_set_active(combo, 0, i);
-}
diff --git a/ukeyboard/cpanel/langset.h b/ukeyboard/cpanel/langset.h
deleted file mode 100644 (file)
index 93b7f29..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _LANGSET_H
-#define _LANGSET_H
-
-gboolean get_l_bool(GConfClient *client, char *lang, char *key);
-void set_l_bool(GConfClient *client, char *lang, char *key, gboolean val);
-gchar *get_l_str(GConfClient *client, char *lang, char *key);
-void set_l_str(GConfClient *client, char *lang, char *key, gchar *val);
-void fill_dict(HildonTouchSelector *combo, GList *langs, gchar *deflang);
-
-#endif
diff --git a/ukeyboard/cpanel/onscreen.c b/ukeyboard/cpanel/onscreen.c
deleted file mode 100644 (file)
index 6e1df6c..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <hildon/hildon-caption.h>
-#include <hildon/hildon-controlbar.h>
-#include <hildon/hildon.h>
-#include <device_symbols.h>
-#include <libosso.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "prefs.h"
-#include "onscreen.h"
-
-#define GETTEXT_PACKAGE "osso-applet-textinput"
-#include <glib/gi18n-lib.h>
-
-struct data {
-       HildonCheckButton *use_finger;
-};
-
-static GtkWidget *start(GConfClient *client, GtkWidget *win, void **data)
-{
-       struct data *d;
-       GtkWidget *vbox;
-
-       (void)win;
-       d = g_new0(struct data, 1);
-
-       vbox = gtk_vbox_new(FALSE, 0);
-
-       d->use_finger = HILDON_CHECK_BUTTON(hildon_check_button_new(HILDON_SIZE_FINGER_HEIGHT));
-       hildon_check_button_set_active(d->use_finger, get_bool(client, "use_finger_kb"));
-       gtk_button_set_label (GTK_BUTTON (d->use_finger), _("tein_fi_use_virtual_keyboard"));
-       gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(d->use_finger), TRUE, TRUE, 0);
-
-       *data = d;
-
-       gtk_widget_show_all(vbox);
-
-       return vbox;
-}
-
-static void action(GConfClient *client, void *data)
-{
-       struct data *d = data;
-
-       set_bool(client, "use_finger_kb", hildon_check_button_get_active(d->use_finger));
-}
-
-void prefs_onscreen_init(struct prefs *prefs)
-{
-       prefs->start = start;
-       prefs->action = action;
-       prefs->stop = NULL;
-       prefs->name = internal_kbd ? "On-screen" : "General";
-}
diff --git a/ukeyboard/cpanel/onscreen.h b/ukeyboard/cpanel/onscreen.h
deleted file mode 100644 (file)
index d83a1eb..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _ONSCREEN_H
-#define _ONSCREEN_H
-
-void prefs_onscreen_init(struct prefs *prefs);
-
-#endif
diff --git a/ukeyboard/cpanel/prefs.c b/ukeyboard/cpanel/prefs.c
deleted file mode 100644 (file)
index d71ec25..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <libosso.h>
-#include <hildon-cp-plugin/hildon-cp-plugin-interface.h>
-#include <hildon/hildon.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "prefs.h"
-#include "hw.h"
-#include "onscreen.h"
-#include "lang.h"
-#include "about.h"
-
-#define GETTEXT_PACKAGE "osso-applet-textinput"
-#include <glib/gi18n-lib.h>
-
-static init_func inits[] = { prefs_hw_init, prefs_onscreen_init, prefs_lang_init, prefs_about_init };
-#define PLUGINS                (sizeof(inits) / sizeof(init_func))
-static struct prefs prefs[PLUGINS];
-
-gboolean internal_kbd;
-
-#define IM_CONF_DIR    "/apps/osso/inputmethod"
-
-gboolean get_bool(GConfClient *client, char *key)
-{
-       char *tmp = g_strjoin("/", IM_CONF_DIR, key, NULL);
-       gboolean res;
-
-       res = gconf_client_get_bool(client, tmp, NULL);
-       g_free(tmp);
-       return res;
-}
-
-void set_bool(GConfClient *client, char *key, gboolean val)
-{
-       char *tmp = g_strjoin("/", IM_CONF_DIR, key, NULL);
-
-       gconf_client_set_bool(client, tmp, val, NULL);
-       g_free(tmp);
-}
-
-gint get_int(GConfClient *client, char *key)
-{
-       char *tmp = g_strjoin("/", IM_CONF_DIR, key, NULL);
-       gint res;
-
-       res = gconf_client_get_int(client, tmp, NULL);
-       g_free(tmp);
-       return res;
-}
-
-void set_int(GConfClient *client, char *key, gint val)
-{
-       char *tmp = g_strjoin("/", IM_CONF_DIR, key, NULL);
-
-       gconf_client_set_int(client, tmp, val, NULL);
-       g_free(tmp);
-}
-
-gchar *get_str(GConfClient *client, char *key)
-{
-       char *tmp = g_strjoin("/", IM_CONF_DIR, key, NULL);
-       gchar *res;
-
-       res = gconf_client_get_string(client, tmp, NULL);
-       g_free(tmp);
-       return res;
-}
-
-void set_str(GConfClient *client, char *key, gchar *val)
-{
-       char *tmp = g_strjoin("/", IM_CONF_DIR, key, NULL);
-
-       gconf_client_set_string(client, tmp, val, NULL);
-       g_free(tmp);
-}
-
-static GConfClient *init_conf(void)
-{
-       GConfClient *client;
-
-       client = gconf_client_get_default();
-       if (!client)
-               return NULL;
-       gconf_client_add_dir(client, IM_CONF_DIR, GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
-       internal_kbd = get_bool(client, "have-internal-keyboard");
-       return client;
-}
-
-static void deinit_conf(GConfClient *client)
-{
-       g_object_unref(G_OBJECT(client));
-}
-
-osso_return_t execute(osso_context_t *osso, gpointer data, gboolean user_activated)
-{
-       GConfClient *conf;
-       GtkDialog *dialog, *about;
-       GtkWidget *scroll, *widget, *vbox;
-       gchar *title;
-       void *plugin_data[PLUGINS];
-       unsigned i;
-       int res;
-
-       (void)osso; (void)user_activated;       /* shut up, GCC */
-
-       conf = init_conf();
-       if (!conf)
-               return OSSO_ERROR;
-
-       for (i = 0; i < PLUGINS; i++) {
-               inits[i](prefs + i);
-       }
-
-       dialog = GTK_DIALOG(gtk_dialog_new());
-       if (!dialog) {
-               deinit_conf(conf);
-               return OSSO_ERROR;
-       }
-       gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(data));
-
-       title = g_strdup_printf("%s (ukeyboard)", _("tein_ti_text_input_title"));
-       gtk_window_set_title(GTK_WINDOW(dialog), title);
-       g_free(title);
-
-
-       gtk_dialog_add_button(GTK_DIALOG(dialog), "About", GTK_RESPONSE_HELP);
-       gtk_dialog_add_button(GTK_DIALOG(dialog), _HL("wdgt_bd_save"), GTK_RESPONSE_ACCEPT);
-
-       scroll = hildon_pannable_area_new();
-       gtk_widget_set_size_request(GTK_WIDGET (scroll), -1, 345);
-       gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), scroll);
-
-       vbox = gtk_vbox_new(FALSE, 0);
-       hildon_pannable_area_add_with_viewport (HILDON_PANNABLE_AREA(scroll), vbox);
-
-       gtk_widget_show_all(GTK_WIDGET(dialog));
-
-       for (i = 0; i < PLUGINS - 1; i++) {
-               widget = prefs[i].start(conf, GTK_WIDGET(dialog), &plugin_data[i]);
-               if (widget)
-                       gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0);
-       }
-
-       while ((res = gtk_dialog_run(GTK_DIALOG(dialog))) == GTK_RESPONSE_HELP) {
-               about = GTK_DIALOG(gtk_dialog_new());
-               gtk_window_set_title(GTK_WINDOW(about), _HL("ecdg_ti_aboutdialog_title"));
-               gtk_widget_set_size_request (GTK_WIDGET (about), -1, 300);
-
-               widget = prefs[3].start(conf, GTK_WIDGET(about), &plugin_data[3]);
-               gtk_container_add(GTK_CONTAINER(GTK_DIALOG(about)->vbox), widget);
-
-               gtk_widget_show_all(GTK_WIDGET(about));
-               gtk_dialog_run(GTK_DIALOG(about));
-               gtk_widget_destroy(GTK_WIDGET(about));
-
-       }
-       if (res == GTK_RESPONSE_ACCEPT) {
-               for (i = 0; i < PLUGINS; i++)
-                       if (prefs[i].action)
-                               prefs[i].action(conf, plugin_data[i]);
-       }
-       gtk_widget_destroy(GTK_WIDGET(dialog));
-
-       for (i = 0; i < PLUGINS; i++)
-               if (prefs[i].stop)
-                       prefs[i].stop(conf, plugin_data[i]);
-
-       deinit_conf(conf);
-       return OSSO_OK;
-}
diff --git a/ukeyboard/cpanel/prefs.h b/ukeyboard/cpanel/prefs.h
deleted file mode 100644 (file)
index 8bddb59..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *  Copyright (c) 2009 Roman Moravcik <roman.moravcik@gmail.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _PREFS_H
-#define _PREFS_H
-
-#define _HL(str) dgettext("hildon-libs",str)
-
-struct prefs {
-       GtkWidget *(*start)(GConfClient *, GtkWidget *, void **);
-       void (*action)(GConfClient *, void *);
-       void (*stop)(GConfClient *, void *);
-       char *name;
-};
-
-typedef void (*init_func)(struct prefs *);
-
-extern gboolean internal_kbd;
-
-gboolean get_bool(GConfClient *client, char *key);
-void set_bool(GConfClient *client, char *key, gboolean val);
-gint get_int(GConfClient *client, char *key);
-void set_int(GConfClient *client, char *key, gint val);
-gchar *get_str(GConfClient *client, char *key);
-void set_str(GConfClient *client, char *key, gchar *val);
-
-#endif
diff --git a/ukeyboard/cpanel/ukeyboard-prefs.desktop b/ukeyboard/cpanel/ukeyboard-prefs.desktop
deleted file mode 100644 (file)
index 3310437..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=tein_ti_text_input_title
-Comment=Advanced input settings configuration
-Type=HildonControlPanelPlugin
-Icon=control_pen_input
-Categories=personalisation
-X-control-panel-plugin=libukeyboard-prefs.so
-X-Text-Domain=osso-applet-textinput
diff --git a/ukeyboard/cpanel/ukeyboard-set b/ukeyboard/cpanel/ukeyboard-set
deleted file mode 100755 (executable)
index ccbce8f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-store=
-if [ "x$1" = "x-s" ]; then
-       store=1
-       shift
-fi
-
-if [ "x$1" = x -o "x$2" = x ]; then
-       echo "ukeyboard-set: Missing parameters."
-       exit 1
-fi
-dest="/usr/share/keyboards/$2.vkb"
-
-if [ "x$1" = "x-r" -a ! -f "$dest-saved" -a ! -f "$dest-empty" ]; then
-       echo "ukeyboard-set: No previous file stored."
-       exit 4
-fi
-
-if [ -f "$dest" ]; then
-       if [ ! -h "$dest" ]; then
-               echo "ukeyboard-set: Destination $dest exists and is not a symlink."
-               exit 2
-       fi
-       if [ "$store" != 1 -o -f "$dest-saved" ]; then
-               rm "$dest"
-               if [ -f "$dest" ]; then
-                       echo "ukeyboard-set: Cannot delete current symlink $dest."
-                       exit 3
-               fi
-       else
-               mv "$dest" "$dest-saved"
-       fi
-elif [ "$store" = 1 ]; then
-       touch "$dest-empty"
-fi
-
-if [ "x$1" = "x-r" ]; then
-       if [ -f "$dest-saved" ]; then
-               mv "$dest-saved" "$dest"
-       else
-               rm "$dest" "$dest-empty"
-       fi
-elif [ "$store" = 1 ]; then
-       ln -s "$1" "$dest"
-else
-       ln -s "../ukeyboard/$1.vkb" "$dest"
-fi
-exit 0
diff --git a/ukeyboard/cpanel/ukeyboard.sudoers b/ukeyboard/cpanel/ukeyboard.sudoers
deleted file mode 100644 (file)
index 17625b3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-user ALL = NOPASSWD: /usr/libexec/ukeyboard-set
diff --git a/ukeyboard/debian/changelog b/ukeyboard/debian/changelog
deleted file mode 100644 (file)
index d6124c0..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-ukeyboard (2.0) unstable; urgency=low
-
-  * Added support for Maemo5 (Fremantle).
-  * Dropped Czech and Polish keyboard support, because they are officially
-    supported now.
-  * OS2008 (Diablo/Chinook) is no longer supported.
-
- -- Roman Moravcik <roman.moravcik@gmail.com>  Wed, 29 Oct 2009 22:08:12 +0100
-
-ukeyboard (1.9) unstable; urgency=low
-
-  * Added Greek hw layouts for devices with US keyboard by Porfyras.
-  * Added Turkish on-screen keyboard layout by Burak Ilgicioglu.
-  * Minor fixes in Slovak on-screen keyboard layouts.
-
- -- Roman Moravcik <roman.moravcik@gmail.com>  Wed, 21 Oct 2009 10:24:37 +0200
-
-ukeyboard (1.8) unstable; urgency=low
-
-  * Added Belarusian on-screen layout by Darafei Praliaskouski.
-  * Modified US Dvorak layout.
-
- -- Jiri Benc <jbenc@upir.cz>  Tue, 30 Dec 2008 12:31:10 +0100
-
-ukeyboard (1.7) unstable; urgency=low
-
-  * Fixed Czech hw keyboard, added more characters (typed by
-    Fn+Shift). Thanks to Jan "Yenya" Kasprzak.
-  * Added Hebrew on-screen keyboard layout by Matan Ziv-Av.
-  * Added Polish QWERTZ and QWERTY sliding keyboard layouts
-    for DE hardware by Pawel Dys.
-
- -- Jiri Benc <jbenc@upir.cz>  Wed, 01 Oct 2008 00:35:26 +0200
-
-ukeyboard (1.6) unstable; urgency=low
-
-  * Added Croatian on-screen keyboard layout by Lovro Oreskovic.
-  * Introduced Ukeyboard Creator (ukbdcreator).
-
- -- Jiri Benc <jbenc@upir.cz>  Sun, 29 Jun 2008 22:05:19 +0200
-
-ukeyboard (1.5) unstable; urgency=low
-
-  * Added Bulgarian phonetic sliding keyboard layout by Ognian
-    Samokovliyski.
-  * Added Thai Kedmanee on-screen layout by Panu Tangchalermkul.
-
- -- Jiri Benc <jbenc@upir.cz>  Sun, 25 May 2008 14:46:59 +0200
-
-ukeyboard (1.4) unstable; urgency=low
-
-  * Added Polish sliding keyboard layout by Marcin Juszkiewicz.
-
- -- Jiri Benc <jbenc@upir.cz>  Sat, 05 Apr 2008 13:23:50 +0200
-
-ukeyboard (1.3) unstable; urgency=low
-
-  * Added Slovak on-screen and sliding keyboard layouts by Roman Moravcik.
-  * Added Arabic (Lebanon) on-screen layout by Ali Khadra.
-  * Fixed US Dvorak layout.
-
- -- Jiri Benc <jbenc@upir.cz>  Sun, 16 Mar 2008 23:02:58 +0100
-
-ukeyboard (1.2) unstable; urgency=low
-
-  * Added US Dvorak layout by Paul Sweeney.
-  * Added Czech hw layouts for devices with US keyboard by Michal Prihoda.
-  * Fixed howto to reflect changes made in ukeyboard for OS2008.
-  * Fixed build with OpenEmbedded.
-
- -- Jiri Benc <jbenc@upir.cz>  Fri, 29 Feb 2008 21:42:36 +0100
-
-ukeyboard (1.1) unstable; urgency=low
-
-  * Fixed wrong label ("Launch finger keyboard with select") in the
-    control panel applet on N800.
-
- -- Jiri Benc <jbenc@upir.cz>  Tue, 12 Feb 2008 21:48:56 +0100
-
-ukeyboard (1.0) unstable; urgency=low
-
-  * Added support for OS2008 on-screen keyboards.
-  * Added support for N810 sliding keyboard layouts and small on-screen
-    keyboards (scv).
-  * Added control panel applet that replaces the default one.
-  * Enhanced vkb format documentation.
-  * Added Czech QWERTY and QWERTZ layouts for the sliding keyboard.
-  * OS2007 is no longer supported.
-
- -- Jiri Benc <jbenc@upir.cz>  Sun, 10 Feb 2008 03:17:35 +0100
-
-ukeyboard (0.3.1) unstable; urgency=low
-
-  * Added Hungarian layout by Hamorszky Balazs.
-
- -- Jiri Benc <jbenc@upir.cz>  Fri,  4 Jan 2008 21:18:26 +0000
-
-ukeyboard (0.3) unstable; urgency=low
-
-  * Renamed to ukeyboard.
-  * Added Bulgarin phonetic and BDS layouts by Nickola Trupcheff.
-  * Fixed Esperanto layout (swapped by mistake with Xeelee's layout).
-  * Added support for comments in the compiler.
-  * Reworked creating of .deb packages (all info is in .def files now).
-  * Added instructions how to create a custom keyboard layout.
-
- -- Jiri Benc <jbenc@upir.cz>  Tue, 13 Nov 2007 20:23:57 +0000
-
-czkeyboard (0.2-1) unstable; urgency=low
-
-  * Fixed and enhanced the file format documentation.
-  * Added support for special keyboards (&!e).
-  * Added support for generating of multiple .deb files with different
-    keyboard layouts.
-
- -- Jiri Benc <jbenc@upir.cz>  Sun, 11 Nov 2007 19:19:23 +0000
-
-czkeyboard (0.1-1) unstable; urgency=low
-
-  * Initial Release.
-
- -- Jiri Benc <jbenc@upir.cz>  Tue, 26 Jun 2007 21:08:47 +0000
-
diff --git a/ukeyboard/debian/compat b/ukeyboard/debian/compat
deleted file mode 100644 (file)
index b8626c4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-4
diff --git a/ukeyboard/debian/control b/ukeyboard/debian/control
deleted file mode 100644 (file)
index 986fa90..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Source: ukeyboard
-Section: user/other
-Priority: optional
-Maintainer: Roman Moravcik <roman.moravcik@gmail.com>
-Build-Depends: debhelper (>= 4.0.0), libosso-dev, libosso-gnomevfs2-dev, libhildonfm2-dev, hildon-control-panel-dev
-Standards-Version: 3.6.1
-
-Package: ukeyboard
-Architecture: any
-Depends: ${shlibs:Depends}
-Description: Additional keyboard layouts
- Additional keyboard layouts for both on-screen and sliding keyboard.
-
-Package: ukbdcreator
-Architecture: any
-Depends: ${shlibs:Depends}, ukeyboard (>= 1.7)
-Description: Ukeyboard Creator
- Simple IDE for creating and testing on-screen keyboard layouts.
diff --git a/ukeyboard/debian/copyright b/ukeyboard/debian/copyright
deleted file mode 100644 (file)
index a00de16..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright:
-
-2007-2008, Jiri Benc <jbenc@upir.cz>
-
-License:
-
-GPLv2
diff --git a/ukeyboard/debian/rules b/ukeyboard/debian/rules
deleted file mode 100755 (executable)
index 6948cb4..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-DESTDIR=$(CURDIR)/debian/ukeyboard
-DESTDIR_CREATOR=$(CURDIR)/debian/ukbdcreator
-
-configure: configure-stamp
-configure-stamp:
-       dh_testdir
-
-       touch configure-stamp
-
-
-build: build-stamp
-
-build-stamp: configure-stamp 
-       dh_testdir
-
-       $(MAKE)
-
-       touch build-stamp
-
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp configure-stamp
-
-       # Add here commands to clean up after the build process.
-       $(MAKE) clean
-
-       dh_clean 
-
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k 
-       dh_installdirs
-
-       # Add here commands to install the package into $(DESTDIR)
-       $(MAKE) DESTDIR=$(DESTDIR) install
-       $(MAKE) -C ukbdcreator DESTDIR=$(DESTDIR_CREATOR)/usr install
-
-
-# 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_testdir
-       dh_testroot
-#      dh_installchangelogs 
-       dh_fixperms
-       dh_installdeb
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/ukeyboard/debian/ukeyboard.postinst b/ukeyboard/debian/ukeyboard.postinst
deleted file mode 100755 (executable)
index 4869db5..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-if ! grep -q ukeyboard /usr/share/X11/xkb/rules/base; then
-       sed -i 's/^.*nokiarx44.*$/\0\n  ukeyboard       *                       =       nokia_vndr\/ukeyboard(%l)/' /usr/share/X11/xkb/rules/base
-fi
-
-if [ -f /usr/share/applications/hildon-control-panel/cptextinput.desktop ]; then
-       mv -f /usr/share/applications/hildon-control-panel/cptextinput.desktop /usr/share/applications/hildon-control-panel/cptextinput.desktop.removed
-fi
-
-gtk-update-icon-cache -f /usr/share/icons/hicolor
-update-sudoers
-exit 0
diff --git a/ukeyboard/debian/ukeyboard.postrm b/ukeyboard/debian/ukeyboard.postrm
deleted file mode 100755 (executable)
index aae9521..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-sed -ni '/ukeyboard/!p' /usr/share/X11/xkb/rules/base
-
-if [ -f /usr/share/applications/hildon-control-panel/cptextinput.desktop.removed ]; then
-       mv -f /usr/share/applications/hildon-control-panel/cptextinput.desktop.removed /usr/share/applications/hildon-control-panel/cptextinput.desktop
-fi
-
-gtk-update-icon-cache -f /usr/share/icons/hicolor
-update-sudoers
-exit 0
diff --git a/ukeyboard/doc/howto b/ukeyboard/doc/howto
deleted file mode 100644 (file)
index e0d9d8f..0000000
+++ /dev/null
@@ -1,360 +0,0 @@
-How to create a custom keyboard layout for Nokia internet tablets
-=================================================================
-
-1. Making a layout compiler
----------------------------
-
-First, you need to compile a compiler. You don't need the scratchbox (an
-environment used for Maemo development) to do that - any Linux distribution
-would do. For creating a .deb package the scratchbox is needed, though.
-
-Simply unpack the ukeyboard package and run "make" in the ukeyboard
-directory:
-       tar -xjf ukeyboard-VERSION.tar.bz2
-       cd ukeyboard-VERSION
-       make
-(replace VERSION by the version you've downloaded)
-
-2. Using the layout compiler
-----------------------------
-
-Run vkb_compiler created in the previous step. As parameters, supply
-a layout source file and name of the destination file. The name of the
-destination file must have a .vkb extension.
-       ./vkb_compiler my_layout.def xx_XX.vkb
-
-For rules for naming of destination files, see the section 4.1.
-
-3. Testing the layout
----------------------
-
-Make sure ukeyboard package is installed on the device. It does not have to
-include your new layout.
-
-Copy the compiled .vkb file to the /usr/share/ukeyboard/ directory on the
-device. Ukeyboard will pick up the new layout automatically. Just go to
-Text input settings in the Control panel and set your layout in the
-Languages tab.
-
-If you update the .vkb file, just go to Text input settings again and
-confirm the dialog without changing anything.
-
-4. Limitation of the maemo keyboard layouts
--------------------------------------------
-
-4.1 Allowed names of .vkb files
--------------------------------
-
-The system limits the name of the compiled (.vkb) file in a way that it has
-to match the name defined in the "lang" clause in the source (.def) file
-(see section 6.2). You do not need to worry about that if you put your
-layout into /usr/share/ukeyboard/, ukeyboard will do the necessary magic for
-you. Just be sure the name of the file has the .vkb extension.
-
-4.2 Allowed language codes
---------------------------
-
-The name specified in the "lang" clause in the source file cannot be one of
-da_DK, de_DE, el_GR, en_GB, en_US, es_ES, es_MX, fi_FI, fr_CA, fr_FR, it_IT,
-nl_NL, no_NO, pt_BR, pt_PT, ru_RU and sv_SE. This is a limitation of
-ukeyboard and may be relaxed in the future. If you put one of these codes
-into the "lang" clause, ukeyboard will give you a warning.
-
-In general, the name in the "lang" clause should be a valid language code.
-Ukeyboard permits the country code part to be anything (e.g. you can specify
-en_DV for a Dvorak layout). To be safe, it's better to specify exactly two
-letters in the country code part, though.
-
-5. Different types of keyboards and layouts
--------------------------------------------
-
-There are three types of .vkb files. The first one is an on-screen keyboard
-corresponding to a selected language, the second one is a special keyboard
-activated by pressing the "&!e" button, the third one is a "scv" keyboard,
-which is displayed by pressing the "Chr" key on the sliding keyboard.
-Although vkb_compiler is able to compile all of them, this document covers
-the first type only. By a "keyboard" or "keyboard layout" the first type of
-the keyboard is meant through the whole document. For a "scv" type, read
-this document and then look at the examples in keyboards-scv/ directory.
-
-Each keyboard file contains two keyboard layouts - one for a normal (stylus)
-and one for a thumb keyboard.
-
-A normal layout has two parts, alpha and numeric keyboard, in two variants,
-lowercase and uppercase. This gives four "sublayouts" for a normal layout.
-
-A thumb layout has two mandatory "sublayouts", lowercase and uppercase alpha
-keyboard, and an arbitrary number of "special" sublayouts. They are
-presented as tabs.
-
-Remember, both layouts (normal+thumb) have to be defined.
-
-6. Description of the .def file format
---------------------------------------
-
-6.1 Basics
-----------
-
-Every keyword, symbol, etc. has to be separated by a whitespace (a space,
-a tab or a newline). Especially, be aware that a whitespace is required
-before and after { and }.
-
-A # character starts a comment; everything following the # character is
-ignored until the end of line. This has one exception, though. If
-a character in a key definition is expected, # is considered a valid
-character and doesn't have a special meaning.
-
-
-6.2 The header
---------------
-
-A .def file has to start with a header section:
-       header {
-               ...header definition...
-       }
-
-Inside the header, few global things are defined:
-- a descriptive name of the keyboard
-- a language code
-- default word completion dictionary
-- dimensions of keys
-
-6.2.1 Descriptive name of the keyboard
---------------------------------------
-
-A descriptive name of the keyboard is defined by:
-       name "descriptive name"
-
-Ukeyboard uses this name in the list of kayboards in Text input settings
-applet. The OS itself seems to just ignore the name, though.
-
-6.2.2 Language code
--------------------
-
-The locale name of the keyboard. See section 4.2 for allowed values of this
-field and section 4.1 for a discussion about allowed .vkb file names.
-
-Example:
-       lang "en_GB"
-
-6.2.3 Word completion dictionary
---------------------------------
-
-When selecting the keyboard layout in the Control panel, a corresponding
-word completion dictionary is preselected. This is specified by this clause.
-
-Example:
-       wc "en_GB"
-
-6.2.4 Key dimensions
---------------------
-
-Each key in the keyboard has its dimensions. These dimensions are not
-specified in the key definition, though. Instead, each key has a single
-"size number" assigned. The actual dimensions for the "size number" are
-specified in the header.
-
-The header can contain an arbitrary number of key sizes. The key size
-definition looks like this:
-       size 0 { width 35 height 35 textpos 26 left 0 top 0 }
-
-The number after the "size" keyword (0 in the example) specifies the size
-number. You'll use this number in key definitions to specify the size of the
-particular key.
-
-"width" and "height" specify the dimensions of the key in pixels. (Note that
-if the sum of widths of keys in a row is more or less than the expected
-width, it is proportionally enlarged/shrinked. The same applies to heights.)
-
-"texpos" denotes vertical position of the text on the key (the baseline).
-
-"left" and "top" specify left and top padding of the key (i.e. the empty
-space between the previous and this key).
-
-6.3 Layouts and sublayouts
---------------------------
-
-After the header, layout sections are present. They are defined as:
-       kbd_normal {
-               ...normal keyboard layout definition...
-       }
-
-       kbd_thumb {
-               ...thumb keyboard layout definition...
-       }
-
-Inside kbd_normal, the following sections are defined:
-       kbd_normal {
-               lowercase {
-                       ...alpha lowercase keyboard...
-               }
-               lowercase_num {
-                       ...numeric lowercase keyboard...
-               }
-               uppercase {
-                       ...alpha uppercase keyboard...
-               }
-               uppercase_num {
-                       ...numeric uppercase keyboard...
-               }
-       }
-
-Inside kbd_thumb section, the following sections are defined:
-       kbd_thumb {
-               lowercase {
-                       ...alpha lowercase keyboard...
-               }
-               uppercase {
-                       ...alpha uppercase keyboard...
-               }
-               special {
-                       ...keyboard on the second tab...
-               }
-               special {
-                       ...keyboard on the third tab...
-               }
-               ...
-       }
-
-Definitions in the sublayout sections are the same for normal and thumb
-keyboard, except the "name" clause, which can be present only in the thumb
-keyboard sublayouts.
-
-6.4 Sublayout definition
-------------------------
-
-A sublayout definition contains the following clauses (the numbers and
-values are just examples):
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-               ...
-       }
-       row {
-               ...
-       }
-       ...
-
-6.4.1 Name of the sublayout
----------------------------
-
-The "name" clause can (and must) be present in thumb keyboard sublayouts
-only. It specifies the name displayed on the corresponding tab.
-
-6.4.2 Margins
--------------
-
-Folowing the "margin" clause, four numbers are specified. They denotes
-margins of the keyboard starting from top and going clock-wise (i.e. top,
-right, bottom, left).
-
-The margins are used for separating of the numerical from alpha keyboard.
-
-6.4.3 Default size
-------------------
-
-The "default_size" clause specifies the default size number for keys in this
-sublayout. By specifying this, you don't need to add the "size" attribute to
-each of the keys.
-
-Remember, the value refers to the dimensions specified in the header.
-
-6.4.4 Row definitions
----------------------
-
-An arbitrary number of rows of keys can be present in each sublayout. See
-the section 6.5.
-
-6.5 Key rows
-------------
-
-Each key row consists of several keys. The number of keys can be different
-for different rows.
-
-The row definition looks like this:
-       row {
-               ...key 1...
-               ...key 2...
-               ...
-               ...key n...
-       }
-
-There are several ways to define a key, depending on a type of the key:
-       key X
-       white
-       slide { key X key X key X }
-
-Independently on the type, each key can have attributes. The attributes are
-given after the key definition, e.g.:
-       key c alpha hexa
-
-The order of the attributes is not important. The recognized attributes are:
-       alpha
-       num
-       hexa
-       tele
-       special
-       dead
-       size N
-
-6.5.1 Key types
----------------
-
-There are three key types:
-1. regular keys
-2. a space key
-3. slide keys (repeated pressing of the slide key cycles through a set of
-   characters)
-
-6.5.2 Key definition
---------------------
-
-After the "key" keyword, the whitespace is required, followed by a single,
-UTF-8 encoded, character (*). This character will be displayed on the key
-and printed when the key is pressed by user.
-
-After the "slide" keyword, a new section ({...}) has to be started,
-containing a "key" keyword followed by a character, followed by a "key"
-keyword, etc. A slide key can contain an arbitrary number of keys.
-
-After the "white" keyword, there is (of course) no character specified.
-
-(*) That's not exactly true. You can specify a bunch of characters, as long
-    as they don't contain a whitespace. It should work as expected, i.e.
-    outputting all the characters when the key is pressed. The author hasn't
-    tested it, though.
-
-6.5.3 Key attributes
---------------------
-
-The "alpha" attribute denotes an alpha key (i.e. letters A to Z plus
-equivalents in other languages, including characters with a diacritic).
-
-The "num" attribute denotes a numeric key (i.e. 0 to 9 and the minus sign).
-
-The "hexa" attribute denotes a key that can be used in a hexadecimal input
-(i.e. 0 to 9 and A to Z).
-
-The "tele" attribute denotes a key present on a telephone keypad (i.e.
-0 to 9, *, #, and few other keys).
-
-The "special" attribute denotes a non-alphanumeric key (i.e. key that is
-neither a letter nor a number).
-
-The "dead" attribute denotes the key is a combining diacritical mark
-(a so-called "dead key").
-
-The "size" attribute is used when the size of the key should be different
-than the default size for this sublayout. Again, remember that the value
-refers to the dimensions specified in the header.
-
-7 Contact, legal stuff
-----------------------
-
-The document is (c) Jiri Benc, <jbenc@upir.cz>. It is licensed under the
-GPLv2.
-
-If you find an error in this document, please contact the author.
-
-maemo is an unregistered trademark of Nokia Corporation.
diff --git a/ukeyboard/doc/vkb-format-v3 b/ukeyboard/doc/vkb-format-v3
deleted file mode 100644 (file)
index e3f5c27..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-vkb format for OS2007/OS2008
-
-- released into public domain (Permission is granted, free of charge, to any
-  person obtaining a copy of this file, to deal with the file without
-  restriction, including without limitation the right to use, copy, modify,
-  merge, publish, distribute, sublicense, and/or sell copies of it. The file
-  is provided "as is", without warranty of any kind.)
-- this is the third version of the document
-- changelog:
-  - v1: initial version based on reverse engineering of vkb files
-  - v2: revised using the excellent work by Kimmo Jukarainen,
-    http://idoru.metadreams.net/~kimju/src/maemo/decode_vkb/
-  - v3: added 0x80 key flag
-
-- multibyte fields are little endian
-- everything is utf-8 encoded
-- all numbers in the "description" column are written in hexadecimal
-- some (all?) length fields can be zero
-- strings are denoted as 1+n and are encoded as:
-       bytes   description
-       1       length of the next field, in bytes
-       n       the string (utf-8 encoded)
-
-GLOBAL HEADER
-bytes  description
-1      version (01)
-1      number of sections (02 for normal and thumb kbd, 01 for special kbd)
-1+n    descriptive (human-visible) name of the locale
-1+n    locale name (e.g. en_GB)
-1+n    locale name of a word completion dictionary
-1      number of screen modes supported by this keyboard (02)
-n      types of individual screen modes (1 byte each; types are:
-       0 = normal, 1 = thumb, 2 = rotated) (00 01)
-1      number of key sizes (05)
-...    KEY SIZE
-...    KEY SIZE
-       (default key sizes are:
-       23 23 1a 00 00  32 23 1a 00 00  37 23 1a 00 00  48 37 29 00 00  8f 37 29 00 00
-       that's: 00 normal key, 01 longer key used on the right side of odd
-       rows, 02 more longer key used on the left side of odd rows, 03 big
-       key used in thumb kbd, 04 double width big key used in thumb kbd)
-       (for special kbd, default key sizes are: 23 23 1a 00 00)
-2      absolute offset in the file of the first section
-2      absolute offset in the file of the second section
-       ...
-20     zeros
-...    SECTION
-...    SECTION
-
-KEY SIZE
-bytes  description
-1      width of a key (in pixels? rather seems to be percentage or something)
-1      height of a key
-1      offset of a text (from the top of the key to the bottom of the text)
-       - i.e. baseline
-1      left padding (extra value, not included in the width)
-1      top padding (extra value, not included in the height)
-
-SECTION HEADER
-bytes  description
-1      type of the section (00 normal kbd, 01 special kbd, 04 thumb kbd;
-       other values: 03 large kbd, 05-07 east language kbds, 08 stroke kbd)
-1      number of layouts (02 for normal kbd, 04 for thumb kbd, 06 for special kbd)
-1      numeric kbd (00); the meaning of this field is unclear
-1      default key size (00 for normal kbd, 03 for thumb kbd, 00 for special kbd)
-...    LAYOUT
-...    LAYOUT
-
-LAYOUT HEADER
-bytes  description
-1      layout type (00 lowercase, 01 uppercase, 02 neither - i.e. special chars)
-       notes:
-       - in a special kbd, even tabs with letters are of the 02 type
-       - it seems to be hard-coded that the first two layouts in a special
-         kbd have the shift key disabled
-1      corresponding other case layout number, counted from 0; ff for
-       a single case layout
-1+n    name of the layout (in normal kbd should be empty; in thumb kbd
-       should be 3 utf-8 chars; in special kbd corresponding lower/upper
-       layouts should have the same name)
-1      number of sublayouts (normal kbd has 2 sublayouts, thumb kbd and
-       special kbd have 1 sublayout)
-...    SUBLAYOUT
-...    SUBLAYOUT
-
-SUBLAYOUT HEADER
-bytes  description
-1      number of keys in the sublayout
-1      number of rows of the sublayout
-1      left margin (in pixels?) (9 for numeric kbd)
-1      top margin
-1      bottom margin
-1      right margin (seems that setting of margins affects also other
-       sublayout margins in some strange way)
-n      number of keys in individual rows (1 byte for each row)
-...    KEY
-...    KEY
-
-KEY
-bytes  description
-1      key type (00 normal key, 01 sliding key, 02 modifier key, 04 multiple key)
-...    these fields depend on the key type (KEY_NORMAL, KEY_SLIDING, etc.)
-
-KEY_NORMAL
-bytes  description
-1 or 2 FIELD_KEY_FLAGS
-1+n    letter
-1      key size
-
-KEY_SLIDING
-bytes  description
-1 or 2 FIELD_KEY_FLAGS
-1      number of keys on the sliding key | 0x80
-1+n    letter
-1+n    letter
-       ...
-1      key size
-
-KEY_MODIFIER
-?
-
-KEY_MULTIPLE
-bytes  description
-1      number of keys
-...    KEY
-...    KEY
-
-FIELD_KEY_FLAGS
-bytes  description
-1      key flags (bitfield)
-       bits:   0 (0x01)        alpha
-               1 (0x02)        numeric
-               2 (0x04)        hexa
-               3 (0x08)        telephone
-               4 (0x10)        special
-               5 (0x20)        dead
-               6 (0x40)        whitespace
-               7 (0x80)        next byte is continuation of the flags
-1      present only if the previous field contains 0x80 flag:
-       more key flags (bitfield?)
-       bits:   2 (0x04)        draw tab face over the key
diff --git a/ukeyboard/keyboards-scv/Makefile b/ukeyboard/keyboards-scv/Makefile
deleted file mode 100644 (file)
index 0fc71ae..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-layouts = \
-         sk-qwerty.vkb sk-qwertz.vkb
-
-all: $(layouts)
-
-%.vkb: %.def
-       if [ -h $< ] ; then f=`readlink $< | sed 's/\.def/\.vkb/'` ; ln -s $$f $@ ; \
-       else ../vkb_compiler $< $@ ; \
-       fi
-
-install:
-       install -d $(DESTDIR)/usr/share/scv_layouts
-       install -m 0644 $(layouts) $(DESTDIR)/usr/share/scv_layouts/
-
-clean:
-       rm -f *.vkb
diff --git a/ukeyboard/keyboards-scv/sk-qwerty.def b/ukeyboard/keyboards-scv/sk-qwerty.def
deleted file mode 100644 (file)
index b2d16fc..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# Slovak scv keyboard layout
-# Created by Roman Moravčík <roman.moravcik@gmail.com>
-
-header {
-name   ""
-lang   "Slovenčina"
-wc     ""
-
-size   0       { width 102 height 58 textpos 41 left 0 top 0 }
-}
-
-kbd_special {
-special {
-       name ""
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key ^ special
-       key ` special
-       key $ special
-       key • special
-       key ‘ special
-       key [ special
-       key ] special
-       }
-       row {
-       tab
-       key ← special
-       key → special
-       key „ special
-       key “ special
-       key { special
-       key } special
-       }
-}
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key ß alpha
-       key ° special
-       key ± special
-       key ½ special
-       key ’ special
-       key § special
-       key £ special
-       }
-       row {
-       key ú alpha
-       key ä alpha
-       key ô alpha
-       key ň alpha
-       key ” special
-       key « special
-       key » special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key ß alpha
-       key ` special
-       key ± special
-       key ½ special
-       key ’ special
-       key § special
-       key £ special
-       }
-       row {
-       key Ú alpha
-       key Ä alpha
-       key Ô alpha
-       key Ň alpha
-       key ” special
-       key « special
-       key » special
-       }
-}
-}
diff --git a/ukeyboard/keyboards-scv/sk-qwertz.def b/ukeyboard/keyboards-scv/sk-qwertz.def
deleted file mode 120000 (symlink)
index 4925019..0000000
+++ /dev/null
@@ -1 +0,0 @@
-sk-qwerty.def
\ No newline at end of file
diff --git a/ukeyboard/keyboards/Makefile b/ukeyboard/keyboards/Makefile
deleted file mode 100644 (file)
index 1c29be9..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-layouts = \
-       ar-lebanon.vkb \
-       be-by.vkb \
-       bg-bds.vkb \
-       bg-phonetic.vkb \
-       en-dvorak.vkb \
-       eo-qwerty.vkb \
-       he-qwerty.vkb \
-       hr-qwerty.vkb hr-qwertz.vkb \
-       hu-qwertz.vkb \
-       sk-qwerty.vkb sk-qwertz.vkb \
-       th-kedmanee.vkb \
-       tr-qwerty.vkb
-
-all: $(layouts)
-
-%.vkb: %.def
-       ../vkb_compiler $< $@
-
-install:
-       install -d $(DESTDIR)/usr/share/ukeyboard
-       install -m 0644 $(layouts) $(DESTDIR)/usr/share/ukeyboard/
-
-clean:
-       rm -f *.vkb
diff --git a/ukeyboard/keyboards/ar-lebanon.def b/ukeyboard/keyboards/ar-lebanon.def
deleted file mode 100644 (file)
index 1361f1c..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-# title: Arabic keyboard layout (Lebanon)
-# author: Ali Khadra <tyros99@yahoo.com>
-# url: http://tyros.leb.net/nokia
-header {
-name   "Arabic (Lebanon)"
-lang   "ar_LB"
-wc     "ar_LB"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 35 height 35 textpos 26 left 0 top 0 }
-size   2       { width 66 height 55 textpos 41 left 0 top 0 }
-size   3       { width 131 height 55 textpos 41 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 1
-       row {
-       key ض alpha
-       key ص alpha
-       key ث alpha
-       key ق alpha
-       key ف alpha
-       key غ alpha
-       key ع alpha
-       key ه alpha
-       key خ alpha
-       key ح alpha
-       key ج alpha
-       key د alpha
-       }
-       row {
-       key ش alpha
-       key س alpha
-       key ي alpha
-       key ب alpha
-       key ل alpha
-       key ا alpha
-       key ت alpha
-       key ن alpha
-       key م alpha
-       key ك alpha
-       key ط alpha
-       key ذ alpha
-       }
-       row {
-       key ئ alpha
-       key ء alpha
-       key ؤ alpha
-       key ر alpha
-       key ﻻ alpha
-       key ى alpha
-       key ة alpha
-       key و alpha
-       key ز alpha
-       key ظ alpha
-       key ، special
-       key . special
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key + special
-       key 0 num hexa tele
-       key = special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 1
-       row {
-       key  َ special dead
-       key  ً special dead
-       key  ُ special dead
-       key  ٌ special dead
-       key ﻹ alpha
-       key إ alpha
-       key ‘ special
-       key ÷ special
-       key × special
-       key ؛ special
-       key < special
-       key > special
-       }
-       row {
-       key \ special
-       key @ special
-       key ] special
-       key [ special
-       key ﻷ alpha
-       key أ alpha
-       key ـ special
-       key ، special
-       key / special
-       key : special
-       key " special
-       key  ّ special dead
-       }
-       row {
-       key ~ special
-       key  ْ special dead
-       key  ِ special dead
-       key  ٍ special dead
-       key ﻵ alpha
-       key آ alpha
-       key ’ special
-       key , special
-       key . special
-       key ؟ special
-       key ! special
-       key | special
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ١ num tele
-       key ٢ num tele
-       key ٣ num tele
-       }
-       row {
-       key ٤ num tele
-       key ٥ num tele
-       key ٦ num tele
-       }
-       row {
-       key ٧ num tele
-       key ٨ num tele
-       key ٩ num tele
-       }
-       row {
-       key - num special tele
-       key ٠ num tele
-       key = special
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "ا ب"
-       margin 0 0 0 0
-       default_size 2
-       row {
-       key ض alpha
-       key ص alpha
-       key ث alpha
-       key ق alpha
-       key ف alpha
-       key غ alpha
-       key ع alpha
-       key ه alpha
-       key خ alpha
-       key ح alpha
-       key ج alpha
-       key د alpha
-       }
-       row {
-       key ش alpha
-       key س alpha
-       key ي alpha
-       key ب alpha
-       key ل alpha
-       key ا alpha
-       key ت alpha
-       key ن alpha
-       key م alpha
-       key ك alpha
-       key ط alpha
-       key ذ alpha
-       }
-       row {
-       key ئ alpha
-       key ء alpha
-       key ؤ alpha
-       key ر alpha
-       key ﻻ alpha
-       key ى alpha
-       key ة alpha
-       key و alpha
-       key ز alpha
-       key ظ alpha
-       white size 3
-       }
-}
-uppercase {
-       name "أ إ آ"
-       margin 0 0 0 0
-       default_size 2
-       row {
-       key  َ special dead
-       key  ً special dead
-       key  ُ special dead
-       key  ٌ special dead
-       key ﻹ alpha
-       key إ alpha
-       key ‘ special
-       key ’ special
-       key @ special
-       key ؛ special
-       key < special
-       key > special
-       }
-       row {
-       key \ special
-       key | special
-       key ] special
-       key [ special
-       key ﻷ alpha
-       key أ alpha
-       key ـ special
-       key ، special
-       key / special
-       key : special
-       key " special
-       key  ّ special dead
-       }
-       row {
-       key ~ special
-       key  ْ special dead
-       key  ِ special dead
-       key  ٍ special dead
-       key ﻵ alpha
-       key آ alpha
-       key , special
-       key . special
-       slide special { key ؟ key ! key ( key ) key { key } } size 3
-       white size 3
-       }
-}
-special {
-       name "؛؟١"
-       margin 0 0 0 0
-       default_size 2
-       row {
-       key ١ num tele
-       key ٢ num tele
-       key ٣ num tele
-       key ؛ special
-       key ، special
-       key , special
-       key | special
-       key # special
-       key % special
-       key € special
-       key ¥ special
-       key ^ special
-       }
-       row {
-       key ٤ num tele
-       key ٥ num tele
-       key ٦ num tele
-       key § special
-       key * special
-       key ½ special
-       key « special
-       key » special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ٧ num tele
-       key ٨ num tele
-       key ٩ num tele
-       key ٠ num tele
-       key ‘ special
-       key ’ special
-       key ؟ special
-       key „ special
-       key “ special
-       key ± special
-       key ™ special
-       key © special
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 2
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       key ° special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ¡ special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key ¿ special
-       key $ special
-       key £ special
-       key < special
-       key > special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/be-by.def b/ukeyboard/keyboards/be-by.def
deleted file mode 100644 (file)
index c5a01d2..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-# title: Belarusian layout
-# author: Darafei Praliaskouski <komzpa@gmail.com>
-
-header {
-name   "Беларуская"
-lang   "be_BY"
-wc     "be_BY"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key й alpha size 2
-       key ц alpha 
-       key у alpha 
-       key к alpha
-       key е alpha
-       key н alpha
-       key г alpha
-       key ш alpha
-       key ў alpha
-       key з alpha 
-       key х special size 1
-       }
-       row {
-       key ф alpha 
-       key ы alpha
-       key в alpha 
-       key а alpha 
-       key п alpha
-       key р alpha
-       key о alpha
-       key л alpha
-       key д alpha
-       key ж alpha
-       key э alpha 
-       key ' special 
-       }
-       row {
-       key я alpha size 2
-       key ч alpha
-       key с alpha 
-       key м alpha
-       key і alpha 
-       key т alpha
-       key ь alpha
-       key б alpha 
-       key ю alpha 
-       key , special tele
-       key . special tele size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key ё special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Й alpha size 2
-       key Ц alpha 
-       key У alpha 
-       key К alpha
-       key Е alpha
-       key Н alpha
-       key Г alpha
-       key Ш alpha
-       key Ў alpha
-       key З alpha 
-       key Х special size 5
-       key + special size 5
-       }
-       row {
-       key Ф alpha 
-       key Ы alpha
-       key В alpha 
-       key А alpha 
-       key П alpha
-       key Р alpha
-       key О alpha
-       key Л alpha
-       key Д alpha
-       key Ж alpha
-       key Э alpha 
-       key " special 
-       }
-       row {
-       key Я alpha size 2
-       key Ч alpha
-       key С alpha 
-       key М alpha
-       key І alpha 
-       key Т alpha
-       key Ь alpha
-       key Б alpha
-       key Ю alpha
-       key ; special
-       key : special size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ' special
-       key ? special tele
-       key $ special
-       }
-       row {
-       key % special
-       key < special
-       key > special
-       }
-       row {
-       key ! special
-       key ( special tele
-       key ) special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key Ё special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "aбв"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key й alpha
-       key ц alpha 
-       key у alpha 
-       key к alpha
-       key е alpha
-       key н alpha
-       key г alpha
-       key ш alpha
-       key ў alpha
-       key з alpha 
-       key х alpha
-       }
-       row {
-       key ф alpha 
-       key ы alpha
-       key в alpha 
-       key а alpha 
-       key п alpha
-       key р alpha
-       key о alpha
-       key л alpha
-       key д alpha
-       key ж alpha
-       key э alpha
-       }
-       row {
-       white 
-       key я alpha
-       key ч alpha
-       key с alpha 
-       key м alpha
-       key і alpha 
-       key т alpha
-       key ь alpha
-       key б alpha
-       key ю alpha
-       slide special {  key . key , key ? key ' key ! key @ key ( key ) }
-       }
-}
-uppercase {
-       name "AБВ"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Й alpha
-       key Ц alpha 
-       key У alpha 
-       key К alpha
-       key Е alpha
-       key Н alpha
-       key Г alpha
-       key Ш alpha
-       key Ў alpha
-       key З alpha 
-       key Х alpha
-       }
-       row {
-       key Ф alpha 
-       key Ы alpha
-       key В alpha 
-       key А alpha 
-       key П alpha
-       key Р alpha
-       key О alpha
-       key Л alpha
-       key Д alpha
-       key Ж alpha 
-       key Э alpha 
-       }
-       row {
-       white 
-       key Я alpha
-       key Ч alpha
-       key С alpha 
-       key М alpha
-       key І alpha 
-       key Т alpha
-       key Ь alpha
-       key Б alpha
-       key Ю alpha
-       slide special { key . key , key ? key ! key @ key ( key ) }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/bg-bds.def b/ukeyboard/keyboards/bg-bds.def
deleted file mode 100644 (file)
index 2910649..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-# title: Bulgarian BDS layout
-# author: Nickola Trupcheff <n.trupcheff@gmail.com>
-
-header {
-name   "Български БДС"
-lang   "bg_BG"
-wc     "bg_BG"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key у alpha size 2
-       key е alpha 
-       key и alpha 
-       key ш alpha
-       key щ alpha
-       key к alpha
-       key с alpha
-       key д alpha
-       key з alpha
-       key ц alpha 
-       key @ special size 1
-       }
-       row {
-       key ь alpha 
-       key я alpha
-       key а alpha 
-       key о alpha 
-       key ж alpha
-       key г alpha
-       key т alpha
-       key н alpha
-       key в alpha
-       key м alpha
-       key ч alpha 
-       key / special 
-       }
-       row {
-       key ю alpha size 2
-       key й alpha
-       key ъ alpha 
-       key ф alpha
-       key х alpha 
-       key п alpha
-       key р alpha
-       key л alpha 
-       key б alpha 
-       key , special tele
-       key . special tele size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key = special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key У alpha size 2
-       key Е alpha 
-       key И alpha 
-       key Ш alpha
-       key Щ alpha
-       key К alpha
-       key С alpha
-       key Д alpha
-       key З alpha
-       key Ц alpha 
-       key ~ special size 5
-       key | special size 5
-       }
-       row {
-       key Ь alpha 
-       key Я alpha
-       key А alpha 
-       key О alpha 
-       key Ж alpha
-       key Г alpha
-       key Т alpha
-       key Н alpha
-       key В alpha
-       key М alpha
-       key Ч alpha 
-       key " special 
-       }
-       row {
-       key Ю alpha size 2
-       key Й alpha
-       key Ъ alpha 
-       key Ф alpha
-       key Х alpha 
-       key П alpha
-       key Р alpha
-       key Л alpha
-       key Б alpha
-       key ; special
-       key : special size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ' special
-       key ? special tele
-       key $ special
-       }
-       row {
-       key % special
-       key < special
-       key > special
-       }
-       row {
-       key ! special
-       key ( special tele
-       key ) special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key + special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key у alpha
-       key е alpha 
-       key и alpha 
-       key ш alpha
-       key щ alpha
-       key к alpha
-       key с alpha
-       key д alpha
-       key з alpha
-       key ц alpha 
-       key ч alpha
-       }
-       row {
-       key ь alpha 
-       key я alpha
-       key а alpha 
-       key о alpha 
-       key ж alpha
-       key г alpha
-       key т alpha
-       key н alpha
-       key в alpha
-       key м alpha
-       key б alpha
-       }
-       row {
-       white size 4
-       key ю alpha
-       key й alpha
-       key ъ alpha 
-       key ф alpha
-       key х alpha 
-       key п alpha
-       key р alpha
-       slide special size 4 { key л key . key , key ? key ! key @ key ( key ) }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key у alpha
-       key Е alpha 
-       key И alpha 
-       key Ш alpha
-       key Щ alpha
-       key К alpha
-       key С alpha
-       key Д alpha
-       key З alpha
-       key Ц alpha 
-       key Ч alpha
-       }
-       row {
-       key Ь alpha 
-       key Я alpha
-       key А alpha 
-       key О alpha 
-       key Ж alpha
-       key Г alpha
-       key Т alpha
-       key Н alpha
-       key В alpha
-       key М alpha 
-       key Б alpha 
-       }
-       row {
-       white size 4
-       key Ю alpha
-       key Й alpha
-       key Ъ alpha 
-       key Ф alpha
-       key Х alpha 
-       key П alpha
-       key Р alpha
-       slide special size 4 { key Л key . key , key ? key ! key @ key ( key ) }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/bg-phonetic.def b/ukeyboard/keyboards/bg-phonetic.def
deleted file mode 100644 (file)
index b331fcc..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-# title: Bulgarian phonetic layout
-# author: Nickola Trupcheff <n.trupcheff@gmail.com>
-
-header {
-name   "Български (phonetic)"
-lang   "bg_BG"
-wc     "bg_BG"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key я alpha size 2
-       key в alpha tele
-       key е alpha hexa
-       key р alpha
-       key т alpha
-       key ъ alpha
-       key у alpha
-       key и alpha
-       key о alpha
-       key п alpha tele
-       key @ special size 1
-       }
-       row {
-       key а alpha hexa
-       key с alpha
-       key д alpha hexa
-       key ф alpha hexa
-       key г alpha
-       key х alpha
-       key й alpha
-       key к alpha
-       key л alpha
-       key ш alpha
-       key щ alpha 
-       key ю alpha 
-       }
-       row {
-       key з alpha size 2
-       key ь alpha
-       key ц alpha hexa
-       key ж alpha
-       key б alpha hexa
-       key н alpha
-       key м alpha
-       key , special tele
-       key . special tele
-       key / special tele
-       key ч alpha tele size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key = special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Я alpha size 2
-       key В alpha tele
-       key Е alpha hexa
-       key Р alpha
-       key Т alpha
-       key Ъ alpha
-       key У alpha
-       key И alpha
-       key О alpha
-       key П alpha tele
-       key ~ special size 5
-       key | special size 5
-       }
-       row {
-       key А alpha hexa
-       key С alpha
-       key Д alpha hexa
-       key Ф alpha hexa
-       key Г alpha
-       key Х alpha
-       key Й alpha
-       key К alpha
-       key Л alpha
-       key Ш alpha
-       key Щ alpha 
-       key Ю alpha 
-       }
-       row {
-       key З alpha size 2
-       key Ь alpha
-       key Ц alpha hexa
-       key Ж alpha
-       key Б alpha hexa
-       key Н alpha
-       key М alpha
-       key ; special
-       key : special
-       key " special
-       key Ч alpha size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ' special
-       key ? special tele
-       key $ special
-       }
-       row {
-       key % special
-       key < special
-       key > special
-       }
-       row {
-       key ! special
-       key ( special tele
-       key ) special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key + special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key я alpha
-       key в alpha tele
-       key е alpha hexa
-       key р alpha
-       key т alpha
-       key ъ alpha
-       key у alpha
-       key и alpha
-       key о alpha
-       key п alpha tele
-       key ю alpha
-       }
-       row {
-       key а alpha hexa
-       key с alpha
-       key д alpha hexa
-       key ф alpha hexa
-       key г alpha
-       key х alpha
-       key й alpha
-       key к alpha
-       key л alpha
-       key ш alpha
-       key щ alpha
-       }
-       row {
-       white size 4
-       key з alpha
-       key ь alpha
-       key ц alpha hexa
-       key ж alpha
-       key б alpha hexa
-       key н alpha
-       key м alpha
-       slide special size 4 { key ч key . key , key ? key ! key @ key ( key ) }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Я alpha
-       key В alpha tele
-       key Е alpha hexa
-       key Р alpha
-       key Т alpha
-       key Ъ alpha
-       key У alpha
-       key И alpha
-       key О alpha
-       key П alpha tele
-       key Ю alpha
-       }
-       row {
-       key А alpha hexa
-       key С alpha
-       key Д alpha hexa
-       key Ф alpha hexa
-       key Г alpha
-       key Х alpha
-       key Й alpha
-       key К alpha
-       key Л alpha
-       key Ш alpha 
-       key Щ alpha 
-       }
-       row {
-       white size 4
-       key З alpha
-       key Ь alpha
-       key Ц alpha hexa
-       key Ж alpha
-       key Б alpha hexa
-       key Н alpha
-       key М alpha
-       slide special size 4 { key Ч key . key , key ? key ! key @ key ( key ) }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/en-dvorak.def b/ukeyboard/keyboards/en-dvorak.def
deleted file mode 100644 (file)
index 6f927b0..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-# title: US Dvorak layout
-# author: Paul Sweeney <paul@8-bitdesign.com>
-# modified by: Ethan S. <dragon788@gmail.com>
-# license: GPLv2
-
-header {
-name   "US Dvorak"
-lang   "en_DV"
-wc     "en_GB"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key ' special size 2
-       key , special
-       key . special
-       key p alpha
-       key y alpha
-       key f alpha hexa
-       key g alpha
-       key c alpha hexa
-       key r alpha
-       key l alpha
-       key / special size 1
-       }
-       row {
-       key ~ special
-       key a alpha hexa
-       key o alpha
-       key e alpha hexa
-       key u alpha
-       key i alpha
-       key d alpha hexa
-       key h alpha
-       key t alpha
-       key n alpha
-       key s alpha
-       key - special
-       }
-       row {
-       key ; special size 2
-       key q alpha
-       key j alpha
-       key k alpha
-       key x alpha
-       key b alpha hexa
-       key m alpha
-       key w alpha
-       key v alpha
-       key z alpha
-       key @ special size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key ? num special tele
-       key 0 num hexa tele
-       key . special tele
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key " special size 2
-       key < special
-       key > special
-       key P alpha
-       key Y alpha
-       key F alpha hexa
-       key G alpha
-       key C alpha hexa
-       key R alpha
-       key L alpha
-       key \ special size 1
-       }
-       row {
-       key | special
-       key A alpha hexa
-       key O alpha
-       key E alpha hexa
-       key U alpha
-       key I alpha
-       key D alpha hexa
-       key H alpha
-       key T alpha
-       key N alpha
-       key S alpha
-       key _ special
-       }
-       row {
-       key : special size 2
-       key Q alpha
-       key J alpha
-       key K alpha
-       key X alpha
-       key B alpha hexa
-       key M alpha
-       key W alpha
-       key V alpha
-       key Z alpha
-       key * special tele size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ! special
-       key ` alpha dead
-       key # special tele
-       }
-       row {
-       key $ special
-       key % special
-       key & special
-       }
-       row {
-       key ^ special
-       key ( special
-       key ) special
-       }
-       row {
-       key + special
-       key = special
-       key ´ alpha dead
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key ' special
-       key , special
-       key . special
-       key p alpha
-       key y alpha
-       key f alpha hexa
-       key g alpha
-       key c alpha hexa
-       key r alpha
-       key l alpha
-       key / special
-       }
-       row {
-       key a alpha hexa
-       key o alpha
-       key e alpha hexa
-       key u alpha
-       key i alpha
-       key d alpha hexa
-       key h alpha
-       key t alpha
-       key n alpha
-       key s alpha
-       key - special
-       }
-       row {
-       white size 4
-       key q alpha
-       key j alpha
-       key k alpha
-       key x alpha
-       key b alpha hexa
-       key m alpha
-       key w alpha
-       key v alpha
-       key z alpha
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key " special
-       key < special
-       key > special
-       key P alpha
-       key Y alpha
-       key F alpha hexa
-       key G alpha
-       key C alpha hexa
-       key R alpha
-       key L alpha
-       key ? special
-       }
-       row {
-       key A alpha hexa
-       key O alpha
-       key E alpha hexa
-       key U alpha
-       key I alpha
-       key D alpha hexa
-       key H alpha
-       key T alpha
-       key N alpha
-       key S alpha
-       key _ special
-       }
-       row {
-       white size 4
-       key Q alpha
-       key J alpha
-       key K alpha
-       key X alpha
-       key B alpha hexa
-       key M alpha
-       key W alpha
-       key V alpha
-       key Z alpha
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key ! special
-       key & special
-       key ` alpha dead
-       key ´ alpha dead
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ? special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key € special
-       key £ special
-       key $ special
-       key ~ special
-       key @ special
-       }
-}
-
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special tele
-       key % special
-       key ¤ special
-       key < special
-       key > special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special tele
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ¢ special
-       key ß alpha
-       key ç alpha
-       key ¥ special
-       key _ special
-       key “ special
-       key ” special
-       key ‘ special
-       key ’ special
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/eo-qwerty.def b/ukeyboard/keyboards/eo-qwerty.def
deleted file mode 100644 (file)
index 258daa3..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-# title: Esperanto layout
-# author: Jiří Benc <jbenc@upir.cz>
-
-header {
-name   "Esperanto"
-lang   "eo_EO"
-wc     "eo_EO"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha size 2
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key @ special size 1
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key " special
-       key ŭ alpha
-       key ^ alpha dead
-       }
-       row {
-       key z alpha size 2
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key , special tele
-       key . special tele
-       key / special tele
-       key ? special tele size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key = special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Q alpha size 2
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Y alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key ~ special size 5
-       key | special size 5
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key ' special
-       key Ŭ alpha
-       key ^ alpha dead
-       }
-       row {
-       key Z alpha size 2
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key ; special
-       key : special
-       key & special
-       key ! special size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ' special
-       key # special tele
-       key % special
-       }
-       row {
-       key $ special
-       key < special
-       key > special
-       }
-       row {
-       key € special
-       key ( special tele
-       key ) special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key + special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ŭ alpha
-       key ^ alpha dead
-       }
-       row {
-       white size 4
-       key z alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       slide special { key . key , key ? key ! key @ key ( key ) } size 4
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Y alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Ŭ alpha
-       key ^ alpha dead
-       }
-       row {
-       white size 4
-       key Z alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       slide special { key . key , key ? key ! key @ key ( key ) } size 4
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/he-qwerty.def b/ukeyboard/keyboards/he-qwerty.def
deleted file mode 100644 (file)
index f7e0ee1..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-# title: Hebrew layout
-# author: Matan Ziv-Av <matan@svgalib.org>
-
-header {
-name   "Hebrew"
-lang   "he_IL"
-wc     "he_IL"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key / special size 2
-       key ' special 
-       key ק alpha 
-       key ר alpha
-       key א alpha
-       key ט alpha
-       key ו alpha
-       key ן alpha
-       key ם alpha
-       key פ alpha
-       key = special size 1
-       }
-       row {
-       key ! special
-       key ש alpha
-       key ד alpha
-       key ג alpha
-       key כ alpha
-       key ע alpha
-       key י alpha
-       key ח alpha
-       key ל alpha
-       key ך alpha
-       key ף special
-       key [ special
-       key ^ special
-       }
-       row {
-       key ? special size 2
-       key ז alpha
-       key ס alpha
-       key ב alpha hexa
-       key ה alpha
-       key נ alpha hexa
-       key מ alpha
-       key צ alpha
-       key ת alpha
-       key ץ alpha
-       key . special
-       key , special size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key + special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha size 2
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key @ special size 1
-       }
-       row {
-       key ~ special
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key " special
-       key | special
-       key ] alpha dead
-       }
-       row {
-       key ^ special size 2
-       key z alpha
-       key x alpha hexa
-       key c alpha
-       key v alpha hexa
-       key b alpha
-       key n alpha
-       key m special
-       key < special
-       key > special
-       key : special size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ` special
-       key # special tele
-       key % special
-       }
-       row {
-       key $ special
-       key { special
-       key } special
-       }
-       row {
-       key \ special
-       key ( special tele
-       key ) special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key + special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key ת alpha
-       key ץ alpha
-       key ק alpha
-       key ר alpha
-       key א alpha
-       key ט alpha
-       key ו alpha
-       key ן alpha
-       key ם alpha
-       key פ alpha
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-       row {
-       key ש alpha
-       key ד alpha
-       key ג alpha
-       key כ alpha
-       key ע alpha
-       key י alpha
-       key ח alpha
-       key ל alpha
-       key ך alpha
-       key ף­ alpha
-       key ^ alpha
-       }
-       row {
-       white size 4
-       key ז alpha
-       key ס alpha
-       key ב alpha
-       key ה alpha
-       key נ alpha
-       key מ alpha
-       key צ alpha
-       slide special { key . key , key ? key ! key @ key ( key ) } size 4
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key " alpha
-       key ^ alpha dead
-       }
-       row {
-       white size 4
-       key z alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       slide special { key . key , key ? key ! key @ key ( key ) } size 4
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key ג\80\9e special
-       key ג\80\9c special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*�§��"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key ג\82¬ special
-       key �£ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key �� special
-       key �� special
-       key �§ special
-       key * special
-       key �· special
-       key ג\80¢ special
-       key �° special
-       key �± special
-       key �½ special
-       key �« special
-       key �» special
-       }
-       row {
-       key �¤ alpha
-       key �« alpha
-       key �¶ alpha
-       key �¼ alpha
-       key �\84 alpha
-       key �\8b alpha
-       key �\96 alpha
-       key �\9c alpha
-       key �\9f alpha
-       key ג\84¢ special
-       key �© special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/hr-qwerty.def b/ukeyboard/keyboards/hr-qwerty.def
deleted file mode 100644 (file)
index 5700338..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-# title: Croatian QWERTY layout
-# author: Lovro Oreskovic <oreskovic@gmail.com>
-
-header {
-name   "Hrvatski (QWERTY)"
-lang   "hr_HR"
-wc     "hr_HR"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-size   6       { width 35 height 35 textpos 26 left 15 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha 
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key š alpha
-       key đ alpha    
-       }
-       row {
-       key a alpha hexa size 6
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key č alpha
-       key ć alpha
-       key ž alpha
-       }
-       row {
-       key < special
-       key y alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key , special
-       key . special
-       key - special tele
-       key @ special 
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key ? num special tele
-       key 0 num hexa tele
-       key * special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Q alpha 
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Y alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Š alpha
-       key Đ alpha
-       }
-       row {
-       key A alpha hexa size 6
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Č alpha
-       key Ć alpha
-       key Ž alpha
-       }
-       row {
-       key > special
-       key Z alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key ; special
-       key : special
-       key _ special
-       key @ special
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ! special
-       key " special
-       key # special tele
-       }
-       row {
-       key $ special
-       key % special
-       key & special
-       }
-       row {
-       key & special
-       key / special
-       key ( special tele
-       }
-       row {
-       key ) special tele
-       key = special
-       key ? special
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key š alpha
-       key đ alpha
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key č alpha
-       key ć alpha
-       key ž alpha
-       }
-       row {
-       white size 4
-       key y alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       slide special { key . key , key ? key ! key @ key ( key ) }
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Z alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Š alpha
-       key Đ alpha
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Č alpha
-       key Ć alpha
-       key Ž alpha
-       }
-       row {
-       white size 4
-       key Y alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       slide special { key . key , key ? key ! key @ key ( key ) }
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/hr-qwertz.def b/ukeyboard/keyboards/hr-qwertz.def
deleted file mode 100644 (file)
index 896373f..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-# title: Croatian QWERTZ layout
-# author: Lovro Oreskovic <oreskovic@gmail.com>
-
-header {
-name   "Hrvatski (QWERTZ)"
-lang   "hr_HR"
-wc     "hr_HR"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-size   6       { width 35 height 35 textpos 26 left 15 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha 
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key š alpha
-       key đ alpha    
-       }
-       row {
-       key a alpha hexa size 6
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key č alpha
-       key ć alpha
-       key ž alpha
-       }
-       row {
-       key < special
-       key y alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key , special
-       key . special
-       key - special tele
-       key @ special 
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key ? num special tele
-       key 0 num hexa tele
-       key * special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Q alpha 
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Z alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Š alpha
-       key Đ alpha
-       }
-       row {
-       key A alpha hexa size 6
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Č alpha
-       key Ć alpha
-       key Ž alpha
-       }
-       row {
-       key > special
-       key Y alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key ; special
-       key : special
-       key _ special
-       key @ special
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ! special
-       key " special
-       key # special tele
-       }
-       row {
-       key $ special
-       key % special
-       key & special
-       }
-       row {
-       key & special
-       key / special
-       key ( special tele
-       }
-       row {
-       key ) special tele
-       key = special
-       key ? special
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key š alpha
-       key đ alpha
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key č alpha
-       key ć alpha
-       key ž alpha
-       }
-       row {
-       white size 4
-       key y alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       slide special { key . key , key ? key ! key @ key ( key ) }
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Z alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Š alpha
-       key Đ alpha
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Č alpha
-       key Ć alpha
-       key Ž alpha
-       }
-       row {
-       white size 4
-       key Y alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       slide special { key . key , key ? key ! key @ key ( key ) }
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/hu-qwertz.def b/ukeyboard/keyboards/hu-qwertz.def
deleted file mode 100644 (file)
index 8204112..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-# title: Hungarian QWERTZ layout
-# author: Hámorszky Balázs <balihb@freepop.hu>
-
-header {
-name   "Magyar (QWERTZ)"
-lang   "hu_HU"
-wc     "hu_HU"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key @ special size 5
-       key : special size 5
-       key ) special size 5
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ´ alpha dead
-       key ¨ alpha dead
-       key ˝ alpha dead
-       }
-       row {
-       key ´ alpha dead size 5
-       key y alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key , special tele
-       key . special tele
-       key / special tele
-       key ? special tele size 5
-       key ! special size 5
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key = special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Z alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key ~ special
-       key | special
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key ´ alpha dead
-       key ¨ alpha dead
-       key ˝ alpha dead
-       }
-       row {
-       key ´ alpha dead size 5
-       key Y alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key ; special size 5
-       key : special
-       key " special size 5
-       key ( special
-       key ) special
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ' special
-       key # special tele
-       key $ special
-       }
-       row {
-       key % special
-       key < special
-       key > special
-       }
-       row {
-       key & special
-       key { special tele
-       key } special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key + special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key ¨ alpha dead
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ´ alpha dead
-       key ˝ alpha dead
-       }
-       row {
-       white size 4
-       key y alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       slide special { key . key , key ) key ( key @ key < key > }
-       slide special { key ? key ! key : key - key _ key / key ; }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Z alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key ¨ alpha dead
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key ´ alpha dead
-       key ˝ alpha dead
-       }
-       row {
-       white size 4
-       key Y alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       slide special { key . key , key ) key ( key @ key < key > }
-       slide special { key ? key ! key : key - key _ key / key ; }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/latin.special.def-template b/ukeyboard/keyboards/latin.special.def-template
deleted file mode 100644 (file)
index 4ecf561..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-header {
-name   ""
-lang   "en_GB"
-wc     ""
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_special {
-special {
-       name "test 1"
-       default_size 0
-       row {
-       key a alpha
-       }
-       row {
-       key b alpha
-       }
-       row {
-       key c alpha
-       }
-}
-special {
-       name "test 2"
-       default_size 0
-       row {
-       key d alpha
-       }
-       row {
-       key e alpha
-       }
-       row {
-       key f alpha
-       }
-}
-special_lowercase {
-       name "test 3"
-       default_size 0
-       row {
-       key g alpha
-       }
-       row {
-       key h alpha
-       }
-       row {
-       key i alpha
-       }
-}
-special_uppercase {
-       default_size 0
-       row {
-       key G alpha
-       }
-       row {
-       key H alpha
-       }
-       row {
-       key I alpha
-       }
-}
-special_lowercase {
-       name "test 4"
-       default_size 0
-       row {
-       key j alpha
-       }
-       row {
-       key k alpha
-       }
-       row {
-       key l alpha
-       }
-}
-special_uppercase {
-       default_size 0
-       row {
-       key J alpha
-       }
-       row {
-       key K alpha
-       }
-       row {
-       key L alpha
-       }
-}
-}
diff --git a/ukeyboard/keyboards/sk-qwerty.def b/ukeyboard/keyboards/sk-qwerty.def
deleted file mode 100644 (file)
index 3844b69..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-# title: Slovak QWERTY layout
-# author: Roman Moravčík <roman.moravcik@gmail.com>
-
-header {
-name   "Slovenčina (QWERTY)"
-lang   "sk_SK"
-wc     "sk_SK"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha size 2
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key @ special size 1
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ô alpha
-       key ´ alpha dead
-       key ˇ alpha dead
-       }
-       row {
-       key z alpha size 2
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key , special tele
-       key . special tele
-       key / special tele
-       key ? special tele size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key = special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Q alpha size 2
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Y alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key ~ special size 5
-       key | special size 5
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Ô alpha
-       key ´ alpha dead
-       key ˇ alpha dead
-       }
-       row {
-       key Z alpha size 2
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key ; special
-       key : special
-       key " special
-       key ! special size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ' special
-       key # special tele
-       key $ special
-       }
-       row {
-       key % special
-       key < special
-       key > special
-       }
-       row {
-       key & special
-       key ( special tele
-       key ) special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key + special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key ä alpha
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ô alpha
-       key ´ alpha dead
-       }
-       row {
-       key z alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       white size 4
-       key ˇ alpha dead
-       slide special { key . key , key ? key ! key - key _ key & key | key \ key / key < key > }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Y alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Ä alpha
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Ô alpha
-       key ´ alpha dead
-       }
-       row {
-       key Z alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       white size 4
-       key ˇ alpha dead
-       slide special { key . key , key ? key ! key - key _ key & key | key \ key / key < key > }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key £ special
-       key € special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key ¤ special
-       key $ special
-       key ¥ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key ¨ special
-       key ° special
-       key · special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ¢ alpha
-       key ß alpha
-       key ç alpha
-       key ´ alpha
-       key ` alpha
-       key “ alpha
-       key ” alpha
-       key ‘ alpha
-       key ’ alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/sk-qwertz.def b/ukeyboard/keyboards/sk-qwertz.def
deleted file mode 100644 (file)
index 4dfbb58..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-# title: Slovak QWERTZ layout
-# author: Roman Moravčík <roman.moravcik@gmail.com>
-
-header {
-name   "Slovenčina (QWERTZ)"
-lang   "sk_SK"
-wc     "sk_SK"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha size 2
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key @ special size 1
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ô alpha
-       key ´ alpha dead
-       key ˇ alpha dead
-       }
-       row {
-       key y alpha size 2
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key , special tele
-       key . special tele
-       key / special tele
-       key ? special tele size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key - num special tele
-       key 0 num hexa tele
-       key = special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Q alpha size 2
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Z alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key ~ special size 5
-       key | special size 5
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Ô alpha
-       key ´ alpha dead
-       key ˇ alpha dead
-       }
-       row {
-       key Y alpha size 2
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key ; special
-       key : special
-       key " special
-       key ! special size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ' special
-       key # special tele
-       key $ special
-       }
-       row {
-       key % special
-       key < special
-       key > special
-       }
-       row {
-       key & special
-       key ( special tele
-       key ) special tele
-       }
-       row {
-       key _ special
-       key * special tele
-       key + special tele
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key z alpha
-       key u alpha
-       key i alpha
-       key o alpha
-       key p alpha tele
-       key ä alpha
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ô alpha
-       key ´ alpha dead
-       }
-       row {
-       key y alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       white size 4
-       key ˇ alpha dead
-       slide special { key . key , key ? key ! key - key _ key & key | key \ key / key < key > }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Z alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Ä alpha
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Ô alpha
-       key ´ alpha dead
-       }
-       row {
-       key Y alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       white size 4
-       key ˇ alpha dead
-       slide special { key . key , key ? key ! key - key _ key & key | key \ key / key < key > }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key £ special
-       key € special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key ¤ special
-       key $ special
-       key ¥ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key ¨ special
-       key ° special
-       key · special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ¢ alpha
-       key ß alpha
-       key ç alpha
-       key ´ alpha
-       key ` alpha
-       key “ alpha
-       key ” alpha
-       key ‘ alpha
-       key ’ alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/th-kedmanee.def b/ukeyboard/keyboards/th-kedmanee.def
deleted file mode 100644 (file)
index 8a9776e..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-# title: TH Kedmanee layout
-# author: Panu Tangchalermkul <panuta@gmail.com>
-# license: GPLv2
-
-header {
-name   "ไทย Kedmanee"
-lang   "th_TH"
-wc     "th_TH"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key ๆ special size 2
-       key ไ special
-       key ำ special
-       key พ alpha
-       key ะ special
-       key ั special
-       key ี special
-       key ร alpha
-       key น alpha
-       key ย alpha
-       key บ alpha size 1
-       }
-       row {
-       key ฟ alpha
-       key ห alpha
-       key ก alpha
-       key ด alpha
-       key เ special
-       key ้ special
-       key ่ special
-       key า special
-       key ส alpha
-       key ว alpha
-       key ง alpha
-       key ล alpha
-       }
-       row {
-       key ผ alpha size 2
-       key ป alpha
-       key แ special
-       key อ alpha
-       key ิ special
-       key ื special
-       key ท alpha
-       key ม alpha
-       key ใ special
-       key ฝ alpha
-       key @ special size 1
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ๅ special
-       key / special
-       key - special
-       }
-       row {
-       key ภ alpha
-       key ถ alpha
-       key ุ special
-       }
-       row {
-       key ึ special
-       key ค alpha
-       key ต alpha
-       }
-       row {
-       key จ alpha
-       key ข alpha
-       key ช alpha
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key + special size 2
-       key " special
-       key ฎ alpha
-       key ฑ alpha
-       key ธ alpha
-       key ํ special
-       key ๊ special
-       key ณ alpha
-       key ฯ special
-       key ญ alpha
-       key ฐ alpha size 1
-       }
-       row {
-       key ฤ alpha
-       key ฆ alpha
-       key ฏ alpha
-       key โ special
-       key ฌ alpha
-       key ็ special
-       key ๋ special
-       key ษ alpha
-       key ศ alpha
-       key ซ alpha
-       key . special
-       key , special
-       }
-       row {
-       key ( special size 2
-       key ) special
-       key ฉ alpha
-       key ฮ alpha
-       key ฺ special
-       key ์ special
-       key ? special
-       key ฒ alpha
-       key ฬ alpha
-       key ฦ alpha
-       key * special size 1
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ๑ num
-       key ๒ num
-       key ๓ num
-       }
-       row {
-       key ๔ num
-       key ๕ num
-       key ๖ num
-       }
-       row {
-       key ๗ num
-       key ๘ num
-       key ๙ num
-       }
-       row {
-       key ู special
-       key ๐ num
-       key ฿ special
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "กขค"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key พ alpha
-       key ร alpha
-       key น alpha
-       key ย alpha
-       key บ alpha
-       key ล alpha
-       key ภ alpha
-       key ถ alpha
-       key ค alpha
-       slide special { key ิ key ี key ึ key ื }
-       slide special { key ่ key ้ key ๊ key ๋ }
-       }
-       row {
-       key ฟ alpha
-       key ห alpha
-       key ก alpha
-       key ด alpha
-       key ส alpha
-       key ว alpha
-       key ง alpha
-       key ต alpha
-       key จ alpha
-       slide special { key เ key แ key โ key ไ key ใ }
-       slide special { key ะ key า key ำ }
-       }
-       row {
-       white size 3
-       key ผ alpha
-       key ป alpha
-       key อ alpha
-       key ท alpha
-       key ม alpha
-       key ฝ alpha
-       key ข alpha
-       key ช alpha
-       slide special { key ุ key ู }
-       slide special { key ั key ็ key ์ }
-       }
-}
-uppercase {
-       name "ฏฑธ"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key ฎ alpha
-       key ฑ alpha
-       key ธ alpha
-       key ณ alpha
-       key ฯ special
-       key ญ alpha
-       key ฐ alpha
-       key , special
-       key ฿ special
-       slide special { key ิ key ี key ึ key ื }
-       slide special { key ่ key ้ key ๊ key ๋ }
-       }
-       row {
-       key ฤ alpha
-       key ฆ alpha
-       key ฏ alpha
-       key ฌ alpha
-       key ็ special
-       key ษ alpha
-       key ศ alpha
-       key ซ alpha
-       key . special
-       slide special { key เ key แ key โ key ไ key ใ }
-       slide special { key ะ key า key ำ }
-       }
-       row {
-       white size 3
-       key ( special
-       key ) special
-       key ฉ alpha
-       key ฮ alpha
-       key ์ special
-       key ฒ alpha
-       key ฬ alpha
-       key ฦ alpha
-       slide special { key ุ key ู }
-       slide special { key ั key ็ key ์ }
-       }
-}
-special {
-       name "๑!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key ๑ num  tele
-       key ๒ num  tele
-       key ๓ num  tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key ! special
-       key & special
-       key ` alpha dead
-       key ´ alpha dead
-       }
-       row {
-       key ๔ num  tele
-       key ๕ num  tele
-       key ๖ num  tele
-       key ' special
-       key : special
-       key ; special
-       key ? special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key ๗ num  tele
-       key ๘ num  tele
-       key ๙ num  tele
-       key ๐ num  tele
-       key . special
-       key , special
-       key € special
-       key £ special
-       key $ special
-       key ~ special
-       key @ special
-       }
-}
-
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special tele
-       key % special
-       key ¤ special
-       key < special
-       key > special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special tele
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ¢ special
-       key ß alpha
-       key ç alpha
-       key ¥ special
-       key _ special
-       key “ special
-       key ” special
-       key ‘ special
-       key ’ special
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/keyboards/tr-qwerty.def b/ukeyboard/keyboards/tr-qwerty.def
deleted file mode 100644 (file)
index e479f0d..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
-# title: Turkish QWERTY layout
-# author: Burak Ilgicioglu <ilgicioglu@gmail.com>
-
-header {
-name   "Türkçe (QWERTY)"
-lang   "tr_TR"
-wc     "tr_TR"
-
-size   0       { width 35 height 35 textpos 26 left 0 top 0 }
-size   1       { width 50 height 35 textpos 26 left 0 top 0 }
-size   2       { width 55 height 35 textpos 26 left 0 top 0 }
-size   3       { width 72 height 55 textpos 41 left 0 top 0 }
-size   4       { width 143 height 55 textpos 41 left 0 top 0 }
-size   5       { width 24 height 35 textpos 26 left 0 top 0 }
-size   6       { width 35 height 35 textpos 26 left 15 top 0 }
-}
-
-kbd_normal {
-lowercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key q alpha 
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key ı alpha
-       key o alpha
-       key p alpha tele
-       key ğ alpha
-       key ü alpha    
-       }
-       row {
-       key a alpha hexa size 6
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ş alpha
-       key i alpha
-       key ; special
-       }
-       row {
-       key < special
-       key z alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key ö special
-       key ç special
-       key . special tele
-       }
-}
-lowercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       }
-       row {
-       key ? num special tele
-       key 0 num hexa tele
-       key * special
-       }
-}
-uppercase {
-       margin 0 0 0 0
-       default_size 0
-       row {
-       key Q alpha 
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Y alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Ğ alpha
-       key Ü alpha
-       }
-       row {
-       key A alpha hexa size 6
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Ş alpha
-       key i alpha
-       key ; alpha
-       }
-       row {
-       key > special
-       key Z alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key Ö alpha
-       key Ç alpha
-       key . special
-       }
-}
-uppercase_num {
-       margin 0 0 0 9
-       default_size 0
-       row {
-       key ! special
-       key " special
-       key # special tele
-       }
-       row {
-       key $ special
-       key % special
-       key & special
-       }
-       row {
-       key & special
-       key / special
-       key ( special tele
-       }
-       row {
-       key ) special tele
-       key = special
-       key ? special
-       }
-}
-}
-
-kbd_thumb {
-lowercase {
-       name "abc"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key q alpha
-       key w alpha tele
-       key e alpha hexa
-       key r alpha
-       key t alpha
-       key y alpha
-       key u alpha
-       key ı alpha
-       key o alpha
-       key p alpha tele
-       key ğ alpha
-       key ü alpha
-       }
-       row {
-       key a alpha hexa
-       key s alpha
-       key d alpha hexa
-       key f alpha hexa
-       key g alpha
-       key h alpha
-       key j alpha
-       key k alpha
-       key l alpha
-       key ş alpha
-       key i alpha
-       key ; special
-       }
-       row {
-       white size 4
-       key z alpha
-       key x alpha
-       key c alpha hexa
-       key v alpha
-       key b alpha hexa
-       key n alpha
-       key m alpha
-       key ö alpha
-       key ç alpha
-       slide special { key . key , key ? key ! key @ key ( key ) }
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-}
-uppercase {
-       name "ABC"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key Q alpha
-       key W alpha tele
-       key E alpha hexa
-       key R alpha
-       key T alpha
-       key Y alpha
-       key U alpha
-       key I alpha
-       key O alpha
-       key P alpha tele
-       key Ğ alpha
-       key Ü alpha
-       }
-       row {
-       key A alpha hexa
-       key S alpha
-       key D alpha hexa
-       key F alpha hexa
-       key G alpha
-       key H alpha
-       key J alpha
-       key K alpha
-       key L alpha
-       key Ş alpha
-       key İ alpha
-       key ; special
-       }
-       row {
-       white size 4
-       key Z alpha
-       key X alpha
-       key C alpha hexa
-       key V alpha
-       key B alpha hexa
-       key N alpha
-       key M alpha
-       key Ö alpha
-       key Ç alpha
-       slide special { key . key , key ? key ! key @ key ( key ) }
-       slide special { key : key ; key - key _ key / key < key > }
-       }
-}
-special {
-       name "1!+"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key 1 num hexa tele
-       key 2 num hexa tele
-       key 3 num hexa tele
-       key " special
-       key + special
-       key - special
-       key = special
-       key _ special
-       key & special
-       key @ special
-       key ~ special
-       }
-       row {
-       key 4 num hexa tele
-       key 5 num hexa tele
-       key 6 num hexa tele
-       key ' special
-       key : special
-       key ; special
-       key ! special
-       key ( special
-       key ) special
-       key / special
-       key \ special
-       }
-       row {
-       key 7 num hexa tele
-       key 8 num hexa tele
-       key 9 num hexa tele
-       key 0 num hexa tele
-       key . special
-       key , special
-       key ? special
-       key „ special
-       key “ special
-       key < special
-       key > special
-       }
-}
-special {
-       name "*§¿"
-       margin 0 0 0 0
-       default_size 3
-       row {
-       key # special
-       key % special
-       key € special
-       key £ special
-       key $ special
-       key ^ special
-       key | special
-       key [ special
-       key ] special
-       key { special
-       key } special
-       }
-       row {
-       key ¡ special
-       key ¿ special
-       key § special
-       key * special
-       key · special
-       key • special
-       key ° special
-       key ± special
-       key ½ special
-       key « special
-       key » special
-       }
-       row {
-       key ä alpha
-       key ë alpha
-       key ö alpha
-       key ü alpha
-       key Ä alpha
-       key Ë alpha
-       key Ö alpha
-       key Ü alpha
-       key ß alpha
-       key ™ special
-       key © special
-       }
-}
-}
diff --git a/ukeyboard/ukbdcreator/Makefile b/ukeyboard/ukbdcreator/Makefile
deleted file mode 100644 (file)
index 50d463e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-CFLAGS_ADD = -g -W -Wall `pkg-config --cflags gtk+-2.0 hildon-1 hildon-fm-2 libosso gnome-vfs-2.0`
-LDFLAGS_ADD = `pkg-config --libs gtk+-2.0 hildon-1 hildon-fm-2 libosso libosso gnome-vfs-2.0`
-LD = $(CC)
-
-all:   ukbdcreator
-
-ukbdcreator.o: ukbdcreator.c version.h ukbdcreator.h
-       $(CC) $(CFLAGS_ADD) -c -o $@ $<
-
-compiler.o:    compiler.c ukbdcreator.h ../vkb_compiler.h
-       $(CC) $(CFLAGS_ADD) -c -o $@ $<
-
-ukbdcreator:   ukbdcreator.o compiler.o ../vkb_compiler_lib.o
-       $(LD) $(LDFLAGS_ADD) -o $@ $+
-
-version.h:     ../VERSION
-       echo '#define UKBD_VERSION      "'`cat ../VERSION`'"' > version.h
-
-clean:
-       rm -f ukbdcreator *.o core version.h
-
-DESTDIR ?= /usr/local
-install:
-       install -d $(DESTDIR)/bin $(DESTDIR)/share/applications/hildon $(DESTDIR)/share/dbus-1/services
-       install ukbdcreator $(DESTDIR)/bin
-       install -m 0644 ukbdcreator.desktop $(DESTDIR)/share/applications/hildon
-       install -m 0644 cz.upir.ukbdcreator.service $(DESTDIR)/share/dbus-1/services
diff --git a/ukeyboard/ukbdcreator/compiler.c b/ukeyboard/ukbdcreator/compiler.c
deleted file mode 100644 (file)
index de20ad5..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <gtk/gtk.h>
-#include <glib/gstdio.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "../vkb_compiler.h"
-#include "ukbdcreator.h"
-
-static gchar *saved_layout = NULL;
-static gchar *saved_lang = NULL;
-static gchar *act_layout = NULL;
-
-struct priv {
-       char *buf;
-       size_t pos;
-       int fout;
-       gchar *lang;
-};
-
-static void error(void *p, int line, char *msg)
-{
-       (void)p;
-       disp_compile_error(line, msg);
-}
-
-static int warning(void *p, int line, char *msg)
-{
-       (void)p;
-       disp_compile_error(line, msg);
-       return -1;
-}
-
-static int get_line(void *p, void *buf, size_t size)
-{
-       struct priv *priv = p;
-       size_t dpos = 0;
-       char *dbuf = buf;
-
-       while (priv->buf[priv->pos]) {
-               if (dpos + 1 < size)
-                       dbuf[dpos++] = priv->buf[priv->pos];
-               if (priv->buf[priv->pos++] == '\n')
-                       break;
-       }
-       dbuf[dpos] = '\0';
-       return (priv->buf[priv->pos] || dpos) ? 0 : -1;
-}
-
-static int write_buf(void *p, void *buf, size_t size)
-{
-       struct priv *priv = p;
-
-       if (write(priv->fout, buf, size) != (ssize_t)size) {
-               disp_error("Error writing temporary file");
-               return -1;
-       }
-       return 0;
-}
-
-static off_t tell_buf(void *p)
-{
-       struct priv *priv = p;
-
-       return lseek(priv->fout, 0, SEEK_CUR);
-}
-
-static void seek_buf(void *p, off_t pos)
-{
-       struct priv *priv = p;
-
-       lseek(priv->fout, pos, SEEK_SET);
-}
-
-static void return_lang(void *p, char *lang)
-{
-       struct priv *priv = p;
-
-       priv->lang = g_strdup(lang);
-}
-
-static struct compiler_ops ops = {
-       .get_line = get_line,
-       .write = write_buf,
-       .tell = tell_buf,
-       .seek = seek_buf,
-       .error = error,
-       .warning = warning,
-       .return_lang = return_lang,
-};
-
-gboolean compile_layout(gchar *buf, gchar **fname, gchar **lang)
-{
-       struct priv priv;
-       int res;
-
-       priv.buf = buf;
-       priv.pos = 0;
-       priv.lang = NULL;
-
-       *fname = g_build_filename(g_get_tmp_dir(), "ukbdXXXXXX", NULL);
-       priv.fout = g_mkstemp(*fname);
-       if (priv.fout < 0) {
-               g_free(*fname);
-               disp_error("Error creating temporary file");
-               return FALSE;
-       }
-       res = compile(&ops, &priv);
-       close(priv.fout);
-       if (res < 0) {
-               g_unlink(*fname);
-               g_free(*fname);
-               g_free(priv.lang);
-               return FALSE;
-       }
-       *lang = priv.lang;
-       return TRUE;
-}
-
-static gchar *get_lang(GConfClient *conf)
-{
-       return gconf_client_get_string(conf,
-               "/apps/osso/inputmethod/hildon-im-languages/language-0", NULL);
-}
-
-static void set_lang(GConfClient *conf, gchar *val)
-{
-       gconf_client_set_string(conf,
-               "/apps/osso/inputmethod/hildon-im-languages/language-0", val, NULL);
-}
-
-void test_layout(GConfClient *conf, gchar *fname, gchar *lang)
-{
-       gchar *cmd;
-       int res;
-
-       if (saved_lang)
-               restore_layout(conf, FALSE);
-       cmd = g_strdup_printf("sudo /usr/libexec/ukeyboard-set -s %s %s", fname, lang);
-       res = system(cmd);
-       g_free(cmd);
-       if (!WIFEXITED(res)) {
-               disp_error("Cannot execute helper script");
-               return;
-       }
-       res = WEXITSTATUS(res);
-       if (res == 2) {
-               disp_error("Redefining a system language is not possible");
-               return;
-       }
-       if (res) {
-               disp_error("Activating of the layout failed");
-               return;
-       }
-       saved_lang = g_strdup(lang);
-       saved_layout = get_lang(conf);
-       set_lang(conf, "en_GB");
-       set_lang(conf, lang);
-       if (act_layout) {
-               g_unlink(act_layout);
-               g_free(act_layout);
-       }
-       act_layout = g_strdup(fname);
-       disp_info("Layout activated");
-}
-
-void restore_layout(GConfClient *conf, gboolean warn)
-{
-       gchar *cmd;
-       int res;
-
-       if (!saved_lang) {
-               if (warn)
-                       disp_info("No layout to restore");
-               return;
-       }
-       cmd = g_strdup_printf("sudo /usr/libexec/ukeyboard-set -r %s", saved_lang);
-       res = system(cmd);
-       g_free(cmd);
-       if (!WIFEXITED(res)) {
-               disp_error("Cannot execute helper script");
-               return;
-       }
-       res = WEXITSTATUS(res);
-       if (res) {
-               disp_error("Restoring of original layout failed");
-               return;
-       }
-       set_lang(conf, "en_GB");
-       set_lang(conf, saved_layout);
-       g_free(saved_lang);
-       g_free(saved_layout);
-       saved_lang = saved_layout = NULL;
-       if (act_layout) {
-               g_unlink(act_layout);
-               g_free(act_layout);
-               act_layout = NULL;
-       }
-       if (warn)
-               disp_info("Layout restored");
-}
-
diff --git a/ukeyboard/ukbdcreator/cz.upir.ukbdcreator.service b/ukeyboard/ukbdcreator/cz.upir.ukbdcreator.service
deleted file mode 100644 (file)
index 3e996ee..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-[D-BUS Service]
-Name=cz.upir.ukbdcreator
-Exec=/usr/bin/ukbdcreator
diff --git a/ukeyboard/ukbdcreator/ukbdcreator.c b/ukeyboard/ukbdcreator/ukbdcreator.c
deleted file mode 100644 (file)
index 9f75d51..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <hildon/hildon.h>
-#include <hildon/hildon-file-chooser-dialog.h>
-#include <libosso.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <gconf/gconf.h>
-#include <gconf/gconf-client.h>
-#include "version.h"
-#include "ukbdcreator.h"
-
-static HildonWindow *window_main;
-static GtkClipboard *clipboard;
-static GtkTextView *view;
-static GtkTextBuffer *buffer;
-static gchar *filename = NULL;
-static gboolean is_fullscreen = FALSE;
-static gboolean is_modified = FALSE;
-
-static int last_error_line = 0;
-static gchar *last_error_msg = NULL;
-
-static GConfClient *conf;
-
-
-static void toggle_fullscreen(void)
-{
-       if (is_fullscreen)
-               gtk_window_unfullscreen(GTK_WINDOW(window_main));
-       else
-               gtk_window_fullscreen(GTK_WINDOW(window_main));
-       is_fullscreen = !is_fullscreen;
-}
-
-static void set_modified(void)
-{
-       is_modified = TRUE;
-}
-
-static void set_filename(gchar *fname)
-{
-       if (filename)
-               g_free(filename);
-       filename = fname;
-}
-
-void disp_error(gchar *msg)
-{
-       hildon_banner_show_information(GTK_WIDGET(window_main), GTK_STOCK_DIALOG_ERROR, msg);
-}
-
-void disp_info(gchar *msg)
-{
-       hildon_banner_show_information(GTK_WIDGET(window_main), GTK_STOCK_DIALOG_INFO, msg);
-}
-
-static void __disp_compile_error(void)
-{
-       GtkTextIter iter;
-
-       if (!last_error_msg)
-               return;
-       if (last_error_line > 0) {
-               gtk_text_buffer_get_iter_at_line(buffer, &iter, last_error_line - 1);
-               gtk_text_buffer_place_cursor(buffer, &iter);
-               gtk_text_view_scroll_mark_onscreen(view, gtk_text_buffer_get_mark(buffer, "insert"));
-       }
-       hildon_banner_show_information(GTK_WIDGET(window_main), GTK_STOCK_DIALOG_ERROR, last_error_msg);
-}
-
-void disp_compile_error(int line, gchar *msg)
-{
-       g_free(last_error_msg);
-       last_error_msg = g_strdup(msg);
-       last_error_line = line;
-       __disp_compile_error();
-}
-
-static gboolean read_file(gchar *fname)
-{
-       GnomeVFSFileInfo finfo;
-       GnomeVFSHandle *handle = NULL;
-       GnomeVFSFileSize bytes;
-       gchar *buf;
-
-       if (gnome_vfs_get_file_info(fname, &finfo, GNOME_VFS_FILE_INFO_DEFAULT) != GNOME_VFS_OK ||
-                       gnome_vfs_open(&handle, fname, GNOME_VFS_OPEN_READ) != GNOME_VFS_OK) {
-               disp_error("Error opening file");
-               return FALSE;
-       }
-       buf = g_malloc0(finfo.size + 1);
-       if (!buf) {
-               gnome_vfs_close(handle);
-               disp_error("Not enough memory");
-               return FALSE;
-       }
-       if (gnome_vfs_read(handle, buf, finfo.size, &bytes) != GNOME_VFS_OK || bytes != finfo.size) {
-               gnome_vfs_close(handle);
-               g_free(buf);
-               disp_error("Error reading file");
-               return FALSE;
-       }
-       gnome_vfs_close(handle);
-
-       gtk_text_buffer_set_text(buffer, buf, -1);
-       g_free(buf);
-       return TRUE;
-}
-
-static gchar *get_buffer(void)
-{
-       GtkTextIter start, end;
-
-       gtk_text_buffer_get_bounds(buffer, &start, &end);
-       return gtk_text_buffer_get_slice(buffer, &start, &end, TRUE);
-}
-
-static gboolean write_file(gchar *fname)
-{
-       GnomeVFSHandle *handle = NULL;
-       GnomeVFSFileSize bytes;
-       gchar *buf;
-       size_t size;
-
-       if (gnome_vfs_create(&handle, fname, GNOME_VFS_OPEN_WRITE, FALSE, 0644) != GNOME_VFS_OK) {
-               disp_error("Error creating file");
-               return FALSE;
-       }
-       buf = get_buffer();
-       size = strlen(buf);
-       if (gnome_vfs_write(handle, buf, size, &bytes) != GNOME_VFS_OK || bytes != size) {
-               gnome_vfs_close(handle);
-               g_free(buf);
-               disp_error("Error writing file");
-               return FALSE;
-       }
-       gnome_vfs_close(handle);
-       g_free(buf);
-       disp_info("Saved");
-       return TRUE;
-}
-
-static gchar *file_chooser(gboolean open)
-{
-       GtkWidget *chooser;
-       GtkFileFilter *filter;
-       gchar *result = NULL;
-
-       chooser = hildon_file_chooser_dialog_new(GTK_WINDOW(window_main),
-               open ? GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SAVE);
-       filter = gtk_file_filter_new();
-       gtk_file_filter_add_pattern(filter, "*.def");
-       gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(chooser), filter);
-       gtk_widget_show_all(chooser);
-       if (gtk_dialog_run(GTK_DIALOG(chooser)) == GTK_RESPONSE_OK)
-               result = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser));
-       gtk_widget_destroy(chooser);
-       if (!open && result && !g_str_has_suffix(result, ".def")) {
-               gchar *tmp = result;
-
-               result = g_strconcat(result, ".def", NULL);
-               g_free(tmp);
-       }
-       return result;
-}
-
-static void file_save_as(void)
-{
-       gchar *fname;
-
-       fname = file_chooser(FALSE);
-       if (fname) {
-               if (write_file(fname)) {
-                       set_filename(fname);
-                       is_modified = FALSE;
-               } else
-                       g_free(fname);
-       }
-}
-
-static void file_save(void)
-{
-       if (!filename) {
-               file_save_as();
-               return;
-       }
-       if (write_file(filename))
-               is_modified = FALSE;
-}
-
-static gboolean file_ask_save(void)
-{
-       GtkWidget *note;
-       gint res;
-
-       if (!is_modified)
-               return TRUE;
-       note = hildon_note_new_confirmation_add_buttons(GTK_WINDOW(window_main),
-               "Save the file before closing?", "Yes", 1, "No", 2, "Cancel", 0, NULL);
-       res = gtk_dialog_run(GTK_DIALOG(note));
-       gtk_widget_destroy(note);
-       if (res == 1) {
-               file_save_as();
-               return !is_modified;
-       }
-       if (res == 2)
-               return TRUE;
-       return FALSE;
-}
-
-static void file_open(void)
-{
-       gchar *fname;
-
-       if (!file_ask_save())
-               return;
-       fname = file_chooser(TRUE);
-       if (fname) {
-               if (read_file(fname)) {
-                       set_filename(fname);
-                       is_modified = FALSE;
-                       g_free(last_error_msg);
-                       last_error_msg = NULL;
-               } else
-                       g_free(fname);
-       }
-}
-
-static void file_new(void)
-{
-       if (!file_ask_save())
-               return;
-       gtk_text_buffer_set_text(buffer, "", -1);
-       set_filename(NULL);
-       is_modified = FALSE;
-       g_free(last_error_msg);
-       last_error_msg = NULL;
-}
-
-static gboolean file_quit(void)
-{
-       if (!file_ask_save())
-               return TRUE;
-       restore_layout(conf, FALSE);
-       gtk_main_quit();
-       return FALSE;
-}
-
-static void edit_cut(void)
-{
-       gtk_text_buffer_cut_clipboard(buffer, clipboard, TRUE);
-}
-
-static void edit_copy(void)
-{
-       gtk_text_buffer_copy_clipboard(buffer, clipboard);
-}
-
-static void edit_paste(void)
-{
-       gtk_text_buffer_paste_clipboard(buffer, clipboard, NULL, TRUE);
-}
-
-static void run_about(void)
-{
-       gtk_show_about_dialog(GTK_WINDOW(window_main),
-               "version", UKBD_VERSION,
-               "comments", "Licensed under GPLv2. Please send bug reports and feature requests to jbenc@upir.cz.",
-               "copyright", "(c) 2008 Jiri Benc",
-               "website", "http://upir.cz/maemo/keyboards/");
-}
-
-static void compile_and_test(void)
-{
-       gchar *buf, *fname, *lang;
-       gboolean res;
-
-       buf = get_buffer();
-       res = compile_layout(buf, &fname, &lang);
-       g_free(buf);
-       if (res) {
-               test_layout(conf, fname, lang);
-               g_free(fname);
-               g_free(lang);
-       }
-}
-
-static void untest(void)
-{
-       restore_layout(conf, TRUE);
-}
-
-static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event)
-{
-       (void)widget;
-       switch (event->keyval) {
-       case GDK_F6:
-               toggle_fullscreen();
-               return TRUE;
-       }
-       return FALSE;
-}
-
-static GtkWidget *main_layout(void)
-{
-       GtkWidget *scroll;
-
-       view = GTK_TEXT_VIEW(gtk_text_view_new());
-       gtk_text_view_set_editable(view, TRUE);
-       gtk_text_view_set_left_margin(view, 10);
-       gtk_text_view_set_right_margin(view, 10);
-
-       scroll = gtk_scrolled_window_new(NULL, NULL);
-       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-       gtk_container_add(GTK_CONTAINER(scroll), GTK_WIDGET(view));
-
-       buffer = gtk_text_view_get_buffer(view);
-       g_signal_connect(G_OBJECT(buffer), "changed", G_CALLBACK(set_modified), NULL);
-       g_signal_connect(G_OBJECT(buffer), "modified-changed", G_CALLBACK(set_modified), NULL);
-
-       return scroll;
-}
-
-static GtkMenu *main_menu(void)
-{
-       GtkMenuShell *menu, *submenu;
-       GtkWidget *item;
-
-       menu = GTK_MENU_SHELL(gtk_menu_new());
-
-       submenu = GTK_MENU_SHELL(gtk_menu_new());
-       item = gtk_menu_item_new_with_label("File");
-       gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), GTK_WIDGET(submenu));
-       gtk_menu_shell_append(menu, item);
-
-       item = gtk_menu_item_new_with_label("New");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(file_new), NULL);
-       gtk_menu_shell_append(submenu, item);
-       item = gtk_menu_item_new_with_label("Open...");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(file_open), NULL);
-       gtk_menu_shell_append(submenu, item);
-       item = gtk_menu_item_new_with_label("Save");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(file_save), NULL);
-       gtk_menu_shell_append(submenu, item);
-       item = gtk_menu_item_new_with_label("Save as...");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(file_save_as), NULL);
-       gtk_menu_shell_append(submenu, item);
-
-       submenu = GTK_MENU_SHELL(gtk_menu_new());
-       item = gtk_menu_item_new_with_label("Edit");
-       gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), GTK_WIDGET(submenu));
-       gtk_menu_shell_append(menu, item);
-
-       item = gtk_menu_item_new_with_label("Cut");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(edit_cut), NULL);
-       gtk_menu_shell_append(submenu, item);
-       item = gtk_menu_item_new_with_label("Copy");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(edit_copy), NULL);
-       gtk_menu_shell_append(submenu, item);
-       item = gtk_menu_item_new_with_label("Paste");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(edit_paste), NULL);
-       gtk_menu_shell_append(submenu, item);
-
-       gtk_menu_shell_append(menu, gtk_separator_menu_item_new());
-       item = gtk_menu_item_new_with_label("Test layout");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(compile_and_test), NULL);
-       gtk_menu_shell_append(menu, item);
-       item = gtk_menu_item_new_with_label("Restore original layout");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(untest), NULL);
-       gtk_menu_shell_append(menu, item);
-       item = gtk_menu_item_new_with_label("Show last error");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(__disp_compile_error), NULL);
-       gtk_menu_shell_append(menu, item);
-
-       gtk_menu_shell_append(menu, gtk_separator_menu_item_new());
-       item = gtk_menu_item_new_with_label("Fullscreen");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(toggle_fullscreen), NULL);
-       gtk_menu_shell_append(menu, item);
-       item = gtk_menu_item_new_with_label("About");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(run_about), NULL);
-       gtk_menu_shell_append(menu, item);
-       item = gtk_menu_item_new_with_label("Exit");
-       g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(file_quit), NULL);
-       gtk_menu_shell_append(menu, item);
-
-       return GTK_MENU(menu);
-}
-
-static GtkToolbar *main_toolbar(void)
-{
-       GtkToolbar *bar;
-       GtkToolItem *item;
-
-       bar = GTK_TOOLBAR(gtk_toolbar_new());
-       gtk_toolbar_set_orientation(bar, GTK_ORIENTATION_HORIZONTAL);
-       gtk_toolbar_set_style(bar, GTK_TOOLBAR_BOTH_HORIZ);
-
-       item = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN);
-       g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(file_open), NULL);
-       gtk_toolbar_insert(bar, item, -1);
-       item = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE);
-       g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(file_save), NULL);
-       gtk_toolbar_insert(bar, item, -1);
-       gtk_toolbar_insert(bar, gtk_separator_tool_item_new(), -1);
-       item = gtk_tool_button_new_from_stock(GTK_STOCK_CUT);
-       g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(edit_cut), NULL);
-       gtk_toolbar_insert(bar, item, -1);
-       item = gtk_tool_button_new_from_stock(GTK_STOCK_COPY);
-       g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(edit_copy), NULL);
-       gtk_toolbar_insert(bar, item, -1);
-       item = gtk_tool_button_new_from_stock(GTK_STOCK_PASTE);
-       g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(edit_paste), NULL);
-       gtk_toolbar_insert(bar, item, -1);
-       gtk_toolbar_insert(bar, gtk_separator_tool_item_new(), -1);
-       item = gtk_tool_button_new_from_stock(GTK_STOCK_MEDIA_PLAY);
-       g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(compile_and_test), NULL);
-       gtk_toolbar_insert(bar, item, -1);
-       item = gtk_tool_button_new_from_stock(GTK_STOCK_MEDIA_STOP);
-       g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(untest), NULL);
-       gtk_toolbar_insert(bar, item, -1);
-
-       return bar;
-}
-
-int main(int argc, char **argv)
-{
-       HildonProgram *program;
-
-       gtk_init(&argc, &argv);
-       program = hildon_program_get_instance();
-       g_set_prgname("ukbdcreator");
-       g_set_application_name("Ukeyboard Creator");
-       osso_initialize("cz.upir.ukbdcreator", UKBD_VERSION, TRUE, NULL);
-       gnome_vfs_init();
-       conf = gconf_client_get_default();
-       gconf_client_add_dir(conf, "/apps/osso/inputmethod/hildon-im-languages",
-               GCONF_CLIENT_PRELOAD_NONE, NULL);
-
-       window_main = HILDON_WINDOW(hildon_window_new());
-       hildon_program_add_window(program, window_main);
-       clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
-       gtk_clipboard_set_can_store(clipboard, NULL, 0);
-
-       gtk_container_add(GTK_CONTAINER(window_main), main_layout());
-       hildon_window_set_menu(window_main, main_menu());
-       hildon_window_add_toolbar(window_main, main_toolbar());
-
-       g_signal_connect(G_OBJECT(window_main), "key_press_event", G_CALLBACK(key_pressed), NULL);
-       g_signal_connect(G_OBJECT(window_main), "delete_event", G_CALLBACK(file_quit), NULL);
-
-       gtk_widget_show_all(GTK_WIDGET(window_main));
-       gtk_main();
-       return 0;
-}
diff --git a/ukeyboard/ukbdcreator/ukbdcreator.desktop b/ukeyboard/ukbdcreator/ukbdcreator.desktop
deleted file mode 100644 (file)
index 8d6e433..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Name=Ukeyboard Creator
-Exec=/usr/bin/ukbdcreator
-X-Osso-Service=cz.upir.ukbdcreator
-Icon=ukeyboard
-StartupWMClass=ukbdcreator
diff --git a/ukeyboard/ukbdcreator/ukbdcreator.h b/ukeyboard/ukbdcreator/ukbdcreator.h
deleted file mode 100644 (file)
index 44eaa43..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- *  Copyright (c) 2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _UKBDCREATOR_H
-#define _UKBDCREATOR_H
-
-void disp_error(gchar *msg);
-void disp_info(gchar *msg);
-void disp_compile_error(int line, gchar *msg);
-
-gboolean compile_layout(gchar *buf, gchar **fname, gchar **lang);
-void test_layout(GConfClient *conf, gchar *fname, gchar *lang);
-void restore_layout(GConfClient *conf, gboolean warn);
-
-#endif
diff --git a/ukeyboard/ukeyboard.png b/ukeyboard/ukeyboard.png
deleted file mode 100644 (file)
index d956d34..0000000
Binary files a/ukeyboard/ukeyboard.png and /dev/null differ
diff --git a/ukeyboard/vkb_compiler.c b/ukeyboard/vkb_compiler.c
deleted file mode 100644 (file)
index 1d4b367..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- *  Copyright (c) 2007-2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "vkb_compiler.h"
-
-struct priv {
-       FILE *fin;
-       FILE *fout;
-       char *fin_name;
-       char *fout_name;
-};
-
-static void error(void *p, int line, char *msg)
-{
-       struct priv *priv = p;
-
-       if (line < 0)
-               fprintf(stderr, "%s: Error: %s.\n", priv->fin_name, msg);
-       else
-               fprintf(stderr, "%s:%d: Error: %s.\n", priv->fin_name, line, msg);
-}
-
-static int warning(void *p, int line, char *msg)
-{
-       struct priv *priv = p;
-
-       fprintf(stderr, "%s:%d: Warning: %s.\n", priv->fin_name, line, msg);
-       return 0;
-}
-
-static int get_line(void *p, void *buf, size_t size)
-{
-       struct priv *priv = p;
-
-       return fgets(buf, size, priv->fin) ? 0 : -1;
-}
-
-static int write_buf(void *p, void *buf, size_t size)
-{
-       struct priv *priv = p;
-
-       if (fwrite(buf, 1, size, priv->fout) != size) {
-               fprintf(stderr, "Error writing %s.\n", priv->fout_name);
-               return -1;
-       }
-       return 0;
-}
-
-static off_t tell_buf(void *p)
-{
-       struct priv *priv = p;
-
-       return ftell(priv->fout);
-}
-
-static void seek_buf(void *p, off_t pos)
-{
-       struct priv *priv = p;
-
-       fseek(priv->fout, pos, SEEK_SET);
-}
-
-static void init_input(struct priv *priv, char *fname)
-{
-       priv->fin_name = fname;
-       priv->fin = fopen(fname, "r");
-       if (!priv->fin) {
-               error(priv, -1, "Cannot open input file");
-               exit(1);
-       }
-}
-
-static void init_output(struct priv *priv, char *fname)
-{
-       priv->fout_name = fname;
-       priv->fout = fopen(fname, "w");
-       if (!priv->fout) {
-               fprintf(stderr, "Error creating %s.\n", fname);
-               exit(1);
-       }
-}
-
-static void close_input(struct priv *priv)
-{
-       fclose(priv->fin);
-}
-
-static void close_output(struct priv *priv)
-{
-       fclose(priv->fout);
-}
-
-static struct compiler_ops ops = {
-       .get_line = get_line,
-       .write = write_buf,
-       .tell = tell_buf,
-       .seek = seek_buf,
-       .error = error,
-       .warning = warning,
-};
-
-int main(int argc, char **argv)
-{
-       struct priv priv;
-       int res;
-
-       if (argc < 3) {
-               fprintf(stderr, "Missing parameters (source and destination filename).\n");
-               exit(1);
-       }
-       init_input(&priv, argv[1]);
-       init_output(&priv, argv[2]);
-       res = compile(&ops, &priv);
-       close_output(&priv);
-       close_input(&priv);
-       return res ? 1 : 0;
-}
diff --git a/ukeyboard/vkb_compiler.h b/ukeyboard/vkb_compiler.h
deleted file mode 100644 (file)
index c2b59ea..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Copyright (c) 2007-2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifndef _VKB_COMPILER_H
-#define _VKB_COMPILER_H
-
-struct compiler_ops {
-       /* return -1 on eof or if error occurred */
-       int (*get_line)(void *priv, void *buf, size_t size);
-       /* return -1 if error occurred; error callback is not called for
-        * write errors */
-       int (*write)(void *priv, void *buf, size_t size);
-       off_t (*tell)(void *priv);
-       void (*seek)(void *priv, off_t pos);
-       /* line is -1 if general error */
-       void (*error)(void *priv, int line, char *msg);
-       /* return -1 if the warning should be fatal */
-       int (*warning)(void *priv, int line, char *msg);
-       /* can be NULL; copy the string if you need it later */
-       void (*return_lang)(void *priv, char *lang);
-};
-
-int compile(struct compiler_ops *ops, void *priv);
-
-#endif
diff --git a/ukeyboard/vkb_compiler_lib.c b/ukeyboard/vkb_compiler_lib.c
deleted file mode 100644 (file)
index c072e50..0000000
+++ /dev/null
@@ -1,1026 +0,0 @@
-/*
- *  Copyright (c) 2007-2008 Jiri Benc <jbenc@upir.cz>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <setjmp.h>
-#include "vkb_compiler.h"
-
-static struct compiler_ops *cops;
-static void *cpriv;
-static jmp_buf cjmp;
-
-#define BUF_SIZE       8192
-
-/*** tokenizer ***/
-
-struct tokenizer {
-       int line;
-       char *buf, *pos;
-       char *pushed;
-};
-
-static char keywords[][32] = {
-       "header", "name", "lang", "wc", "size", "width", "height",
-       "textpos", "left", "top", "kbd_normal", "kbd_thumb", "kbd_special",
-       "lowercase", "lowercase_num", "uppercase", "uppercase_num",
-       "special_lowercase", "special_uppercase",
-       "special", "margin", "default_size", "row", "key", "slide",
-       "white", "tab", "alpha", "num", "hexa", "tele", "dead"
-};
-enum keywords_const {
-       TOK_HEADER, TOK_NAME, TOK_LANG, TOK_WC, TOK_SIZE, TOK_WIDTH, TOK_HEIGHT,
-       TOK_TEXTPOS, TOK_LEFT, TOK_TOP, TOK_KBD_NORMAL, TOK_KBD_THUMB, TOK_KBD_SPECIAL,
-       TOK_LOWERCASE, TOK_LOWERCASE_NUM, TOK_UPPERCASE, TOK_UPPERCASE_NUM,
-       TOK_SPEC_LOWERCASE, TOK_SPEC_UPPERCASE,
-       TOK_SPECIAL, TOK_MARGIN, TOK_DEFAULT_SIZE, TOK_ROW, TOK_KEY, TOK_SLIDE,
-       TOK_WHITE, TOK_TAB, TOK_ALPHA, TOK_NUM, TOK_HEXA, TOK_TELE, TOK_DEAD
-};
-
-enum tok_type {
-       TT_KEYWORD, TT_NUM, TT_STRING, TT_BEGIN, TT_END, TT_EOF
-};
-
-static void tok_error(struct tokenizer *tokenizer, char *msg)
-{
-       cops->error(cpriv, tokenizer->line, msg);
-       longjmp(cjmp, 1);
-}
-
-static void tok_warning(struct tokenizer *tokenizer, char *msg)
-{
-       if (cops->warning(cpriv, tokenizer->line, msg))
-               longjmp(cjmp, 1);
-}
-
-static void *e_malloc(size_t size)
-{
-       void *p = calloc(1, size);
-       if (!p) {
-               cops->error(cpriv, -1, "Out of memory");
-               longjmp(cjmp, 1);
-       }
-       return p;
-}
-
-static void set_str(char **str, char *val)
-{
-       if (*str)
-               free(*str);
-       if (!val) {
-               *str = NULL;
-               return;
-       }
-       *str = e_malloc(strlen(val) + 1);
-       strcpy(*str, val);
-}
-
-static char *ltrim(char *buf)
-{
-       while (buf && (*buf == ' ' || *buf == '\t' || *buf == '\n' || *buf == '\r'))
-               buf++;
-       return buf;
-}
-
-static char *find_white(char *buf)
-{
-       while (buf && *buf && *buf != ' ' && *buf != '\t' && *buf != '\n' && *buf != '\r')
-               buf++;
-       return buf;
-}
-
-static int read_raw(struct tokenizer *tokenizer, char *dest, size_t size, int no_ltrim)
-{
-       char *s;
-       char tmp;
-
-       while (1) {
-               if (!no_ltrim)
-                       tokenizer->pos = ltrim(tokenizer->pos);
-               if (!*tokenizer->pos) {
-                       tokenizer->line++;
-                       tokenizer->pos = tokenizer->buf;
-                       if (cops->get_line(cpriv, tokenizer->buf, BUF_SIZE))
-                               return -1;
-               } else
-                       break;
-       }
-       s = find_white(tokenizer->pos + 1);
-       tmp = *s;
-       *s = '\0';
-       if (size) {
-               strncpy(dest, tokenizer->pos, size - 1);
-               dest[size - 1] = '\0';
-       }
-       *s = tmp;
-       tokenizer->pos = s;
-       return 0;
-}
-
-static void finish_read_string(struct tokenizer *tokenizer, char *dest, size_t size)
-{
-       char *s = dest + 1;
-       char *new = dest;
-       int special = 0;
-
-       while (1) {
-               while (*s) {
-                       if (special) {
-                               *new++ = *s++;
-                               special = 0;
-                               continue;
-                       }
-                       if (*s == '\\') {
-                               special = 1;
-                               s++;
-                               continue;
-                       }
-                       if (*s == '"') {
-                               *new = '\0';
-                               if (s[1] != '\0')
-                                       tok_warning(tokenizer, "Ignored extra characters after the string");
-                               return;
-                       }
-                       *new++ = *s++;
-               }
-               if (read_raw(tokenizer, s, size - (s - dest), 1) < 0)
-                       tok_error(tokenizer, "Unterminated (or too long) string");
-       }
-}
-
-static void skip_comment(struct tokenizer *tokenizer)
-{
-       while (*tokenizer->pos)
-               tokenizer->pos++;
-}
-
-static int find_keyword(char *s)
-{
-       int i;
-       int max = (sizeof(keywords) / sizeof(*keywords));
-
-       for (i = 0; i < max; i++) {
-               if (!strcmp(s, keywords[i]))
-                       return i;
-       }
-       return -1;
-}
-
-static void unread_tok(struct tokenizer *tokenizer, char *tok)
-{
-       strncpy(tokenizer->pushed, tok, BUF_SIZE - 1);
-       tokenizer->pushed[BUF_SIZE - 1] = '\0';
-}
-
-static enum tok_type read_tok(struct tokenizer *tokenizer, char *dest, size_t size, int *parsed_int)
-{
-       int res;
-
-       while (1) {
-               if (*tokenizer->pushed) {
-                       strncpy(dest, tokenizer->pushed, size - 1);
-                       dest[size - 1] = '\0';
-                       *tokenizer->pushed = '\0';
-               } else {
-                       res = read_raw(tokenizer, dest, size, 0);
-                       if (res < 0)
-                               return TT_EOF;
-               }
-               if (dest[0] == '#')
-                       skip_comment(tokenizer);
-               else
-                       break;
-       }
-       if ((dest[0] >= '0' && dest[0] <= '9') || dest[0] == '-') {
-               *parsed_int = atoi(dest);
-               return TT_NUM;
-       }
-       if (dest[0] == '"') {
-               finish_read_string(tokenizer, dest, size);
-               return TT_STRING;
-       }
-       if (dest[0] == '{') {
-               if (dest[1] != '\0')
-                       tok_error(tokenizer, "Whitespace required after {");
-               return TT_BEGIN;
-       }
-       if (dest[0] == '}') {
-               if (dest[1] != '\0')
-                       tok_error(tokenizer, "Whitespace required after }");
-               return TT_END;
-       }
-       res = find_keyword(dest);
-       if (res < 0)
-               tok_error(tokenizer, "Uknown keyword");
-       *parsed_int = res;
-       return TT_KEYWORD;
-}
-
-static void init_tokenizer(struct tokenizer *tokenizer)
-{
-       tokenizer->pos = tokenizer->buf = e_malloc(BUF_SIZE);
-       tokenizer->pushed = e_malloc(BUF_SIZE);
-}
-
-static void close_tokenizer(struct tokenizer *tokenizer)
-{
-       if (!tokenizer)
-               return;
-       free(tokenizer->buf);
-       free(tokenizer->pushed);
-}
-
-/*** parser structures ***/
-
-struct slide_key {
-       char *name;
-       struct slide_key *next;
-};
-
-struct key {
-       int slides_cnt;
-       union {
-               char *name;
-               struct slide_key *slides;
-       } u;
-       int size;
-       int flags;
-       struct key *next;
-};
-
-#define KEY_ALPHA      0x01
-#define KEY_NUM                0x02
-#define KEY_HEXA       0x04
-#define KEY_TELE       0x08
-#define KEY_SPECIAL    0x10
-#define KEY_DEAD       0x20
-#define KEY_WHITE      0x40
-#define KEY_EXTEND     0x80
-
-#define KEY_TAB                (0x0400 | KEY_EXTEND)
-
-struct row {
-       int keys_cnt;
-       struct key *keys;
-       struct row *next;
-};
-
-struct layout {
-       int type;
-       char *name;
-       int margins[4];
-       int default_size;
-       int rows_cnt;
-       struct row *rows;
-       struct layout *sublayout;
-       struct layout *next;
-};
-
-#define LAY_LOWERCASE          0
-#define LAY_UPPERCASE          1
-#define LAY_LOWERCASE_NUM      2
-#define LAY_UPPERCASE_NUM      3
-#define LAY_SPECIAL            4
-#define LAY_SPECIAL_LOWER      5
-#define LAY_SPECIAL_UPPER      6
-
-struct kbd {
-       int type;
-       int layouts_cnt;
-       struct layout *layouts;
-       struct kbd *next;
-};
-
-struct size {
-       int dim[5];
-       struct size *next;
-};
-
-#define KBD_NORMAL             0
-#define KBD_THUMB              4
-#define KBD_SPECIAL            1
-
-struct global {
-       char *name;
-       char *lang;
-       char *wc;
-       int sizes_cnt;
-       struct size *sizes;
-       int kbds_cnt;
-       struct kbd *kbds;
-};
-
-static struct global *new_global(void)
-{
-       return e_malloc(sizeof(struct global));
-}
-
-static void free_sizes(struct size *size)
-{
-       struct size *next;
-
-       while (size) {
-               next = size->next;
-               free(size);
-               size = next;
-       }
-}
-
-static void free_slides(struct slide_key *sl)
-{
-       struct slide_key *next;
-
-       while (sl) {
-               next = sl->next;
-               free(sl->name);
-               free(sl);
-               sl = next;
-       }
-}
-
-static void free_keys(struct key *key)
-{
-       struct key *next;
-
-       while (key) {
-               next = key->next;
-               if (key->slides_cnt)
-                       free_slides(key->u.slides);
-               else
-                       free(key->u.name);
-               free(key);
-               key = next;
-       }
-}
-
-static void free_rows(struct row *row)
-{
-       struct row *next;
-
-       while (row) {
-               next = row->next;
-               free_keys(row->keys);
-               free(row);
-               row = next;
-       }
-}
-
-static void free_layouts(struct layout *lay)
-{
-       struct layout *next;
-
-       while (lay) {
-               next = lay->next;
-               free_rows(lay->rows);
-               free_layouts(lay->sublayout);
-               free(lay->name);
-               free(lay);
-               lay = next;
-       }
-}
-
-static void free_kbds(struct kbd *kbd)
-{
-       struct kbd *next;
-
-       while (kbd) {
-               next = kbd->next;
-               free_layouts(kbd->layouts);
-               free(kbd);
-               kbd = next;
-       }
-}
-
-static void free_global(struct global *glob)
-{
-       if (!glob)
-               return;
-       free_sizes(glob->sizes);
-       free_kbds(glob->kbds);
-       free(glob->name);
-       free(glob->lang);
-       free(glob->wc);
-       free(glob);
-}
-
-/*** parser ***/
-
-struct parser {
-       struct tokenizer *tokenizer;
-       struct global *global;
-       int ttype;
-       char *tstr;
-       int tint;
-};
-
-static void init_parser(struct parser *parser)
-{
-       parser->tokenizer = e_malloc(sizeof(struct tokenizer));
-       init_tokenizer(parser->tokenizer);
-       parser->tstr = e_malloc(BUF_SIZE);
-       parser->global = new_global();
-}
-
-static void close_parser(struct parser *parser)
-{
-       if (!parser)
-               return;
-       free_global(parser->global);
-       free(parser->tstr);
-       close_tokenizer(parser->tokenizer);
-       free(parser->tokenizer);
-}
-
-#define error(parser, msg)     tok_error((parser)->tokenizer, msg)
-#define warning(parser, msg)   tok_warning((parser)->tokenizer, msg)
-#define error_end(parser)      error(parser, "} expected")
-
-static void get_tok(struct parser *parser)
-{
-       parser->ttype = read_tok(parser->tokenizer, parser->tstr, BUF_SIZE, &parser->tint);
-}
-
-static void __get_raw(struct parser *parser)
-{
-       if (read_raw(parser->tokenizer, parser->tstr, BUF_SIZE, 0) < 0)
-               error(parser, "Unexpected end of file");
-}
-
-static void push_tok(struct parser *parser)
-{
-       unread_tok(parser->tokenizer, parser->tstr);
-}
-
-#define is_type(parser, t)     ((parser)->ttype == (t))
-#define is_keyword(parser, w)  ((parser)->ttype == TT_KEYWORD && (parser)->tint == (w))
-#define is_begin(parser)       ((parser)->ttype == TT_BEGIN)
-#define is_end(parser)         ((parser)->ttype == TT_END)
-#define is_eof(parser)         ((parser)->ttype == TT_EOF)
-
-static void get_tok_type(struct parser *parser, int tt)
-{
-       get_tok(parser);
-       if (!is_type(parser, tt)) {
-               switch (tt) {
-               case TT_NUM: error(parser, "Number expected");
-               case TT_STRING: error(parser, "String expected");
-               case TT_BEGIN: error(parser, "{ expected");
-               case TT_END: error(parser, "} expected");
-               default: error(parser, "Syntax error");
-               }
-       }
-}
-
-#define get_tok_num(parser)    get_tok_type(parser, TT_NUM)
-#define get_tok_string(parser) get_tok_type(parser, TT_STRING)
-#define get_tok_begin(parser)  get_tok_type(parser, TT_BEGIN)
-#define get_tok_end(parser)    get_tok_type(parser, TT_END)
-
-static void parse_sizes(struct parser *parser, struct global *glob)
-{
-       struct size *size;
-
-       get_tok_num(parser);
-       if (parser->tint != glob->sizes_cnt)
-               error(parser, "size number out of order");
-       size = e_malloc(sizeof(struct size));
-       glob->sizes_cnt++;
-       if (!glob->sizes)
-               glob->sizes = size;
-       else {
-               struct size *last = glob->sizes;
-               while (last->next)
-                       last = last->next;
-               last->next = size;
-       }
-       get_tok_begin(parser);
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_WIDTH)) {
-                       get_tok_num(parser);
-                       size->dim[0] = parser->tint;
-               } else if (is_keyword(parser, TOK_HEIGHT)) {
-                       get_tok_num(parser);
-                       size->dim[1] = parser->tint;
-               } else if (is_keyword(parser, TOK_TEXTPOS)) {
-                       get_tok_num(parser);
-                       size->dim[2] = parser->tint;
-               } else if (is_keyword(parser, TOK_LEFT)) {
-                       get_tok_num(parser);
-                       size->dim[3] = parser->tint;
-               } else if (is_keyword(parser, TOK_TOP)) {
-                       get_tok_num(parser);
-                       size->dim[4] = parser->tint;
-               } else if (is_end(parser)) {
-                       return;
-               } else
-                       error_end(parser);
-       }
-}
-
-static void parse_header(struct parser *parser, struct global *glob)
-{
-       get_tok_begin(parser);
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_NAME)) {
-                       get_tok_string(parser);
-                       set_str(&glob->name, parser->tstr);
-               } else if (is_keyword(parser, TOK_LANG)) {
-                       get_tok_string(parser);
-                       set_str(&glob->lang, parser->tstr);
-               } else if (is_keyword(parser, TOK_WC)) {
-                       get_tok_string(parser);
-                       set_str(&glob->wc, parser->tstr);
-               } else if (is_keyword(parser, TOK_SIZE)) {
-                       parse_sizes(parser, glob);
-               } else if (is_end(parser)) {
-                       return;
-               } else
-                       error_end(parser);
-       }
-}
-
-static void parse_slide(struct parser *parser, struct key *key)
-{
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_KEY)) {
-                       struct slide_key *skey = e_malloc(sizeof(struct slide_key));
-
-                       key->slides_cnt++;
-                       if (!key->u.slides)
-                               key->u.slides = skey;
-                       else {
-                               struct slide_key *last = key->u.slides;
-                               while (last->next)
-                                       last = last->next;
-                               last->next = skey;
-                       }
-                       __get_raw(parser);
-                       set_str(&skey->name, parser->tstr);
-               } else if (is_end(parser))
-                       return;
-               else
-                       error_end(parser);
-       }
-}
-
-static void parse_key(struct parser *parser, struct row *row, int type)
-{
-       struct key *key = e_malloc(sizeof(struct key));
-
-       key->size = -1;
-       row->keys_cnt++;
-       if (!row->keys)
-               row->keys = key;
-       else {
-               struct key *last = row->keys;
-               while (last->next)
-                       last = last->next;
-               last->next = key;
-       }
-       if (type == TOK_KEY) {
-               __get_raw(parser);
-               set_str(&key->u.name, parser->tstr);
-       } else if (type == TOK_WHITE) {
-               set_str(&key->u.name, "");
-               key->flags |= KEY_WHITE;
-       } else if (type == TOK_TAB) {
-               set_str(&key->u.name, "");
-               key->flags |= KEY_TAB;
-       }
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_ALPHA))
-                       key->flags |= KEY_ALPHA;
-               else if (is_keyword(parser, TOK_NUM))
-                       key->flags |= KEY_NUM;
-               else if (is_keyword(parser, TOK_HEXA))
-                       key->flags |= KEY_HEXA;
-               else if (is_keyword(parser, TOK_TELE))
-                       key->flags |= KEY_TELE;
-               else if (is_keyword(parser, TOK_SPECIAL))
-                       key->flags |= KEY_SPECIAL;
-               else if (is_keyword(parser, TOK_DEAD))
-                       key->flags |= KEY_DEAD;
-               else if (is_keyword(parser, TOK_SIZE)) {
-                       get_tok_num(parser);
-                       key->size = parser->tint;
-               } else if (is_begin(parser) && type == TOK_SLIDE)
-                       parse_slide(parser, key);
-               else if (is_keyword(parser, TOK_KEY) ||
-                          is_keyword(parser, TOK_WHITE) ||
-                          is_keyword(parser, TOK_TAB) ||
-                          is_keyword(parser, TOK_SLIDE) ||
-                          is_end(parser)) {
-                       push_tok(parser);
-                       if (type == TOK_SLIDE && !key->slides_cnt)
-                               error(parser, "{ expected");
-                       return;
-               } else
-                       error_end(parser);
-       }
-}
-
-static void parse_row(struct parser *parser, struct layout *lay)
-{
-       struct row *row = e_malloc(sizeof(struct row));
-
-       lay->rows_cnt++;
-       if (!lay->rows)
-               lay->rows = row;
-       else {
-               struct row *last = lay->rows;
-               while (last->next)
-                       last = last->next;
-               last->next = row;
-       }
-       get_tok_begin(parser);
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_KEY))
-                       parse_key(parser, row, TOK_KEY);
-               else if (is_keyword(parser, TOK_WHITE))
-                       parse_key(parser, row, TOK_WHITE);
-               else if (is_keyword(parser, TOK_TAB))
-                       parse_key(parser, row, TOK_TAB);
-               else if (is_keyword(parser, TOK_SLIDE))
-                       parse_key(parser, row, TOK_SLIDE);
-               else if (is_end(parser))
-                       return;
-               else
-                       error_end(parser);
-       }
-}
-
-static void parse_layout(struct parser *parser, struct kbd *kbd, int type)
-{
-       struct layout *lay = e_malloc(sizeof(struct layout));
-
-       if (type == LAY_LOWERCASE_NUM || type == LAY_UPPERCASE_NUM) {
-               /* numeric layout is a sublayout of a normal layout */
-               struct layout *find = kbd->layouts;
-               while (find) {
-                       if (find->type == type - 2) {
-                               find->sublayout = lay;
-                               break;
-                       }
-                       find = find->next;
-               }
-               if (!find) {
-                       free(lay);
-                       error(parser, "lowercase_num/uppercase_num has to follow lowercase/uppercase definition");
-               }
-       } else {
-               struct layout *last = kbd->layouts;
-
-               if (!last)
-                       kbd->layouts = lay;
-               else {
-                       while (last->next)
-                               last = last->next;
-                       last->next = lay;
-               }
-               kbd->layouts_cnt++;
-               if ((type == LAY_UPPERCASE && (!last || last->type != LAY_LOWERCASE)) ||
-                   (type == LAY_SPECIAL_UPPER && (!last || last->type != LAY_SPECIAL_LOWER)))
-                       error(parser, "uppercase has to follow lowercase definition");
-               if (type == LAY_SPECIAL_UPPER && last->name)
-                       set_str(&lay->name, last->name);
-       }
-       lay->type = type;
-       get_tok_begin(parser);
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_NAME)) {
-                       get_tok_string(parser);
-                       if (lay->name)
-                               error(parser, "name must not be specified for uppercase layout in kbd_special section");
-                       set_str(&lay->name, parser->tstr);
-               } else if (is_keyword(parser, TOK_MARGIN)) {
-                       int i;
-                       for (i = 0; i < 4; i++) {
-                               get_tok_num(parser);
-                               lay->margins[i] = parser->tint;
-                       }
-               } else if (is_keyword(parser, TOK_DEFAULT_SIZE)) {
-                       get_tok_num(parser);
-                       lay->default_size = parser->tint;
-               } else if (is_keyword(parser, TOK_ROW))
-                       parse_row(parser, lay);
-               else if (is_end(parser))
-                       return;
-               else
-                       error_end(parser);
-       }
-}
-
-static void parse_kbd(struct parser *parser, struct global *glob, int type)
-{
-       struct kbd *kbd = e_malloc(sizeof(struct kbd));
-
-       if (!glob->kbds)
-               glob->kbds = kbd;
-       else {
-               struct kbd *last = glob->kbds;
-               while (last->next)
-                       last = last->next;
-               last->next = kbd;
-       }
-       glob->kbds_cnt++;
-       kbd->type = type;
-       get_tok_begin(parser);
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_LOWERCASE))
-                       parse_layout(parser, kbd, LAY_LOWERCASE);
-               else if (is_keyword(parser, TOK_UPPERCASE))
-                       parse_layout(parser, kbd, LAY_UPPERCASE);
-               else if (is_keyword(parser, TOK_SPEC_LOWERCASE)) {
-                       if (type != KBD_SPECIAL)
-                               error(parser, "special_lowercase allowed only in kbd_special section");
-                       parse_layout(parser, kbd, LAY_SPECIAL_LOWER);
-               } else if (is_keyword(parser, TOK_SPEC_UPPERCASE)) {
-                       if (type != KBD_SPECIAL)
-                               error(parser, "special_uppercase allowed only in kbd_special section");
-                       parse_layout(parser, kbd, LAY_SPECIAL_UPPER);
-               } else if (is_keyword(parser, TOK_LOWERCASE_NUM)) {
-                       if (type != KBD_NORMAL)
-                               error(parser, "lowercase_num allowed only in kbd_normal section");
-                       parse_layout(parser, kbd, LAY_LOWERCASE_NUM);
-               } else if (is_keyword(parser, TOK_UPPERCASE_NUM)) {
-                       if (type != KBD_NORMAL)
-                               error(parser, "uppercase_num allowed only in kbd_normal section");
-                       parse_layout(parser, kbd, LAY_UPPERCASE_NUM);
-               } else if (is_keyword(parser, TOK_SPECIAL)) {
-                       if (type != KBD_THUMB && type != KBD_SPECIAL)
-                               error(parser, "special allowed only in kbd_thumb and kbd_special sections");
-                       parse_layout(parser, kbd, LAY_SPECIAL);
-               } else if (is_end(parser)) {
-                       if (!kbd->layouts_cnt)
-                               error(parser, "no keyboard layouts defined");
-                       return;
-               } else
-                       error_end(parser);
-       }
-}
-
-static void parse_global(struct parser *parser)
-{
-       struct global *glob = parser->global;
-
-       while (1) {
-               get_tok(parser);
-               if (is_keyword(parser, TOK_HEADER))
-                       parse_header(parser, glob);
-               else if (is_keyword(parser, TOK_KBD_NORMAL))
-                       parse_kbd(parser, glob, KBD_NORMAL);
-               else if (is_keyword(parser, TOK_KBD_THUMB))
-                       parse_kbd(parser, glob, KBD_THUMB);
-               else if (is_keyword(parser, TOK_KBD_SPECIAL))
-                       parse_kbd(parser, glob, KBD_SPECIAL);
-               else if (is_eof(parser)) {
-                       if (!glob->kbds_cnt)
-                               error(parser, "no keyboards defined");
-                       return;
-               } else
-                       error(parser, "header, kbd_normal, kbd_thumb or kbd_special expected");
-       }
-}
-
-/*** writer ***/
-
-struct writer {
-       struct global *global;
-       int start_table;
-       int *starts;
-};
-
-static void werror(struct writer *writer)
-{
-       (void)writer;
-       longjmp(cjmp, 1);
-}
-
-static void init_writer(struct writer *writer, struct global *global)
-{
-       writer->global = global;
-       writer->starts = e_malloc(sizeof(int) * global->kbds_cnt);
-}
-
-static void close_writer(struct writer *writer)
-{
-       if (!writer)
-               return;
-       free(writer->starts);
-}
-
-static void writer_byte(struct writer *writer, unsigned char b)
-{
-       if (cops->write(cpriv, &b, 1))
-               werror(writer);
-}
-
-static void writer_word(struct writer *writer, unsigned int w)
-{
-       unsigned char a[2];
-
-       a[0] = w & 0xff;
-       a[1] = (w >> 8) & 0xff;
-       if (cops->write(cpriv, a, 2))
-               werror(writer);
-}
-
-static void writer_string(struct writer *writer, char *s)
-{
-       int len;
-
-       if (!s)
-               len = 0;
-       else
-               len = strlen(s);
-       writer_byte(writer, len);
-       if (len) {
-               if (cops->write(cpriv, s, len))
-                       werror(writer);
-       }
-}
-
-static void writer_sizes(struct writer *writer, struct size *sizes)
-{
-       int i;
-
-       while (sizes) {
-               for (i = 0; i < 5; i++)
-                       writer_byte(writer, sizes->dim[i]);
-               sizes = sizes->next;
-       }
-}
-
-static void writer_keys(struct writer *writer, struct key *key, int default_size)
-{
-       struct slide_key *skey;
-
-       while (key) {
-               writer_byte(writer, key->slides_cnt ? 1 : 0);
-               writer_byte(writer, key->flags & 0xff);
-               if (key->flags & KEY_EXTEND)
-                       writer_byte(writer, (key->flags >> 8) & 0xff);
-               if (!key->slides_cnt)
-                       writer_string(writer, key->u.name);
-               else {
-                       writer_byte(writer, key->slides_cnt | 0x80);
-                       skey = key->u.slides;
-                       while (skey) {
-                               writer_string(writer, skey->name);
-                               skey = skey->next;
-                       }
-               }
-               writer_byte(writer, key->size >= 0 ? key->size : default_size);
-               key = key->next;
-       }
-}
-
-static void writer_sublayout(struct writer *writer, struct layout *lay)
-{
-       int cnt;
-       struct row *tmp;
-
-       cnt = 0;
-       for (tmp = lay->rows; tmp; tmp = tmp->next)
-               cnt += tmp->keys_cnt;
-       writer_byte(writer, cnt);
-       writer_byte(writer, lay->rows_cnt);
-       writer_byte(writer, lay->margins[3]);
-       writer_byte(writer, lay->margins[0]);
-       writer_byte(writer, lay->margins[2]);
-       writer_byte(writer, lay->margins[1]);
-       for (tmp = lay->rows; tmp; tmp = tmp->next)
-               writer_byte(writer, tmp->keys_cnt);
-       for (tmp = lay->rows; tmp; tmp = tmp->next)
-               writer_keys(writer, tmp->keys, lay->default_size);
-}
-
-static void writer_layouts(struct writer *writer, struct layout *lay, int idx)
-{
-       int type, other;
-
-       switch (lay->type) {
-       case LAY_LOWERCASE:
-               type = 0;
-               break;
-       case LAY_UPPERCASE:
-               type = 1;
-               break;
-       default:
-               type = 2;
-               break;
-       }
-       switch (lay->type) {
-       case LAY_LOWERCASE:
-       case LAY_SPECIAL_LOWER:
-               other = idx + 1;
-               break;
-       case LAY_UPPERCASE:
-       case LAY_SPECIAL_UPPER:
-               other = idx - 1;
-               break;
-       default:
-               other = 0xff;
-               break;
-       }
-       writer_byte(writer, type);
-       writer_byte(writer, other);
-       writer_string(writer, lay->name);
-       writer_byte(writer, lay->sublayout ? 2 : 1);
-       writer_sublayout(writer, lay);
-       if (lay->sublayout)
-               writer_sublayout(writer, lay->sublayout);
-}
-
-static void writer_kbd(struct writer *writer, struct kbd *kbd)
-{
-       struct layout *lay;
-       int i;
-
-       writer_byte(writer, kbd->type);
-       writer_byte(writer, kbd->layouts_cnt);
-       writer_byte(writer, 0);
-       writer_byte(writer, kbd->layouts->default_size);        /* use the default size of the first layout */
-       for (lay = kbd->layouts, i = 0; lay; lay = lay->next, i++)
-               writer_layouts(writer, lay, i);
-}
-
-static void writer_global(struct writer *writer)
-{
-       struct global *glob = writer->global;
-       struct kbd *kbd;
-       int i;
-
-       writer_byte(writer, 1);         /* version */
-       writer_byte(writer, glob->kbds_cnt);
-       writer_string(writer, glob->name);
-       writer_string(writer, glob->lang);
-       writer_string(writer, glob->wc);
-       writer_byte(writer, 2);         /* always use the default screen modes */
-       writer_byte(writer, 0);
-       writer_byte(writer, 1);
-       writer_byte(writer, glob->sizes_cnt);
-       writer_sizes(writer, glob->sizes);
-       writer->start_table = cops->tell(cpriv);
-       for (i = 0; i < glob->kbds_cnt; i++)
-               writer_word(writer, 0);
-       for (i = 0; i < 20; i++)
-               writer_byte(writer, 0);
-       for (kbd = glob->kbds, i = 0; kbd; kbd = kbd->next, i++) {
-               writer->starts[i] = cops->tell(cpriv);
-               writer_kbd(writer, kbd);
-       }
-       cops->seek(cpriv, writer->start_table);
-       for (i = 0; i < glob->kbds_cnt; i++)
-               writer_word(writer, writer->starts[i]);
-}
-
-/*** main ***/
-
-int compile(struct compiler_ops *ops, void *priv)
-{
-       struct parser *parser = NULL;
-       struct writer *writer = NULL;
-       int res;
-
-       cops = ops;
-       cpriv = priv;
-
-       res = setjmp(cjmp);
-       if (!res) {
-               parser = e_malloc(sizeof(struct parser));
-               writer = e_malloc(sizeof(struct writer));
-               init_parser(parser);
-               parse_global(parser);
-               init_writer(writer, parser->global);
-               writer_global(writer);
-               if (cops->return_lang)
-                       cops->return_lang(cpriv, parser->global->lang);
-       }
-       close_writer(writer);
-       close_parser(parser);
-       free(writer);
-       free(parser);
-       return res ? -1 : 0;
-}
diff --git a/ukeyboard/xkb/ukeyboard b/ukeyboard/xkb/ukeyboard
deleted file mode 100644 (file)
index b820c96..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// author: Roman Moravcik
-xkb_symbols "sk" {
-    name[Group1] = "Slovak QWERTZ (CZ HW)";
-
-    include "nokia_vndr/rx-51(english_base)"
-    include "nokia_vndr/rx-51(arrows_2btns)"
-
-    // 1. row
-    key <AD06> { [     z,              Z,              6,              6               ] };
-    key <AB08> { [     dead_acute,     dead_acute,     sterling,       sterling        ] };
-
-    // 2. row
-    key <AC08> { [     k,              K,              semicolon,      semicolon       ] };
-    key <AC09> { [     l,              L,              colon,          colon           ] };
-    key <AB09> { [     ocircumflex,    adiaeresis,     EuroSign,       EuroSign        ] };
-    key <UP>   { [     dead_caron,     dead_caron,     dollar,         dollar          ] };
-
-    // 3. row
-    key <AB01> { [     y,              Y,              percent,        percent         ] };
-    key <AB02> { [     x,              X,              slash,          slash           ] };
-    key <AB03> { [     c,              C,              backslash,      backslash       ] };
-    key <AB04> { [     v,              V,              apostrophe,     apostrophe      ] };
-    key <AB05> { [     b,              B,              quotedbl,       quotedbl        ] };
-    key <AB06> { [     n,              N,              exclam,         exclam          ] };
-    key <AB07> { [     m,              M,              question,       question        ] };
-    key <LEFT> { [     period,         comma,          Tab,            bar             ] };
-};
-
-xkb_symbols "sk_qwerty" {
-    name[Group1] = "Slovak QWERTY (CZ hw)";
-
-    include "nokia_vndr/rx-51(sk)"
-
-    // 1. row
-    key <AD06> { [     y,              Y,              6,              6               ] };
-
-    // 3. row
-    key <AB01> { [     z,              Z,              percent,        percent         ] };
-};
-