Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Librem5
squeekboard
Commits
e0993a5e
Commit
e0993a5e
authored
Mar 10, 2011
by
Daiki Ueno
Browse files
Add eekboard-inscript.
parent
4eb59ba7
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
examples/Makefile.am
View file @
e0993a5e
EXTRA_DIST
=
gen-inscript-keyboard.py
\ No newline at end of file
bin_SCRIPTS
=
eekboard-inscript
keyboarddir
=
$(pkgdatadir)
/keyboards
dist_keyboard_DATA
=
inscript2.xml
EXTRA_DIST
=
gen-inscript-keyboard.py
eekboard-inscript
:
eekboard-inscript.in
$(AM_V_GEN)
sed
's!@EEKBOARD_INSCRIPT_PATH@!'
$(pkgdatadir)
/keyboards/inscript2.xml
'!'
<
$<
>
$@
examples/eekboard-inscript.in
0 → 100644
View file @
e0993a5e
#!/usr/bin/env python
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This library 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 of
# the License, or (at your option) any later version.
# This library 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 library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA
import
eekboard
,
virtkey
GROUPS
=
(
"as-inscript2"
,
"bn-inscript2"
,
"brx-inscript2-deva"
,
"doi-inscript2-deva"
,
"gu-inscript2"
,
"hi-inscript2"
,
"kn-inscript2"
,
"kok-inscript2-deva"
,
"mai-inscript2"
,
"ml-inscript2"
,
"mni-inscript2-beng"
,
"mni-inscript2-mtei"
,
"mr-inscript2"
,
"ne-inscript2-deva"
,
"or-inscript2"
,
"pa-inscript2-guru"
,
"sa-inscript2"
,
"sat-inscript2-deva"
,
"sat-inscript2-olck"
,
"sd-inscript2-deva"
,
"ta-inscript2"
,
"te-inscript2"
)
class
InscriptKeyboard
(
object
):
def
__init__
(
self
,
client_name
,
path
):
self
.
__keyboard
=
eekboard
.
XmlKeyboard
(
path
,
eekboard
.
MODIFIER_BEHAVIOR_LATCH
)
self
.
__eekboard
=
eekboard
.
Eekboard
()
self
.
__context
=
self
.
__eekboard
.
create_context
(
client_name
)
keyboard_id
=
self
.
__context
.
add_keyboard
(
self
.
__keyboard
)
self
.
__context
.
set_keyboard
(
keyboard_id
)
self
.
__keyboard
.
connect
(
'key-pressed'
,
self
.
__key_pressed_cb
)
self
.
__keyboard
.
connect
(
'key-released'
,
self
.
__key_released_cb
)
self
.
__virtkey
=
virtkey
.
virtkey
()
def
enable
(
self
):
self
.
__eekboard
.
push_context
(
self
.
__context
)
def
disable
(
self
):
self
.
__eekboard
.
pop_context
(
self
.
__context
)
def
show
(
self
):
self
.
__context
.
show_keyboard
()
def
set_group
(
self
,
group
):
self
.
__context
.
set_group
(
group
)
def
__key_pressed_cb
(
self
,
keyboard
,
key
):
symbol
=
key
.
get_symbol
()
if
isinstance
(
symbol
,
eekboard
.
Keysym
):
xkeysym
=
symbol
.
get_xkeysym
()
self
.
__virtkey
.
press_keysym
(
xkeysym
)
def
__key_released_cb
(
self
,
keyboard
,
key
):
symbol
=
key
.
get_symbol
()
if
isinstance
(
symbol
,
eekboard
.
Keysym
):
xkeysym
=
symbol
.
get_xkeysym
()
self
.
__virtkey
.
release_keysym
(
xkeysym
)
if
__name__
==
"__main__"
:
import
gtk
from
optparse
import
OptionParser
import
sys
parser
=
OptionParser
()
parser
.
add_option
(
"-n"
,
"--name=LANGCODE"
,
dest
=
"langcode"
,
help
=
"Specify language code to LANGCODE"
,
metavar
=
"LANGCODE"
)
(
options
,
args
)
=
parser
.
parse_args
()
group
=
0
if
options
.
langcode
:
group
=
None
for
index
,
langcode
in
enumerate
(
GROUPS
):
if
langcode
.
startswith
(
options
.
langcode
):
group
=
index
if
group
is
None
:
print
>>
sys
.
stderr
,
"Unknown langcode %s"
%
options
.
langcode
exit
(
1
)
inscript
=
InscriptKeyboard
(
"eekboard-inscript"
,
"@EEKBOARD_INSCRIPT_PATH@"
)
inscript
.
set_group
(
group
)
inscript
.
enable
()
inscript
.
show
()
gtk
.
main
()
examples/inscript2.xml
0 → 100644
View file @
e0993a5e
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment