summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJorge Silva <jorge.silva@utoronto.ca>2010-02-02 12:27:09 -0500
committerBen Konrath <ben@bagu.org>2010-02-02 12:27:09 -0500
commit030e407fe3fb6e7bd41822e54c64196668e39529 (patch)
tree9d65e9dcf51e2806b5daf78afb32648c196298a3
parent7a83a53611c03ff7ec10985220769ab90740712c (diff)
downloadcaribou-030e407fe3fb6e7bd41822e54c64196668e39529.tar.gz
Add Spansih keyboard - bgo#608744
-rw-r--r--src/caribou/keyboards/qwerty_es.py86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/caribou/keyboards/qwerty_es.py b/src/caribou/keyboards/qwerty_es.py
new file mode 100644
index 0000000..910eefa
--- /dev/null
+++ b/src/caribou/keyboards/qwerty_es.py
@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+#
+# Caribou - text entry and UI navigation application
+#
+# Copyright (C) 2009 Adaptive Technology Resource Centre
+# * Contributor: Jorge Silva <jorge.silva@utoronto.ca>
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by the
+# Free Software Foundation; either version 2.1 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+# for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+import keysyms
+
+###############################################################################
+# keys with keysyms - use known keysyms from keysyms.py or used hex code
+# format: ("label", keysym)
+###############################################################################
+
+# backspace
+bs = ("⌫", keysyms.backspace)
+# enter
+en = ("↲", keysyms.enter)
+# space
+sp = ("␣", keysyms.space)
+# up
+up = ("↑", keysyms.up)
+# down
+dn = ("↓", keysyms.down)
+# left
+le = ("←", keysyms.left)
+# right
+ri = ("→", keysyms.right)
+
+###############################################################################
+# keys to switch layers
+# format: ("label", "name of layer to switch to")
+###############################################################################
+
+# shift up
+su = ("⇧", "uppercase")
+# shift down
+sd = ("⇩", "lowercase")
+# number and punctuation
+np = (".?12", "num_punct")
+# letters
+lt = ("abc", "lowercase")
+
+###############################################################################
+# keyboard layers
+# rules:
+# * key can be a single utf-8 character or a tuple defined above
+# * at least one layer must contain the reserved label "pf" for preferences
+# * layers must be the same dimensions
+###############################################################################
+
+lowercase = ( ( "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "@"),
+ ( "a", "s", "d", "f", "g", "h", "j", "k", "l", "ñ", "\""),
+ ( su, "z", "x", "c", "v", "b", "n", "m", sp, ".", bs),
+ ( "pf", np, "á", "é", "í", "ó", "ú", "ü", ":", ",", en) )
+
+uppercase = ( ( "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "@"),
+ ( "A", "S", "D", "F", "G", "H", "J", "K", "L", "Ñ", "\""),
+ ( sd, "Z", "X", "C", "V", "B", "N", "M", sp, ".", bs),
+ ( "pf", np, "Á", "É", "Í", "Ó", "Ú", "Ü", ":", ",", en) )
+
+num_punct = ( ( "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "@"),
+ ( "¡", "!", "(", ")", "+", "-", "_", "=", "&", "/", "\\"),
+ ( "¿", "?", "[", "]", "$", "%", up, "*", "<", ">", bs),
+ ( "pf", lt, "{", "}", "|", le, dn, ri, ";", "#", en) )
+
+###############################################################################
+# list of keyboard layers - the layer in position 0 will be active when the
+# keyboard is first created
+###############################################################################
+
+layers = ( "lowercase", "uppercase", "num_punct" )