[Tux4kids-commits] r623 - in tuxtype/branches/tuxtype-1.5.17_soc1: . data data/images/hands data/images/keyboard src
sreyas-guest at alioth.debian.org
sreyas-guest at alioth.debian.org
Thu Aug 14 05:39:03 UTC 2008
Author: sreyas-guest
Date: 2008-08-14 05:39:03 +0000 (Thu, 14 Aug 2008)
New Revision: 623
Added:
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/lshift.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/none.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/rshift.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A13.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B13.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C13.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_None.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A13.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B13.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C13.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D08.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D09.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D10.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D11.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D12.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E00.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E02.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E03.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E04.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E05.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E06.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E07.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_NA01.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_None.png
Modified:
tuxtype/branches/tuxtype-1.5.17_soc1/ChangeLog
tuxtype/branches/tuxtype-1.5.17_soc1/data/Makefile.am
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/0.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/1.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/2.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/3.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/4.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/5.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/6.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/7.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/8.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/9.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/Makefile.am
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/hands.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/Makefile.am
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard-us.png
tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard.png
tuxtype/branches/tuxtype-1.5.17_soc1/src/alphabet.c
tuxtype/branches/tuxtype-1.5.17_soc1/src/funcs.h
tuxtype/branches/tuxtype-1.5.17_soc1/src/practice.c
Log:
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/ChangeLog
===================================================================
--- tuxtype/branches/tuxtype-1.5.17_soc1/ChangeLog 2008-08-14 05:30:20 UTC (rev 622)
+++ tuxtype/branches/tuxtype-1.5.17_soc1/ChangeLog 2008-08-14 05:39:03 UTC (rev 623)
@@ -1,4 +1,16 @@
+3 Aug 2008 - svn revision 599
+[ Sreyas Kurumanghat <k.sreyas at gmail.com ]
+ - Added keypress details for wrong key pressed in practice.
+3 Aug 2008 - svn revision 580
+[ Sreyas Kurumanghat <k.sreyas at gmail.com ]
+ - Added automatic keyboard layout generation in practice.c.
+ - Modified the keyboard.lst file format. The current format can be any of the three below:
+ - char
+ - finger|char
+ - finger|char|latin character
+ - Features added so that the information about the keyboard gets updated each time the game is run.
+
13 Apr 2008 - svn revision 460
[ David Bruce <dbruce at tampabay.rr.com> ]
- fixed small typo bug in alphabet.c (thanks Patrick Winnertz)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/Makefile.am
===================================================================
--- tuxtype/branches/tuxtype-1.5.17_soc1/data/Makefile.am 2008-08-14 05:30:20 UTC (rev 622)
+++ tuxtype/branches/tuxtype-1.5.17_soc1/data/Makefile.am 2008-08-14 05:39:03 UTC (rev 623)
@@ -5,4 +5,5 @@
tuxtypedatadir = $(pkgdatadir)/data
-dist_tuxtypedata_DATA = keyboard.lst
+dist_tuxtypedata_DATA = keyboard.lst \
+ phrases.txt
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/0.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/1.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/2.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/3.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/4.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/5.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/6.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/7.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/8.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/9.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/Makefile.am
===================================================================
--- tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/Makefile.am 2008-08-14 05:30:20 UTC (rev 622)
+++ tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/Makefile.am 2008-08-14 05:39:03 UTC (rev 623)
@@ -8,7 +8,11 @@
6.png\
7.png\
8.png\
-9.png
+9.png\
+none.png\
+lshift.png\
+rshift.png\
+fishy1.png
@@ -25,9 +29,11 @@
$(INSTALL_DATA) $(srcdir)/7.png $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/7.png
$(INSTALL_DATA) $(srcdir)/8.png $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/8.png
$(INSTALL_DATA) $(srcdir)/9.png $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/9.png
+ $(INSTALL_DATA) $(srcdir)/lshift.png $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/lshift.png
+ $(INSTALL_DATA) $(srcdir)/rshift.png $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/rshift.png
+ $(INSTALL_DATA) $(srcdir)/none.png $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/none.png
-
uninstall-local:
rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/0.png
rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/1.png
@@ -40,3 +46,6 @@
rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/7.png
rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/8.png
rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/9.png
+ rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/lshift.png
+ rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/rshift.png
+ rm -f $(DESTDIR)$(prefix)/share/$(PACKAGE)/data/images/hands/none.png
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/hands.png
===================================================================
(Binary files differ)
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/lshift.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/lshift.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/none.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/none.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/rshift.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/hands/rshift.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/Makefile.am
===================================================================
--- tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/Makefile.am 2008-08-14 05:30:20 UTC (rev 622)
+++ tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/Makefile.am 2008-08-14 05:39:03 UTC (rev 623)
@@ -10,4 +10,68 @@
esc.png \
larrow.png \
space.png \
- rarrow.png
+ rarrow.png\
+ keyboard_B05.png \
+ keyboard_C11.png \
+ keyboard_E04.png \
+ keyboard_A00.png \
+ keyboard_B06.png \
+ keyboard_C12.png \
+ keyboard_E05.png \
+ keyboard_A01.png \
+ keyboard_B07.png \
+ keyboard_C13.png \
+ keyboard_E06.png \
+ keyboard_A02.png \
+ keyboard_B08.png \
+ keyboard_D00.png \
+ keyboard_E07.png \
+ keyboard_A03.png \
+ keyboard_B09.png \
+ keyboard_D01.png \
+ keyboard_A04.png \
+ keyboard_B10.png \
+ keyboard_D02.png \
+ keyboard_None.png \
+ keyboard_A05.png \
+ keyboard_B11.png \
+ keyboard_D03.png \
+ keyboard_A06.png \
+ keyboard_B12.png \
+ keyboard_D04.png \
+ keyboard_A07.png \
+ keyboard_B13.png \
+ keyboard_D05.png \
+ keyboard_A08.png \
+ keyboard_C00.png \
+ keyboard_D06.png \
+ keyboard_A09.png \
+ keyboard_C01.png \
+ keyboard_D07.png \
+ keyboard_A10.png \
+ keyboard_C02.png \
+ keyboard_D08.png \
+ keyboard_A11.png \
+ keyboard_C03.png \
+ keyboard_D09.png \
+ keyboard_A12.png \
+ keyboard_C04.png \
+ keyboard_D10.png \
+ keyboard_A13.png \
+ keyboard_C05.png \
+ keyboard_D11.png \
+ keyboard_B00.png \
+ keyboard_C06.png \
+ keyboard_D12.png \
+ keyboard_B01.png \
+ keyboard_C07.png \
+ keyboard_E00.png \
+ keyboard_B02.png \
+ keyboard_C08.png \
+ keyboard_E01.png \
+ keyboard_B03.png \
+ keyboard_C09.png \
+ keyboard_E02.png \
+ keyboard_B04.png \
+ keyboard_C10.png \
+ keyboard_E03.png
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard-us.png
===================================================================
(Binary files differ)
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard.png
===================================================================
(Binary files differ)
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A13.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_A13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B13.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_B13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C13.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_C13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_D12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_E07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_None.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboardN_None.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A13.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_A13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B13.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_B13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C13.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_C13.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D08.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D08.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D09.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D09.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D10.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D10.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D11.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D11.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D12.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_D12.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E00.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E00.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E02.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E02.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E03.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E03.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E04.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E04.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E05.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E05.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E06.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E06.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E07.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_E07.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_NA01.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_NA01.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_None.png
===================================================================
(Binary files differ)
Property changes on: tuxtype/branches/tuxtype-1.5.17_soc1/data/images/keyboard/keyboard_None.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/src/alphabet.c
===================================================================
--- tuxtype/branches/tuxtype-1.5.17_soc1/src/alphabet.c 2008-08-14 05:30:20 UTC (rev 622)
+++ tuxtype/branches/tuxtype-1.5.17_soc1/src/alphabet.c 2008-08-14 05:39:03 UTC (rev 623)
@@ -5,6 +5,8 @@
begin : Jan 6 2003
copyright : (C) 2003 by Jesse Andrews
email : jdandr2 at tux4kids.net
+Revised extensively: 2008
+Sreyas Kurumanghat <k.sreyas at gmail.com>
***************************************************************************/
/***************************************************************************
@@ -55,14 +57,22 @@
/* An individual item in the list of unicode characters in the keyboard setup. */
/* Basically, just the Unicode value for the key and the finger used to type it. */
+/*typedef struct keymap {
+ char keyname[5];
+ int shift;
+} keymap;*/
typedef struct kbd_char {
wchar_t unicode_value;
char finger;
+ //keymap key;
+ char keyname[5];
+ int shift;
+ char latin_char;
} kbd_char;
/* List with one entry for each typable character in keyboard setup - has the */
/* Unicode value of the key and the associated fingering. */
-static kbd_char keyboard_list[MAX_UNICODES] = {0, -1};
+static kbd_char keyboard_list[MAX_UNICODES] = {0, -1,0,0,-1};
@@ -84,6 +94,7 @@
static void clear_keyboard(void);
static int unicode_in_key_list(wchar_t uni_char);
int check_needed_unicodes_str(const wchar_t* s);
+int map_keys(wchar_t wide_char,kbd_char* keyboard_entry);
#ifndef WIN32
#ifndef MACOSX
@@ -182,18 +193,57 @@
{
fprintf(stderr, "Adding key: Unicode char = '%C'\tUnicode value = %d\tfinger = %d\n",
wide_str[2], wide_str[2], wcstol(&wide_str[0], NULL, 0));
- }
+ }
/* Just plug values into array: */
keyboard_list[k].unicode_value = wide_str[2];
keyboard_list[k].finger = wcstol(&wide_str[0], NULL, 0);
+ if (wcslen(wide_str) <5)
+ {
+ if(!settings.use_english)
+ {
+ map_keys(-1,&keyboard_list[k]);
+ keyboard_list[k].latin_char=-1;
+ keyboard_list[k].finger = wcstol(&wide_str[0], NULL, 0);
+ }
+ else
+ {
+ map_keys(wide_str[2],&keyboard_list[k]);
+ keyboard_list[k].latin_char=wide_str[2];
+ }
+ }
+ else
+ {
+ map_keys(wide_str[4],&keyboard_list[k]);
+ keyboard_list[k].latin_char=wide_str[4];
+ }
k++;
}
+ else
+ {
+ if(wcslen(wide_str)==1)
+ {
+ if(!settings.use_english)
+ {
+ keyboard_list[k].unicode_value = wide_str[0];
+ map_keys(-1,&keyboard_list[k]);
+ keyboard_list[k].latin_char=-1;
+ }
+ else
+ {
+ keyboard_list[k].unicode_value = wide_str[0];
+ map_keys(-1,&keyboard_list[k]);
+ keyboard_list[k].latin_char=wide_str[0];
+ }
+ k++;
+ }
+
+ }
+
} while (!feof(f));
fclose(f);
-
LOG("Leaving LoadKeyboard()\n");
return 1;
}
@@ -204,8 +254,31 @@
/* Returns -1 if somehow no finger associated with a Unicode value */
/* in the list (shouldn't happen). */
/* Returns -2 if Unicode value not in list. */
-int GetFinger(wchar_t uni_char)
+int GetFinger(int i)
{
+ if (i == -1)
+ {
+ fprintf(stderr, "GetFinger() - Unicode char '%C' not found in list.\n");
+ return -2;
+ }
+
+ if ((keyboard_list[i].finger < 0)
+ || (keyboard_list[i].finger > 9))
+ {
+ fprintf(stderr, "GetFinger() - Unicode char '%C' has no valid finger.\n");
+ return -1;
+ }
+
+ return (int)keyboard_list[i].finger; /* Keep compiler from complaining */
+}
+
+int GetShift(int i)
+{
+ return keyboard_list[i].shift;
+}
+
+int GetIndex(wchar_t uni_char)
+{
int i = 0;
while ((i < MAX_UNICODES)
@@ -216,22 +289,40 @@
if (i == MAX_UNICODES)
{
- fprintf(stderr, "GetFinger() - Unicode char '%C' not found in list.\n", uni_char);
- return -2;
+ fprintf(stderr, "GeteKeypress() - Unicode char '%C' not found in list.\n", uni_char);
+ return -1;
}
- if ((keyboard_list[i].finger < 0)
- || (keyboard_list[i].finger > 9))
- {
- fprintf(stderr, "GetFinger() - Unicode char '%C' has no valid finger.\n",uni_char);
- return -1;
- }
+ return i;
+}
- return (int)keyboard_list[i].finger; /* Keep compiler from complaining */
+void GetKeyPos(int index, char *buf)
+{
+ sprintf(buf,"keyboard/keyboard_%s.png", keyboard_list[index].keyname);
}
+void GetWrongKeyPos(int index, char *buf)
+{
+ sprintf(buf,"keyboard/keyboardN_%s.png", keyboard_list[index].keyname);
+}
-
+void GetKeyShift(int index, char *buf)
+{
+ if(keyboard_list[index].shift==0)
+ sprintf(buf,"keyboard/keyboard_None.png");
+ else
+ if(keyboard_list[index].shift==1)
+ sprintf(buf,"keyboard/keyboard_D00.png");
+ else
+ sprintf(buf,"keyboard/keyboard_D12.png", settings.default_data_path);
+}
+wchar_t GetLastKey()
+{
+ if(!num_chars_used)
+ return -1;
+ else
+ return keyboard_list[num_chars_used-1].unicode_value;
+}
int unicode_in_key_list(wchar_t uni_char)
{
int i = 0;
@@ -257,50 +348,28 @@
SDL_Surface* bg = NULL;
SDL_Rect dstrect;
Uint32 color_key;
- /* To covert SDL_Colour to SDLPango_Matrix*/
- SDLPango_Matrix* colour = NULL;
- /* Create a context which contains Pango objects.*/
- SDLPango_Context* context = NULL;
- LOG("\nEntering BlackOutline()\n");
- DEBUGCODE{ fprintf(stderr, "will attempt to render: %s\n", t); }
+ LOG("Entering BlackOutline()\n");
+/* Simply passthrough to SDLPango version if available (i.e. not under Windows):*/
+#ifndef WIN32
+#ifndef MACOSX
+return BlackOutline_SDLPango(t, font, c);
+#endif
+#endif
+
+
if (!t || !font || !c)
{
fprintf(stderr, "BlackOutline(): invalid ptr parameter, returning.");
return NULL;
}
- /* SDLPango crashes on 64 bit machines if passed empty string - Debian Bug#439071 */
- if (*t == '\0')
- {
- fprintf(stderr, "BlackOutline(): empty string arg - must return to avoid segfault.");
- return NULL;
- }
+ black_letters = TTF_RenderUTF8_Blended((TTF_Font*)font, t, black);
- colour = SDL_Colour_to_SDLPango_Matrix(c);
-
- /* Create the context */
- context = SDLPango_CreateContext();
- SDLPango_SetDpi(context, 125.0, 125.0);
- /* Set the color */
- SDLPango_SetDefaultColor(context, MATRIX_TRANSPARENT_BACK_BLACK_LETTER );
- SDLPango_SetBaseDirection(context, SDLPANGO_DIRECTION_LTR);
- /* Set text to context*/
- SDLPango_SetMarkup(context, t, -1);
-
- if (!context)
- {
- fprintf (stderr, "In BlackOutline(), could not create context for %s", t);
- return NULL;
- }
-
- black_letters = SDLPango_CreateSurfaceDraw(context);
-
if (!black_letters)
{
fprintf (stderr, "Warning - BlackOutline() could not create image for %s\n", t);
- SDLPango_FreeContext(context);
return NULL;
}
@@ -309,18 +378,7 @@
(black_letters->h) + 5,
32,
RMASK, GMASK, BMASK, AMASK);
- if (!bg)
- {
- fprintf (stderr, "Warning - BlackOutline() - bg creation failed\n");
- SDL_FreeSurface(black_letters);
- SDLPango_FreeContext(context);
- return NULL;
- }
-
- /* Draw text on a existing surface*/
- SDLPango_Draw(context, bg, 0, 0);
-
- /* Use color key for eventual transparency:*/
+ /* Use color key for eventual transparency: */
color_key = SDL_MapRGB(bg->format, 10, 10, 10);
SDL_FillRect(bg, NULL, color_key);
@@ -337,23 +395,19 @@
SDL_FreeSurface(black_letters);
/* --- Put the color version of the text on top! --- */
- SDLPango_SetDefaultColor(context, colour);
- white_letters = SDLPango_CreateSurfaceDraw(context);
+ /* NOTE we cast away the 'const-ness' to keep compliler from complaining: */
+ white_letters = TTF_RenderUTF8_Blended((TTF_Font*)font, t, *c);
dstrect.x = 1;
dstrect.y = 1;
SDL_BlitSurface(white_letters, NULL, bg, &dstrect);
SDL_FreeSurface(white_letters);
- /********************Free SDL_Pango context************/
- SDLPango_FreeContext(context);
-
- /* --- Convert to the screen format for quicker blits ---*/
+ /* --- Convert to the screen format for quicker blits --- */
SDL_SetColorKey(bg, SDL_SRCCOLORKEY|SDL_RLEACCEL, color_key);
out = SDL_DisplayFormatAlpha(bg);
SDL_FreeSurface(bg);
- free(colour);
- LOG("Leaving BlackOutline()\n\n");
+ LOG("Leaving BlackOutline()\n");
return out;
}
@@ -479,14 +533,10 @@
SDL_BlitSurface(white_letters, NULL, bg, &dstrect);
SDL_FreeSurface(white_letters);
- /********************Free SDL_Pango context************/
- SDLPango_FreeContext(context);
-
/* --- Convert to the screen format for quicker blits --- */
SDL_SetColorKey(bg, SDL_SRCCOLORKEY|SDL_RLEACCEL, color_key);
out = SDL_DisplayFormatAlpha(bg);
SDL_FreeSurface(bg);
- free(colour);
LOG("Leaving BlackOutline_SDLPango()\n\n");
@@ -561,163 +611,17 @@
return out;
}
-int convert_from_UTF32( char* UTF8_word, wchar_t* wide_word)
-{
- int i = 0;
- ConversionResult result;
- UTF8 temp_UTF8[FNLEN];
- UTF32 temp_UTF32[FNLEN];
-
- UTF8* UTF8_Start = temp_UTF8;
- UTF8* UTF8_End = &temp_UTF8[FNLEN-1];
- const UTF32* UTF32_Start = temp_UTF32;
- const UTF32* UTF32_End = &temp_UTF32[FNLEN-1];
-
- wcsncpy(temp_UTF32, wide_word, FNLEN);
-
- ConvertUTF32toUTF8(&UTF32_Start, UTF32_End, &UTF8_Start, UTF8_End, 0);
-
- UTF8_word[0] = 0;
-
- while ((i < FNLEN) && (temp_UTF8[i] != 0))
- {
- UTF8_word[i] = temp_UTF8[i];
- i++;
- }
-
- if (i >= FNLEN)
- {
- fprintf(stderr, "convert_from_UTF8(): buffer overflow\n");
- return -1;
- }
- else //need terminating null:
- {
- for(i;i<FNLEN;i++)
- UTF8_word[i] = 0;
- }
-
- DEBUGCODE {fprintf(stderr, "UTF8_word = %s\n", UTF8_word);}
-
- return strlen(UTF8_word);
-}
-
SDL_Surface* BlackOutline_w(wchar_t* t, const SDL_Color* c, int size)
{
wchar_t wchar_tmp[512];
char tmp[512];
int i;
- SDL_Surface* out = NULL;
- SDL_Surface* black_letters = NULL;
- SDL_Surface* white_letters = NULL;
- SDL_Surface* bg = NULL;
- SDL_Rect dstrect;
- Uint32 color_key;
- /* To covert SDL_Colour to SDLPango_Matrix*/
- SDLPango_Matrix* colour = NULL;
- /* Create a context which contains Pango objects.*/
- SDLPango_Context* context = NULL;
-
- LOG("\nEntering BlackOutline_w()\n");
- DEBUGCODE{ fprintf(stderr, "will attempt to render: %s\n", t); }
-
- if (!t || !c)
- {
- fprintf(stderr, "BlackOutline_w(): invalid ptr parameter, returning.");
- return NULL;
- }
-
- wcsncpy( wchar_tmp, t, size);
- wchar_tmp[size]=0;
- i=convert_from_UTF32( tmp, wchar_tmp);
- tmp[i]=0;
-
- /* SDLPango crashes on 64 bit machines if passed empty string - Debian Bug#439071 */
- if (*t == '\0')
- {
- fprintf(stderr, "BlackOutline_w(): empty string arg - must return to avoid segfault.");
- return NULL;
- }
-
- colour = SDL_Colour_to_SDLPango_Matrix(c);
-
- /* Create the context */
- context = SDLPango_CreateContext();
- SDLPango_SetDpi(context, 125.0, 125.0);
- /* Set the color */
- SDLPango_SetDefaultColor(context, MATRIX_TRANSPARENT_BACK_BLACK_LETTER );
- SDLPango_SetBaseDirection(context, SDLPANGO_DIRECTION_LTR);
- /* Set text to context*/
- SDLPango_SetMarkup(context, tmp, -1);
-
- if (!context)
- {
- fprintf (stderr, "In BlackOutline_w(), could not create context for %s", t);
- return NULL;
- }
-
- black_letters = SDLPango_CreateSurfaceDraw(context);
-
- if (!black_letters)
- {
- fprintf (stderr, "Warning - BlackOutline_w() could not create image for %s\n", t);
- SDLPango_FreeContext(context);
- return NULL;
- }
-
- bg = SDL_CreateRGBSurface(SDL_SWSURFACE,
- (black_letters->w) + 5,
- (black_letters->h) + 5,
- 32,
- RMASK, GMASK, BMASK, AMASK);
- if (!bg)
- {
- fprintf (stderr, "Warning - BlackOutline()_w - bg creation failed\n");
- SDL_FreeSurface(black_letters);
- SDLPango_FreeContext(context);
- return NULL;
- }
-
- /* Draw text on a existing surface*/
- SDLPango_Draw(context, bg, 0, 0);
-
- /* Use color key for eventual transparency:*/
- color_key = SDL_MapRGB(bg->format, 10, 10, 10);
- SDL_FillRect(bg, NULL, color_key);
-
- /* Now draw black outline/shadow 2 pixels on each side: */
- dstrect.w = black_letters->w;
- dstrect.h = black_letters->h;
-
- /* NOTE: can make the "shadow" more or less pronounced by */
- /* changing the parameters of these loops. */
- for (dstrect.x = 1; dstrect.x < 4; dstrect.x++)
- for (dstrect.y = 1; dstrect.y < 3; dstrect.y++)
- SDL_BlitSurface(black_letters , NULL, bg, &dstrect );
-
- SDL_FreeSurface(black_letters);
-
- /* --- Put the color version of the text on top! --- */
- SDLPango_SetDefaultColor(context, colour);
- white_letters = SDLPango_CreateSurfaceDraw(context);
- dstrect.x = 1;
- dstrect.y = 1;
- SDL_BlitSurface(white_letters, NULL, bg, &dstrect);
- SDL_FreeSurface(white_letters);
-
- /********************Free SDL_Pango context************/
- SDLPango_FreeContext(context);
-
- /* --- Convert to the screen format for quicker blits ---*/
- SDL_SetColorKey(bg, SDL_SRCCOLORKEY|SDL_RLEACCEL, color_key);
- out = SDL_DisplayFormatAlpha(bg);
- SDL_FreeSurface(bg);
- free(colour);
-
- LOG("Leaving BlackOutline_w()\n\n");
-
- return out;
+ wcsncpy( wchar_tmp, t, size);
+ wchar_tmp[size]=0;
+ i=ConvertToUTF8( wchar_tmp, tmp);
+ tmp[i]=0;
+ return BlackOutline_c( tmp, c);
}
-
SDL_Surface* BlackOutline_c(const unsigned char* t, const SDL_Color* c)
{
SDL_Surface* out = NULL;
@@ -733,6 +637,7 @@
LOG("\nEntering BlackOutline_c()\n");
DEBUGCODE{ fprintf(stderr, "will attempt to render: %s\n", t); }
+printf("Test111:\n");
if (!t || !c)
{
@@ -746,33 +651,38 @@
fprintf(stderr, "BlackOutline_c(): empty string arg - must return to avoid segfault.");
return NULL;
}
-
+printf("Test2222:\n");
colour = SDL_Colour_to_SDLPango_Matrix(c);
/* Create the context */
context = SDLPango_CreateContext();
+printf("Test3333\n");
SDLPango_SetDpi(context, 125.0, 125.0);
+printf("Test4444\n");
/* Set the color */
SDLPango_SetDefaultColor(context, MATRIX_TRANSPARENT_BACK_BLACK_LETTER );
+printf("Test55555\n");
SDLPango_SetBaseDirection(context, SDLPANGO_DIRECTION_LTR);
+printf("Test66666\n");
/* Set text to context*/
SDLPango_SetMarkup(context, t, -1);
+printf("Test77777\n");
if (!context)
{
fprintf (stderr, "In BlackOutline_c(), could not create context for %s", t);
return NULL;
}
-
+printf("Test88888\n");
black_letters = SDLPango_CreateSurfaceDraw(context);
-
+printf("Test99999\n");
if (!black_letters)
{
fprintf (stderr, "Warning - BlackOutline_c() could not create image for %s\n", t);
SDLPango_FreeContext(context);
return NULL;
}
-
+printf("Test100000\n");
bg = SDL_CreateRGBSurface(SDL_SWSURFACE,
(black_letters->w) + 5,
(black_letters->h) + 5,
@@ -785,14 +695,14 @@
SDLPango_FreeContext(context);
return NULL;
}
-
+printf("Test1222222222\n");
/* Draw text on a existing surface*/
SDLPango_Draw(context, bg, 0, 0);
-
+printf("Test133333333:\n");
/* Use color key for eventual transparency:*/
color_key = SDL_MapRGB(bg->format, 10, 10, 10);
SDL_FillRect(bg, NULL, color_key);
-
+printf("Test1444444:\n");
/* Now draw black outline/shadow 2 pixels on each side: */
dstrect.w = black_letters->w;
dstrect.h = black_letters->h;
@@ -802,9 +712,9 @@
for (dstrect.x = 1; dstrect.x < 4; dstrect.x++)
for (dstrect.y = 1; dstrect.y < 3; dstrect.y++)
SDL_BlitSurface(black_letters , NULL, bg, &dstrect );
-
+printf("Test1555555555555\n");
SDL_FreeSurface(black_letters);
-
+printf("Test1666666666\n");
/* --- Put the color version of the text on top! --- */
SDLPango_SetDefaultColor(context, colour);
white_letters = SDLPango_CreateSurfaceDraw(context);
@@ -812,7 +722,7 @@
dstrect.y = 1;
SDL_BlitSurface(white_letters, NULL, bg, &dstrect);
SDL_FreeSurface(white_letters);
-
+printf("Test177777\n");
/********************Free SDL_Pango context************/
SDLPango_FreeContext(context);
@@ -821,14 +731,12 @@
out = SDL_DisplayFormatAlpha(bg);
SDL_FreeSurface(bg);
free(colour);
-
+printf("Test18888\n");
LOG("Leaving BlackOutline_c()\n\n");
return out;
}
-
-
/* FIXME dead code but could be useful*/
static void show_letters(void)
{
@@ -1283,6 +1191,595 @@
return 1;
}
+/* This function just tidies up all the ptr args needed for */
+/* ConvertUTF8toUTF32() from Unicode, Inc. into a neat wrapper. */
+/* It returns -1 on error, otherwise returns the length of the */
+/* converted, null-terminated wchar_t* string now stored in the */
+/* location of the 'wide_word' pointer. */
+int ConvertFromUTF8(wchar_t* wide_word, const unsigned char* UTF8_word)
+{
+ int i = 0;
+ ConversionResult result;
+ UTF8 temp_UTF8[FNLEN];
+ UTF32 temp_UTF32[FNLEN];
+
+ const UTF8* UTF8_Start = temp_UTF8;
+ const UTF8* UTF8_End = &temp_UTF8[FNLEN-1];
+ UTF32* UTF32_Start = temp_UTF32;
+ UTF32* UTF32_End = &temp_UTF32[FNLEN-1];
+
+ strncpy(temp_UTF8, UTF8_word, FNLEN);
+
+ ConvertUTF8toUTF32(&UTF8_Start, UTF8_End,
+ &UTF32_Start, UTF32_End, 0);
+
+ wide_word[0] = '\0';
+
+ while ((i < FNLEN) && (temp_UTF32[i] != '\0'))
+ {
+ wide_word[i] = temp_UTF32[i];
+ i++;
+ }
+
+ if (i >= FNLEN)
+ {
+ fprintf(stderr, "convert_from_UTF8(): buffer overflow\n");
+ return -1;
+ }
+ else //need terminating null:
+ {
+ wide_word[i] = '\0';
+ }
+
+ DEBUGCODE {fprintf(stderr, "wide_word = %ls\n", wide_word);}
+
+ return wcslen(wide_word);
+}
+
+/******************To be used for savekeyboard*************/
+/*****************Converts wchar_t string to char string***/
+int ConvertToUTF8(wchar_t* wide_word, char* UTF8_word)
+{
+ int i = 0;
+ ConversionResult result;
+ UTF8 temp_UTF8[FNLEN];
+ UTF32 temp_UTF32[FNLEN];
+
+ UTF8* UTF8_Start = temp_UTF8;
+ UTF8* UTF8_End = &temp_UTF8[FNLEN-1];
+ const UTF32* UTF32_Start = temp_UTF32;
+ const UTF32* UTF32_End = &temp_UTF32[FNLEN-1];
+
+ wcsncpy(temp_UTF32, wide_word, FNLEN);
+
+ ConvertUTF32toUTF8(&UTF32_Start, UTF32_End, &UTF8_Start, UTF8_End, 0);
+
+ UTF8_word[0] = 0;
+
+ while ((i < FNLEN) && (temp_UTF8[i] != 0))
+ {
+ UTF8_word[i] = temp_UTF8[i];
+ i++;
+ }
+
+ if (i >= FNLEN)
+ {
+ fprintf(stderr, "convert_from_UTF8(): buffer overflow\n");
+ return -1;
+ }
+ else //need terminating null:
+ {
+ for(i;i<FNLEN;i++)
+ UTF8_word[i] = 0;
+ }
+
+ DEBUGCODE {fprintf(stderr, "UTF8_word = %s\n", UTF8_word);}
+
+ return strlen(UTF8_word);
+}
+
+/***Converts wchar_t string to char string******************/
+/******************************************************************/
+int map_keys(wchar_t wide_char,kbd_char* keyboard_entry)
+{
+ switch(wide_char)
+ {
+ case '`':strcpy(keyboard_entry->keyname,"A00");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=0;
+ break;
+ case '~':strcpy(keyboard_entry->keyname,"A00");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=0;
+ break;
+ case '1':strcpy(keyboard_entry->keyname,"A01");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=0;
+ break;
+ case '!':strcpy(keyboard_entry->keyname,"A01");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=0;
+ break;
+ case '2':strcpy(keyboard_entry->keyname,"A02");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=1;
+ break;
+ case '@':strcpy(keyboard_entry->keyname,"A02");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=1;
+ break;
+ case '3':strcpy(keyboard_entry->keyname,"A03");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=2;
+ break;
+ case '#':strcpy(keyboard_entry->keyname,"A03");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=2;
+ break;
+ case '4':strcpy(keyboard_entry->keyname,"A04");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=3;
+ break;
+ case '$':strcpy(keyboard_entry->keyname,"A04");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=3;
+ break;
+ case '5':strcpy(keyboard_entry->keyname,"A05");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=4;
+ break;
+ case '%':strcpy(keyboard_entry->keyname,"A05");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=4;
+ break;
+ case '6':strcpy(keyboard_entry->keyname,"A06");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=5;
+ break;
+ case '^':strcpy(keyboard_entry->keyname,"A06");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=5;
+ break;
+ case '7':strcpy(keyboard_entry->keyname,"A07");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=7;
+ break;
+ case '&':strcpy(keyboard_entry->keyname,"A07");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=6;
+ break;
+ case '8':strcpy(keyboard_entry->keyname,"A08");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=7;
+ break;
+ case '*':strcpy(keyboard_entry->keyname,"A08");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=7;
+ break;
+ case '9':strcpy(keyboard_entry->keyname,"A09");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=8;
+ break;
+ case '(':strcpy(keyboard_entry->keyname,"A09");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=8;
+ break;
+ case '0':strcpy(keyboard_entry->keyname,"A10");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case ')':strcpy(keyboard_entry->keyname,"A10");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case '-':strcpy(keyboard_entry->keyname,"A11");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case '_':strcpy(keyboard_entry->keyname,"A11");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case '=':strcpy(keyboard_entry->keyname,"A12");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case '+':strcpy(keyboard_entry->keyname,"A12");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case '\\':strcpy(keyboard_entry->keyname,"A13");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case '|':strcpy(keyboard_entry->keyname,"A13");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case 'q':strcpy(keyboard_entry->keyname,"B01");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=0;
+ break;
+ case 'Q':strcpy(keyboard_entry->keyname,"B01");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=0;
+ break;
+ case 'w':strcpy(keyboard_entry->keyname,"B02");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=1;
+ break;
+ case 'W':strcpy(keyboard_entry->keyname,"B02");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=1;
+ break;
+ case 'e':strcpy(keyboard_entry->keyname,"B03");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=2;
+ break;
+ case 'E':strcpy(keyboard_entry->keyname,"B03");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=3;
+ break;
+ case 'r':strcpy(keyboard_entry->keyname,"B04");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=3;
+ break;
+ case 'R':strcpy(keyboard_entry->keyname,"B04");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=3;
+ break;
+ case 't':strcpy(keyboard_entry->keyname,"B05");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=4;
+ break;
+ case 'T':strcpy(keyboard_entry->keyname,"B05");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=4;
+ break;
+ case 'y':strcpy(keyboard_entry->keyname,"B06");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=5;
+ break;
+ case 'Y':strcpy(keyboard_entry->keyname,"B06");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=5;
+ break;
+ case 'u':strcpy(keyboard_entry->keyname,"B07");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=6;
+ break;
+ case 'U':strcpy(keyboard_entry->keyname,"B07");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=6;
+ break;
+ case 'i':strcpy(keyboard_entry->keyname,"B08");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=7;
+ break;
+ case 'I':strcpy(keyboard_entry->keyname,"B08");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=7;
+ break;
+ case 'o':strcpy(keyboard_entry->keyname,"B09");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=8;
+ break;
+ case 'O':strcpy(keyboard_entry->keyname,"B09");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=8;
+ break;
+ case 'p':strcpy(keyboard_entry->keyname,"B10");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case 'P':strcpy(keyboard_entry->keyname,"B10");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case '[':strcpy(keyboard_entry->keyname,"B11");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case '{':strcpy(keyboard_entry->keyname,"B11");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case ']':strcpy(keyboard_entry->keyname,"B12");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case '}':strcpy(keyboard_entry->keyname,"B12");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case 'a':strcpy(keyboard_entry->keyname,"C01");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=0;
+ break;
+ case 'A':strcpy(keyboard_entry->keyname,"C01");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=0;
+ break;
+ case 's':strcpy(keyboard_entry->keyname,"C02");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=1;
+ break;
+ case 'S':strcpy(keyboard_entry->keyname,"C02");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=1;
+ break;
+ case 'd':strcpy(keyboard_entry->keyname,"C03");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=2;
+ break;
+ case 'D':strcpy(keyboard_entry->keyname,"C03");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=2;
+ break;
+ case 'f':strcpy(keyboard_entry->keyname,"C04");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=3;
+ break;
+ case 'F':strcpy(keyboard_entry->keyname,"C04");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=3;
+ break;
+ case 'g':strcpy(keyboard_entry->keyname,"C05");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=4;
+ break;
+ case 'G':strcpy(keyboard_entry->keyname,"C05");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=4;
+ break;
+ case 'h':strcpy(keyboard_entry->keyname,"C06");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=5;
+ break;
+ case 'H':strcpy(keyboard_entry->keyname,"C06");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=5;
+ break;
+ case 'j':strcpy(keyboard_entry->keyname,"C07");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=6;
+ break;
+ case 'J':strcpy(keyboard_entry->keyname,"C07");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=6;
+ break;
+ case 'k':strcpy(keyboard_entry->keyname,"C08");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=7;
+ break;
+ case 'K':strcpy(keyboard_entry->keyname,"C08");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=7;
+ break;
+ case 'l':strcpy(keyboard_entry->keyname,"C09");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=8;
+ break;
+ case 'L':strcpy(keyboard_entry->keyname,"C09");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=8;
+ break;
+ case ';':strcpy(keyboard_entry->keyname,"C10");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case ':':strcpy(keyboard_entry->keyname,"C10");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case '\'':strcpy(keyboard_entry->keyname,"C11");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case '"':strcpy(keyboard_entry->keyname,"C11");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case 'z':strcpy(keyboard_entry->keyname,"D01");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=0;
+ break;
+ case 'Z':strcpy(keyboard_entry->keyname,"D01");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=0;
+ break;
+ case 'x':strcpy(keyboard_entry->keyname,"D02");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=1;
+ break;
+ case 'X':strcpy(keyboard_entry->keyname,"D02");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=1;
+ break;
+ case 'c':strcpy(keyboard_entry->keyname,"D03");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=2;
+ break;
+ case 'C':strcpy(keyboard_entry->keyname,"D03");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=2;
+ break;
+ case 'v':strcpy(keyboard_entry->keyname,"D04");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=3;
+ break;
+ case 'V':strcpy(keyboard_entry->keyname,"D04");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=3;
+ break;
+ case 'b':strcpy(keyboard_entry->keyname,"D05");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=4;
+ break;
+ case 'B':strcpy(keyboard_entry->keyname,"D05");
+ keyboard_entry->shift=2;
+ keyboard_entry->finger=4;
+ break;
+ case 'n':strcpy(keyboard_entry->keyname,"D06");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=5;
+ break;
+ case 'N':strcpy(keyboard_entry->keyname,"D06");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=5;
+ break;
+ case 'm':strcpy(keyboard_entry->keyname,"D07");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=6;
+ break;
+ case 'M':strcpy(keyboard_entry->keyname,"D07");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=6;
+ break;
+ case ',':strcpy(keyboard_entry->keyname,"D08");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=7;
+ break;
+ case '<':strcpy(keyboard_entry->keyname,"D08");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=7;
+ break;
+ case '.':strcpy(keyboard_entry->keyname,"D09");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=8;
+ break;
+ case '>':strcpy(keyboard_entry->keyname,"D09");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=8;
+ break;
+ case '/':strcpy(keyboard_entry->keyname,"D10");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=9;
+ break;
+ case '?':strcpy(keyboard_entry->keyname,"D10");
+ keyboard_entry->shift=1;
+ keyboard_entry->finger=9;
+ break;
+ case ' ':strcpy(keyboard_entry->keyname,"E03");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=5;
+ break;
+ default:strcpy(keyboard_entry->keyname,"None");
+ keyboard_entry->shift=0;
+ keyboard_entry->finger=-1;
+ break;
+ }
+}
+
+void GenerateKeyboard(SDL_Surface* keyboard)
+{
+ SDL_Surface* tmp = NULL;
+ SDL_Rect new;
+ int i;
+ int col;
+ char row;
+ int render=1;
+ Uint16 t[2];
+ TTF_Font* smallfont = NULL;
+ DEBUGCODE { printf("Entering GenerateKeyboard\n"); }
+ t[1] = '\0';
+ smallfont = LoadFont(settings.theme_font_name, 15);
+ if(!smallfont)
+ {
+ DEBUGCODE { printf("Error loading font\n"); }
+ return;
+ }
+ for(i=0;i < num_chars_used;i++)
+ {
+ render=1;
+ new.x=0;
+ new.y=0;
+ new.w=5;
+ new.h=5;
+ t[0]=keyboard_list[i].unicode_value;
+ sscanf(keyboard_list[i].keyname,"%c%d",&row,&col);
+ switch(row)
+ {
+ case 'A':new.y+=6;new.x+=13;break;
+ case 'B':new.y+=36;new.x+=23;break;
+ case 'C':new.y+=66;new.x+=33;break;
+ case 'D':new.y+=96;new.x+=23;break;
+ case 'E':new.y+126;break;
+ default: render=0;break;
+ }
+ if(!render)
+ continue;
+ new.x+=30*col;
+ if(keyboard_list[i].shift>0)
+ {
+ new.x-=9;
+ if(new.y<9)
+ new.y-=5;
+ else
+ new.y-=9;
+ }
+ DEBUGCODE { printf("Making %d : %C\n",i,keyboard_list[i].unicode_value); }
+ //tmp=BlackOutline_Unicode(t, smallfont, &black);
+ tmp=TTF_RenderUNICODE_Blended((TTF_Font*)smallfont, t, black);
+ if(tmp==NULL)
+ {
+ DEBUGCODE { printf("Error Making %d : %C\n",i,keyboard_list[i].unicode_value); }
+ }
+ SDL_BlitSurface(tmp, NULL, keyboard, &new);
+ }
+ TTF_CloseFont(smallfont);
+ DEBUGCODE { printf("Leaving GenerateKeyboard\n"); }
+}
+void updatekeylist(int key,char ch)
+{
+ keyboard_list[key].latin_char=ch;
+ wchar_t wtmp=ch;
+ map_keys(wtmp,&keyboard_list[key]);
+}
+void savekeyboard()
+{
+ unsigned char fn[FNLEN];
+ FILE *fp;
+ int i,j=0;
+ wchar_t tmp[2];
+ char buf[FNLEN];
+ DEBUGCODE { printf("Entering savekeyboard()\n"); }
+ tmp[1]=0;
+ if(!settings.use_english)
+ sprintf(fn , "%s/keyboard.lst", settings.theme_data_path);
+ else
+ sprintf(fn , "%s/keyboard.lst", settings.default_data_path);
+ fp=fopen(fn,"w");
+ if (fp == NULL)
+ {
+ LOG("savekeyboard() - could not open keyboard.lst\n");
+ return;
+ }
+ for(i=0;i<num_chars_used;i++)
+ {
+ tmp[0]=keyboard_list[i].unicode_value;
+ /**********fprintf(fp,"%d|%C\n",keyboard_list[i].finger,keyboard_list[i].unicode_value); doesnt work, so the unicode value is converted into a char string*/
+ j=ConvertToUTF8(tmp, buf);
+ buf[j]=0;
+ if(keyboard_list[i].finger==-1)
+ {
+ fprintf(fp,"%s\n",buf);
+ }
+ else
+ if(keyboard_list[i].latin_char==-1)
+ {
+ fprintf(fp,"%d|%s\n",keyboard_list[i].finger,buf);
+ }
+ else
+ {
+ fprintf(fp,"%d|%s|%c\n",keyboard_list[i].finger,buf,keyboard_list[i].latin_char);
+ }
+ }
+ fclose(fp);
+ DEBUGCODE { printf("Leaving savekeyboard()\n"); }
+}
+/****************************************************************/
+
/****************************************************/
/* */
/* Local ("private") functions: */
@@ -1426,48 +1923,4 @@
}
-/* This function just tidies up all the ptr args needed for */
-/* ConvertUTF8toUTF32() from Unicode, Inc. into a neat wrapper. */
-/* It returns -1 on error, otherwise returns the length of the */
-/* converted, null-terminated wchar_t* string now stored in the */
-/* location of the 'wide_word' pointer. */
-int ConvertFromUTF8(wchar_t* wide_word, const unsigned char* UTF8_word)
-{
- int i = 0;
- ConversionResult result;
- UTF8 temp_UTF8[FNLEN];
- UTF32 temp_UTF32[FNLEN];
- const UTF8* UTF8_Start = temp_UTF8;
- const UTF8* UTF8_End = &temp_UTF8[FNLEN-1];
- UTF32* UTF32_Start = temp_UTF32;
- UTF32* UTF32_End = &temp_UTF32[FNLEN-1];
-
- strncpy(temp_UTF8, UTF8_word, FNLEN);
-
- ConvertUTF8toUTF32(&UTF8_Start, UTF8_End,
- &UTF32_Start, UTF32_End, 0);
-
- wide_word[0] = '\0';
-
- while ((i < FNLEN) && (temp_UTF32[i] != '\0'))
- {
- wide_word[i] = temp_UTF32[i];
- i++;
- }
-
- if (i >= FNLEN)
- {
- fprintf(stderr, "convert_from_UTF8(): buffer overflow\n");
- return -1;
- }
- else //need terminating null:
- {
- wide_word[i] = '\0';
- }
-
- DEBUGCODE {fprintf(stderr, "wide_word = %ls\n", wide_word);}
-
- return wcslen(wide_word);
-}
-
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/src/funcs.h
===================================================================
--- tuxtype/branches/tuxtype-1.5.17_soc1/src/funcs.h 2008-08-14 05:30:20 UTC (rev 622)
+++ tuxtype/branches/tuxtype-1.5.17_soc1/src/funcs.h 2008-08-14 05:39:03 UTC (rev 623)
@@ -28,8 +28,6 @@
/* In alphabet.c */
SDL_Surface* BlackOutline(const unsigned char* t, const TTF_Font* font, const SDL_Color* c);
SDL_Surface* BlackOutline_Unicode(const Uint16* t, const TTF_Font* font, const SDL_Color* c);
-SDL_Surface* BlackOutline_w(wchar_t* t, const SDL_Color* c, int size);
-SDL_Surface* BlackOutline_c(const unsigned char* t, const SDL_Color* c);
#ifndef WIN32
SDL_Surface* BlackOutline_SDLPango(const unsigned char* t, const TTF_Font* font, const SDL_Color* c);
@@ -48,9 +46,20 @@
SDL_Surface* GetWhiteGlyph(wchar_t t);
SDL_Surface* GetRedGlyph(wchar_t t);
int LoadKeyboard(void);
-int GetFinger(wchar_t uni_char);
+int GetFinger(int i);
int RenderLetters(const TTF_Font* letter_font);
-int convert_from_UTF32( char* UTF8_word, wchar_t* wide_word);
+int GetIndex(wchar_t uni_char);
+void GetKeyShift(int index, char *buf);
+void GetKeyPos(int index, char *buf);
+void GetWrongKeyPos(int index, char *buf);
+//int map_keys(wchar_t *wide_str,keymap key);
+void GenerateKeyboard(SDL_Surface* keyboard);
+void updatekeylist(int key,char ch);
+void savekeyboard(void);
+wchar_t GetLastKey(void);
+SDL_Surface* BlackOutline_w(wchar_t* t, const SDL_Color* c, int size);
+SDL_Surface* BlackOutline_c(const unsigned char* t, const SDL_Color* c);
+int ConvertToUTF8(wchar_t* UTF32_word, char* word);
//void UseAlphabet(void);
Modified: tuxtype/branches/tuxtype-1.5.17_soc1/src/practice.c
===================================================================
--- tuxtype/branches/tuxtype-1.5.17_soc1/src/practice.c 2008-08-14 05:30:20 UTC (rev 622)
+++ tuxtype/branches/tuxtype-1.5.17_soc1/src/practice.c 2008-08-14 05:39:03 UTC (rev 623)
@@ -8,6 +8,8 @@
Revised extensively: 2007
David Bruce <dbruce at tampabay.rr.com>
+Revised extensively: 2008
+Sreyas Kurumanghat <k.sreyas at gmail.com>
***************************************************************************/
/***************************************************************************
@@ -23,9 +25,13 @@
#include "funcs.h"
static SDL_Surface* bg = NULL;
-static SDL_Surface* hands = NULL;
+static SDL_Surface* hands = NULL;
+static SDL_Surface* hand_shift[3] = {NULL};
+static SDL_Surface* keyboard = NULL;
+static SDL_Surface* keypress1 = NULL;
+static SDL_Surface* keypress2 = NULL;
static SDL_Surface* hand[11] = {NULL};
-static SDL_Rect hand_loc, letter_loc;
+static SDL_Rect hand_loc, letter_loc,keyboard_loc;
static TTF_Font* font = NULL;
static wchar_t phrase[255][FNLEN];
@@ -37,6 +43,9 @@
static void practice_unload_media(void);
static void print_at(const wchar_t* pphrase, int wrap, int x, int y);
static void show(unsigned char t);
+SDL_Surface* GetKeypress1(int index);
+SDL_Surface* GetKeypress2(int index);
+SDL_Surface* GetWrongKeypress(int index);
/************************************************************************/
@@ -65,15 +74,16 @@
z = 0,
total = 0,
state = 0;
- int next_line=0;
int key[100] = {0};
- SDL_Rect dst, dst2, dst3, dst4, dst5;
+ int next_line=0;
+ SDL_Rect dst, dst2, dst4, mydest;
char keytime[20],
totaltime[20];
- SDL_Surface* tmp = NULL;
SDL_Surface* srfc = NULL;
+ SDL_Surface* tmpsurf = NULL;
+
if (!practice_load_media())
{
fprintf(stderr, "Phrases() - practice_load_media() failed, returning.\n");
@@ -81,6 +91,8 @@
}
SDL_BlitSurface(bg, NULL, screen, NULL);
+ SDL_BlitSurface(keyboard, NULL, screen, &keyboard_loc);
+ SDL_BlitSurface(screen, NULL, bg, NULL);
SDL_BlitSurface(hands, NULL, screen, &hand_loc);
SDL_Flip(screen);
@@ -89,11 +101,11 @@
if (!wcsncmp(phrase[0], (wchar_t*)"", 1))
wcsncpy(pphrase, phrase[0], 80);
- srfc = GetWhiteGlyph(65);
+ srfc = GetWhiteGlyph(GetLastKey());
if (!srfc)
{
- fprintf(stderr, "Phrases() - GetWhiteGlyph(65) not defined - bailing out.\n");
+ fprintf(stderr, "Phrases() - GetWhiteGlyph(GetLastKey()) not defined - bailing out.\n");
return 0;
}
@@ -107,23 +119,20 @@
dst2.w = srfc->w;
dst2.h = srfc->h;
- dst3.x = 50;
- dst3.y = 400;
- dst3.w = 160;
- dst3.h = 50;
dst4.x = 480;
dst4.y = 400;
dst4.w = 240;
dst4.h = 50;
- dst5.x = 480;
- dst5.y = 400;
- dst5.w = 240;
- dst5.h = 50;
+ dst.x = 40;
- dst.x = 40;
- SDL_FreeSurface(srfc);
+ mydest.x = 0;
+ mydest.y = dst.y;
+ mydest.w = screen->w;
+ mydest.h = screen->h-80;
+
+
start = SDL_GetTicks();
do
@@ -133,6 +142,7 @@
case 0:
start = SDL_GetTicks();
SDL_BlitSurface(hands, NULL, screen, &hand_loc);
+ SDL_BlitSurface(keyboard, NULL, screen, &keyboard_loc);
state = 1;
break;
@@ -142,9 +152,29 @@
/* Show finger hint, if available. Note that GetFinger() */
/* returns negative values on error and never returns a */
/* value greater than 9. */
- int fing = GetFinger(pphrase[c]);
+ int key = GetIndex(pphrase[c]);
+ int fing = GetFinger(key);
+ int shift = GetShift(key);
+ keypress1= GetKeypress1(key);
+ keypress2= GetKeypress2(key);
+ if (!keypress1)
+ {
+ fprintf(stderr, "Phrases() - GetKeypress1 failed, returning.\n");
+ return 0;
+ }
+ if(!keypress2)
+ {
+ fprintf(stderr, "Phrases() - GetKeypress2 failed, returning.\n");
+ return 0;
+ }
+ SDL_BlitSurface(hands, NULL, screen, &hand_loc);
if (fing >= 0)
SDL_BlitSurface(hand[fing], NULL, screen, &hand_loc);
+ SDL_BlitSurface(hand_shift[shift], NULL, screen, &hand_loc);
+ SDL_BlitSurface(keypress1, NULL, screen, &keyboard_loc);
+ SDL_BlitSurface(keypress2, NULL, screen, &keyboard_loc);
+ SDL_FreeSurface(keypress1);
+ SDL_FreeSurface(keypress2);
state = 2;
}
break;
@@ -158,14 +188,35 @@
case 3:
SDL_BlitSurface(hands, NULL, screen, &hand_loc);
+ SDL_BlitSurface(keyboard, NULL, screen, &keyboard_loc);
state = 12;
break;
case 4:
{
- int fing = GetFinger(pphrase[c]);
+ int key = GetIndex(pphrase[c]);
+ int fing = GetFinger(key);
+ int shift = GetShift(key);
+ keypress1= GetKeypress1(key);
+ keypress2= GetKeypress2(key);
+ if (!keypress1)
+ {
+ fprintf(stderr, "Phrases() - GetKeypress1 failed, returning.\n");
+ return 0;
+ }
+ if(!keypress2)
+ {
+ fprintf(stderr, "Phrases() - GetKeypress2 failed, returning.\n");
+ return 0;
+ }
+ SDL_BlitSurface(hands, NULL, screen, &hand_loc);
if (fing >= 0)
SDL_BlitSurface(hand[fing], NULL, screen, &hand_loc);
+ SDL_BlitSurface(hand_shift[shift], NULL, screen, &hand_loc);
+ SDL_BlitSurface(keypress1, NULL, screen, &keyboard_loc);
+ SDL_BlitSurface(keypress2, NULL, screen, &keyboard_loc);
+ SDL_FreeSurface(keypress1);
+ SDL_FreeSurface(keypress2);
state = 11;
break;
}
@@ -196,69 +247,258 @@
}
else
{
-/******************************************************/
- if (pphrase[c]==event.key.keysym.unicode){
+/**************************************************/
+ int key=GetIndex((wchar_t)event.key.keysym.unicode);
+ char tmp=-1;
+ switch(event.key.keysym.sym)
+ {
+ case SDLK_BACKQUOTE:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='~';
+ else
+ tmp='`';
+ break;
+ case SDLK_COMMA:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='<';
+ else
+ tmp=',';
+ break;
+ case SDLK_MINUS:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='_';
+ else
+ tmp='-';
+ break;
+ case SDLK_PERIOD:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='>';
+ else
+ tmp='.';
+ break;
+ case SDLK_SLASH:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='?';
+ else
+ tmp='/';
+ break;
+ case SDLK_0:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp=')';
+ else
+ tmp='0';
+ break;
+ case SDLK_1:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='!';
+ else
+ tmp='1';
+ break;
+ case SDLK_2:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='@';
+ else
+ tmp='2';
+ break;
+ case SDLK_3:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='#';
+ else
+ tmp='3';
+ break;
+ case SDLK_4:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='$';
+ else
+ tmp='4';
+ break;
+ case SDLK_5:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='%';
+ else
+ tmp='5';
+ break;
+ case SDLK_6:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='^';
+ else
+ tmp='6';
+ break;
+ case SDLK_7:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='&';
+ else
+ tmp='7';
+ break;
+ case SDLK_8:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='*';
+ else
+ tmp='8';
+ break;
+ case SDLK_9:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='(';
+ else
+ tmp='9';
+ break;
+ case SDLK_SEMICOLON:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp=':';
+ else
+ tmp=';';
+ break;
+ case SDLK_EQUALS:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='+';
+ else
+ tmp='=';
+ break;
+ case SDLK_LEFTBRACKET:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='{';
+ else
+ tmp='[';
+ break;
+ case SDLK_BACKSLASH:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='|';
+ else
+ tmp='\\';
+ break;
+ case SDLK_RIGHTBRACKET:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='}';
+ else
+ tmp=']';
+ break;
+ case SDLK_QUOTE:
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp='"';
+ else
+ tmp='\'';
+ break;
+ case SDLK_a:tmp='a';
+ break;
+ case SDLK_b:tmp='b';
+ break;
+ case SDLK_c:tmp='c';
+ break;
+ case SDLK_d:tmp='d';
+ break;
+ case SDLK_e:tmp='e';
+ break;
+ case SDLK_f:tmp='f';
+ break;
+ case SDLK_g:tmp='g';
+ break;
+ case SDLK_h:tmp='h';
+ break;
+ case SDLK_i:tmp='i';
+ break;
+ case SDLK_j:tmp='j';
+ break;
+ case SDLK_k:tmp='k';
+ break;
+ case SDLK_l:tmp='l';
+ break;
+ case SDLK_m:tmp='m';
+ break;
+ case SDLK_n:tmp='n';
+ break;
+ case SDLK_o:tmp='o';
+ break;
+ case SDLK_p:tmp='p';
+ break;
+ case SDLK_q:tmp='q';
+ break;
+ case SDLK_r:tmp='r';
+ break;
+ case SDLK_s:tmp='s';
+ break;
+ case SDLK_t:tmp='t';
+ break;
+ case SDLK_u:tmp='u';
+ break;
+ case SDLK_v:tmp='v';
+ break;
+ case SDLK_w:tmp='w';
+ break;
+ case SDLK_x:tmp='x';
+ break;
+ case SDLK_y:tmp='y';
+ break;
+ case SDLK_z:tmp='z';
+ break;
+ }
+ if(event.key.keysym.mod&KMOD_SHIFT)
+ tmp=toupper(tmp);
+ updatekeylist(key,tmp);
+/****************************************************/
+ if (pphrase[c]==event.key.keysym.unicode)
+ {
+ state = 0;
+ dst2.x = 40;
+ dst4.x = 480;
+ SDL_BlitSurface(bg, &mydest, screen, &mydest);
+ SDL_Flip(screen);
+ tmpsurf = BlackOutline_w(pphrase+((wp)*next_line), &white, (c)%wp+1);
+ SDL_BlitSurface(tmpsurf, NULL, screen, &dst);
+ SDL_FreeSurface(tmpsurf);
+ tmpsurf = NULL;
+ tmpsurf=BlackOutline_c(keytime, &white);
+ SDL_BlitSurface(tmpsurf, NULL, screen, &dst2);
+ SDL_FreeSurface(tmpsurf);
+ tmpsurf = NULL;
+ tmpsurf=BlackOutline_c(totaltime, &white);
+ SDL_BlitSurface(tmpsurf, NULL, screen, &dst4);
+ SDL_FreeSurface(tmpsurf);
+ tmpsurf = NULL;
+ if (c==(wcslen(pphrase)-1)){
+ wchar_t buf[10];
+ ConvertFromUTF8(buf, _("Great!"));
+ print_at(buf, wcslen(buf), 275, 200);
+ SDL_Flip(screen);
+ SDL_Delay(2500);
+ next_line=0;
+ quit=1;
+ }
+ if (c==wp){
+ //c++;
+ dst.x=40;
+ dst.y=140;
+ mydest.y+=40;
+ next_line=1;
+ }
+ c++;
+ }
+ else
+ {
+ int key = GetIndex((wchar_t)event.key.keysym.unicode);
+ keypress1= GetWrongKeypress(key);
+ SDL_BlitSurface(keypress1, NULL, screen, &keyboard_loc);
+ SDL_FreeSurface(keypress1);
+ state=0;
+
+ if (event.key.keysym.sym != SDLK_RSHIFT
+ && event.key.keysym.sym != SDLK_LSHIFT)
+ PlaySound(wrong);
+ }
+ }
+ }
+ }
+ SDL_Flip(screen);
+ SDL_Delay(30);
- state=0;
- dst2.x=40;
- dst4.x=480;
- SDL_BlitSurface(bg, &dst3, screen, &dst2);
- SDL_BlitSurface(bg, &dst5, screen, &dst4);
- SDL_Flip(screen);
+ }while (!quit);
+ practice_unload_media();
+ savekeyboard();
+ return 1;
+}
- tmp = BlackOutline_w(pphrase+((wp)*next_line), &white, (c)%wp+1);
- SDL_BlitSurface(tmp, NULL, screen, &dst);
- SDL_FreeSurface(tmp);
-
-/*
- print_at(keytime,wcslen(keytime),dst2.x,dst2.y);
- print_at(totaltime,wcslen(keytime),dst4.x,dst4.y);
-*/
- tmp=BlackOutline_c(keytime, &white);
- SDL_BlitSurface(tmp, NULL, screen, &dst2);
- SDL_FreeSurface(tmp);
-
- tmp=BlackOutline_c(totaltime, &white);
- SDL_BlitSurface(tmp, NULL, screen, &dst4);
- SDL_FreeSurface(tmp);
-
-
- if (c==(wcslen(pphrase)-1)){
- wchar_t buf[10];
- ConvertFromUTF8(buf, _("Great!"));
- print_at(buf, wcslen(buf), 275, 200);
- SDL_Flip(screen);
- SDL_Delay(2500);
- next_line=0;
- quit=1;
-
- }
- if (c==wp){
- //c++;
- dst.x=40;
- dst.y=140;
- next_line=1;
- }
- c++;
- } else {
- if ( event.key.keysym.sym != SDLK_RSHIFT && event.key.keysym.sym != SDLK_LSHIFT )
- PlaySound(wrong);
- }
- }
- }
- }
- SDL_Flip(screen);
- SDL_Delay(30);
- }while (!quit);
- practice_unload_media();
- return 1;
-}
-
-
-
/************************************************************************/
/* */
/* "Private" functions (local to practice.c) */
@@ -272,12 +512,16 @@
unsigned char fn[FNLEN];
unsigned char let[5];
int load_failed = 0;
-
+ DEBUGCODE { printf("Entering practice_load_media\n"); }
LOG("Loading practice media\n");
hands = LoadImage("hands/hands.png", IMG_ALPHA);
- bg = LoadImage("main_bkg.png", IMG_ALPHA);
+ hand_shift[0] = LoadImage("hands/none.png", IMG_ALPHA);
+ hand_shift[1] = LoadImage("hands/lshift.png", IMG_ALPHA);
+ hand_shift[2] = LoadImage("hands/rshift.png", IMG_ALPHA);
+ keyboard = LoadImage("keyboard/keyboard.png", IMG_ALPHA);
+ bg = LoadImage("main_bkg.png", IMG_ALPHA);
wrong = LoadSound("tock.wav");
font = LoadFont(settings.theme_font_name, 30);
@@ -294,10 +538,14 @@
||!hands
||!bg
||!wrong
- ||!font)
+ ||!font
+ ||!keyboard
+ ||!hand_shift[0]
+ ||!hand_shift[1]
+ ||!hand_shift[2])
{
fprintf(stderr, "practice_load_media() - failed to load needed media \n");
- practice_unload_media;
+ practice_unload_media();
return 0;
}
@@ -307,12 +555,20 @@
hand_loc.w = (hand[0]->w);
hand_loc.h = (hand[0]->h);
+ /********Position of keyboard image*/
+ keyboard_loc.x = screen->w/2 -keyboard->w/2;
+ keyboard_loc.y = screen->h/2;
+ keyboard_loc.w = screen->w/8;
+ keyboard_loc.h = screen->h/8;
+
/* Now render letters for glyphs in alphabet: */
RenderLetters(font);
TTF_CloseFont(font); /* Don't need it after rendering done */
font = NULL;
+ GenerateKeyboard(keyboard);
LOG("DONE - Loading practice media\n");
+ DEBUGCODE { printf("Leaving practice_load_media\n"); }
return 1;
}
@@ -321,12 +577,19 @@
static void practice_unload_media(void)
{
int i;
+ DEBUGCODE { printf("Entering practice_unload_media\n"); }
SDL_FreeSurface(bg);
bg = NULL;
SDL_FreeSurface(hands);
hands = NULL;
+ for(i=0;i<3;i++)
+ {
+ SDL_FreeSurface(hand_shift[i]);
+ hand_shift[i] = NULL;
+ }
+ SDL_FreeSurface(keyboard);
+ keyboard = NULL;
//TTF_CloseFont(font);
-
for (i=0; i<10; i++)
{
SDL_FreeSurface(hand[i]);
@@ -335,6 +598,8 @@
Mix_FreeChunk(wrong);
wrong = NULL;
+ DEBUGCODE { printf("Leaving practice_unload_media()\n"); }
+
}
@@ -354,93 +619,47 @@
SDL_BlitSurface(s, NULL, screen, &dst);
}
+static void print_at(const wchar_t *pphrase, int wrap, int x, int y)
+{
+ int z=0;
+ SDL_Surface *tmp;
+ letter_loc.x = x;
+ letter_loc.y = y;
+ //font = LoadFont(settings.theme_font_name, 30);
+ DEBUGCODE { printf("\n\n\nEntering print_at with : %S\n",pphrase); }
+ if ( wrap == wcslen(pphrase) ){
+ tmp = BlackOutline_w(pphrase, &white, wrap);
+ letter_loc.w = tmp->w+5;
+ letter_loc.h = tmp->h+5;
+ SDL_BlitSurface(tmp, NULL, screen, &letter_loc);
+ SDL_FreeSurface(tmp);
+ }else{
+ tmp = BlackOutline_w(pphrase, &white, wrap+1);
+ letter_loc.w = tmp->w+5;
+ letter_loc.h = tmp->h+5;
+ SDL_BlitSurface(tmp, NULL, screen, &letter_loc);
+ SDL_FreeSurface(tmp);
+ letter_loc.x = 40;
+ // - (letter_loc.h/4) to account for free space at top and bottom of rendered letters
+ //SDL_FreeSurface(tmp);
+ letter_loc.y = letter_loc.y + letter_loc.h - (letter_loc.h/4);
+ tmp = BlackOutline_w(pphrase+wrap+2, &white, wcslen(pphrase));
+ letter_loc.w = tmp->w+5;
+ letter_loc.h = tmp->h+5;
+ SDL_BlitSurface(tmp, NULL, screen, &letter_loc);
+ SDL_FreeSurface(tmp);
+ }
+ //TTF_CloseFont(font);
+ // DEBUGCODE { exit(-1); }
+ DEBUGCODE { printf("Leaving print_at \n\n\n"); }
+}
-
static int get_phrase(const wchar_t* wphrase)
{ int pc=0,
pw[256] = { 0 },
wp=0,
i=0,
-// c=0
z=0;
-// char fn[FNLEN];
-
- /* If we didn't receive a phrase get the first one from the file...*/
-
-// if (strncmp("", phr, 40)==0){
-// FILE *pf;
-// /* set the phrases directory/file */
-/* #ifdef WIN32
- snprintf( fn, FNLEN-1, "userdata/phrases.txt" );
- #else
- snprintf( fn, FNLEN-1, (const char*)"%s/.tuxtype/phrases.txt", getenv("HOME") );
- #endif
-
- DEBUGCODE { printf("get_phrases(): phrases file is '%s'\n", fn ); }
- LOG("get_phrases(): trying to open phrases file\n");
- pf = fopen( fn, "r" );
- if (pf == NULL)
- return(wp);
- while (!feof(pf)) {
- fscanf( pf, "%[^\n]\n", phrase[pc] );
- pc++;
- DEBUGCODE { printf( "%s", phrase[pc] ); }
- }
- fclose( pf );
- pc--;
- } else {
- pc=1;
- strncpy(phrase[0], phr, 80);
- }
-
- //Calculate and record pixel width of phrases
- for (c=0;c<=pc;c++){
- for(i=0; i<strlen(phrase[c]); i++){
- if (letters[(int)phrase[c][i]] == NULL){
- LOG("no letter defined in keyboard.lst\n");
- }
- else
- pw[c]+= letters[(int)phrase[c][i]]->w-5;
- }
- }
-
- //Find wrapping point
- for ( c=0; c<=pc; c++ ){
- if (pw[c]<598){
- if ( c==0 ){
- wp=strlen(phrase[c]);
- print_at( phrase[0], wp, 40, 10 );
- }
- }else{
- z=0;
- wp=0;
- for (i=0;i<strlen(phrase[c]);i++)
- {
- z += letters[(int)phrase[c][i]]->w-5;
- if (wp == 0 && z > 598){
- wp = i-1;
- break;
- }
- }
- for (i=wp;i>=0;i--){
- if ( strncmp( " ", &phrase[c][i], 1 ) == 0 ){
- wp=i-1;
- break;
- }
- }
- if ( c==0 ){
- print_at( phrase[0], wp, 40, 10 );
- }
- }
- }
- LOG("Leaving get_phrase()\n");
- return(wp);
-}
-*/
-
-
-
-
//Calculate and record pixel width of phrases
//Find wrapping point
if (wcslen(wphrase)<50)
@@ -476,49 +695,34 @@
return(wp);
}
-static void print_at(const wchar_t *pphrase, int wrap, int x, int y)
-{
- int z=0;
- SDL_Surface *tmp;
- letter_loc.x = x;
- letter_loc.y = y;
- //font = LoadFont(settings.theme_font_name, 30);
- DEBUGCODE { printf("\n\n\nEntering print_at with : %S\n",pphrase); }
- if ( wrap == wcslen(pphrase) ){
- tmp = BlackOutline_w(pphrase, &white, wrap);
- letter_loc.w = tmp->w+5;
- letter_loc.h = tmp->h+5;
- SDL_BlitSurface(tmp, NULL, screen, &letter_loc);
- SDL_FreeSurface(tmp);
- }else{
- tmp = BlackOutline_w(pphrase, &white, wrap+1);
- letter_loc.w = tmp->w+5;
- letter_loc.h = tmp->h+5;
- SDL_BlitSurface(tmp, NULL, screen, &letter_loc);
- SDL_FreeSurface(tmp);
- letter_loc.x = 40;
- // - (letter_loc.h/4) to account for free space at top and bottom of rendered letters
- //SDL_FreeSurface(tmp);
- letter_loc.y = letter_loc.y + letter_loc.h - (letter_loc.h/4);
- tmp = BlackOutline_w(pphrase+wrap+2, &white, wcslen(pphrase));
- letter_loc.w = tmp->w+5;
- letter_loc.h = tmp->h+5;
- SDL_BlitSurface(tmp, NULL, screen, &letter_loc);
- SDL_FreeSurface(tmp);
- }
- //TTF_CloseFont(font);
- // DEBUGCODE { exit(-1); }
- DEBUGCODE { printf("Leaving print_at \n\n\n"); }
-}
-
static void next_letter(wchar_t *t, int c)
{
int i;
wchar_t buf[30];
- i=ConvertFromUTF8(buf, _("Next letter : "));
+ i=ConvertFromUTF8(buf, _("Next letter "));
buf[i]=t[c];
buf[i+1]=0;
- print_at(buf,wcslen(buf),230 ,400);
+ print_at(buf,wcslen(buf),215 ,420);
+}
+SDL_Surface* GetKeypress1(int index)
+{
+ char buf[50];
+ GetKeyPos(index,buf);
+ return (LoadImage(buf, IMG_ALPHA));
}
+
+SDL_Surface* GetWrongKeypress(int index)
+{
+ char buf[50];
+ GetWrongKeyPos(index,buf);
+ return (LoadImage(buf, IMG_ALPHA));
+}
+
+SDL_Surface* GetKeypress2(int index)
+{
+ char buf[50];
+ GetKeyShift(index,buf);
+ return (LoadImage(buf, IMG_ALPHA));
+}
More information about the Tux4kids-commits
mailing list