From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 9D19FE00D58; Tue, 17 May 2016 06:58:23 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,HTML_MESSAGE, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low * trust * [93.17.128.1 listed in list.dnswl.org] * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.0 HTML_MESSAGE BODY: HTML included in message Received: from smtp26.services.sfr.fr (smtp26.services.sfr.fr [93.17.128.1]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 8A368E00D0C for ; Tue, 17 May 2016 06:58:17 -0700 (PDT) Received: from nbhjo (111-250-202-28.dynamic.hinet.net [111.250.202.28]) by msfrf2610.sfr.fr (SMTP Server) with ESMTP id 11AFB1C00180B; Tue, 17 May 2016 15:58:14 +0200 (CEST) Received: from nbhjo (111-250-202-28.dynamic.hinet.net [111.250.202.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: herve.jourdain@neuf.fr) by msfrf2610.sfr.fr (SMTP Server) with ESMTPSA; Tue, 17 May 2016 15:58:04 +0200 (CEST) Authentication-Results: sfr.fr; auth=pass (LOGIN) smtp.auth=herve.jourdain@neuf.fr From: Herve Jourdain To: "'Burton, Ross'" References: <1463478209-57439-1-git-send-email-herve.jourdain@neuf.fr> <1463478209-57439-2-git-send-email-herve.jourdain@neuf.fr> In-Reply-To: Date: Tue, 17 May 2016 15:58:00 +0200 Message-ID: <00f101d1b044$242feb80$6c8fc280$@neuf.fr> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQI+FHEEIA8KGT4PqjIWYq6LxsYk6AFZcuPNAjBVhWCeyA+bQA== X-sfr-mailing: LEGIT Cc: yocto@yoctoproject.org Subject: Re: [matchbox-keyboard][PATCH 1/1] Addition of french keyboard X-BeenThere: yocto@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Discussion of all things Yocto Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 May 2016 13:58:23 -0000 Content-Type: multipart/alternative; boundary="----=_NextPart_000_00F2_01D1B054.E7BD0140" Content-Language: fr ------=_NextPart_000_00F2_01D1B054.E7BD0140 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Ross, =20 Oh, OK, I=E2=80=99ll do that, please allow me to do it tomorrow though. =20 Herve =20 From: Burton, Ross [mailto:ross.burton@intel.com]=20 Sent: mardi 17 mai 2016 14:14 To: Herve Jourdain Cc: yocto@yoctoproject.org Subject: Re: [yocto] [matchbox-keyboard][PATCH 1/1] Addition of french = keyboard =20 Hi Herve, =20 Can you submit the two patches (caps behaviour, and french layout) = against the matchbox-keyboard-0.1 branch directly to this list please? = Then we can just bump the srcrev in the recipe instead of carrying = patches against our own software. =20 Ross =20 On 17 May 2016 at 10:43, Herve Jourdain > wrote: Signed-off-by: Herve Jourdain > --- .../files/0002-add-french-keyboard.patch | 477 = +++++++++++++++++++++ .../matchbox-keyboard/matchbox-keyboard_git.bb = | 1 + 2 files changed, 478 insertions(+) create mode 100644 = meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patch diff --git = a/meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patc= h = b/meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patc= h new file mode 100644 index 0000000..c6dc5f7 --- /dev/null +++ = b/meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patc= h @@ -0,0 +1,477 @@ +diff --git a/layouts/Makefile.am b/layouts/Makefile.am +index b439041..ed40256 100644 +--- a/layouts/Makefile.am ++++ b/layouts/Makefile.am +@@ -1,4 +1,4 @@ + keyboardsdir =3D $(datadir)/matchbox-keyboard + dist_keyboards_DATA =3D keyboard.xml keyboard-extended.xml = keyboard-dvorak.xml \ + keyboard-us.xml keyboard-ru.xml keyboard-fi.xml = \ +- keyboard-numpad.xml ++ keyboard-fr.xml keyboard-numpad.xml +diff --git a/layouts/keyboard-fr.xml b/layouts/keyboard-fr.xml +--- a/layouts/keyboard-fr.xml ++++ b/layouts/keyboard-fr.xml +@@ -0,0 +1,343 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/src/matchbox-keyboard.h b/src/matchbox-keyboard.h +index 4dd258f..430b08b 100644 +--- a/src/matchbox-keyboard.h ++++ b/src/matchbox-keyboard.h +@@ -116,6 +116,7 @@ typedef enum + { + MBKeyboardKeyStateNormal =3D 0, + MBKeyboardKeyStateShifted, ++ MBKeyboardKeyStateCaps, + MBKeyboardKeyStateMod1, + MBKeyboardKeyStateMod2, + MBKeyboardKeyStateMod3, +diff --git a/src/matchbox-keyboard.c b/src/matchbox-keyboard.c +index 9f9bb7d..3ed98c0 100644 +--- a/src/matchbox-keyboard.c ++++ b/src/matchbox-keyboard.c +@@ -200,6 +200,9 @@ mb_kbd_keys_current_state(MBKeyboard *kbd) + if (mb_kbd_has_state(kbd, MBKeyboardStateShifted)) + return MBKeyboardKeyStateShifted; + ++ if (mb_kbd_has_state(kbd, MBKeyboardStateCaps)) ++ return MBKeyboardKeyStateCaps; ++ + if (mb_kbd_has_state(kbd, MBKeyboardStateMod1)) + return MBKeyboardKeyStateMod1; + +diff --git a/src/matchbox-keyboard-key.c b/src/matchbox-keyboard-key.c +index 0555c9c..c086fbe 100644 +--- a/src/matchbox-keyboard-key.c ++++ b/src/matchbox-keyboard-key.c +@@ -413,9 +413,13 @@ mb_kbd_key_press(MBKeyboardKey *key) + + state =3D mb_kbd_keys_current_state(key->kbd); + +- if (mb_kbd_has_state(key->kbd, MBKeyboardStateCaps) +- && mb_kbd_key_get_obey_caps(key)) +- state =3D MBKeyboardKeyStateShifted; ++ if (mb_kbd_has_state(key->kbd, MBKeyboardStateCaps)) ++ { ++ if (mb_kdb_key_has_state (key, MBKeyboardKeyStateCaps)) ++ state =3D MBKeyboardKeyStateCaps; ++ else if (mb_kbd_key_get_obey_caps(key)) ++ state =3D MBKeyboardKeyStateShifted; ++ } + + /* XXX below fakekey mods probably better in ui */ + +@@ -616,6 +620,7 @@ mb_kbd_key_dump_key(MBKeyboardKey *key) + { + /* MBKeyboardKeyStateNormal */ "Normal", + /* MBKeyboardKeyStateShifted */ "Shifted" , ++ /* MBKeyboardKeyStateCaps */ "Caps" , + /* MBKeyboardKeyStateMod1, */ "Mod1" , + /* MBKeyboardKeyStateMod2, */ "Mod2" , + /* MBKeyboardKeyStateMod3, */ "Mod3" +diff --git a/src/config-parser.c b/src/config-parser.c +index 15a973e..13ee6d6 100644 +--- a/src/config-parser.c ++++ b/src/config-parser.c +@@ -326,6 +326,10 @@ config_handle_key_subtag(MBKeyboardConfigState = *state, + { + keystate =3D MBKeyboardKeyStateShifted; + } ++ else if (streq(tag, "caps")) ++ { ++ keystate =3D MBKeyboardKeyStateCaps; ++ } + else if (streq(tag, "mod1")) + { + keystate =3D MBKeyboardKeyStateMod1; +@@ -548,6 +552,7 @@ config_xml_start_cb(void *data, const char *tag, = const char **attr) + else if (streq(tag, "normal") + || streq(tag, "default") + || streq(tag, "shifted") ++ || streq(tag, "caps") + || streq(tag, "mod1") + || streq(tag, "mod2") + || streq(tag, "mod3")) +diff --git a/src/matchbox-keyboard-ui-cairo-backend.c = b/src/matchbox-keyboard-ui-cairo-backend.c +index 3b7a401..3f15ac8 100644 +--- a/src/matchbox-keyboard-ui-cairo-backend.c ++++ b/src/matchbox-keyboard-ui-cairo-backend.c +@@ -174,9 +174,13 @@ mb_kbd_ui_cairo_redraw_key(MBKeyboardUI *ui, = MBKeyboardKey *key) + + state =3D mb_kbd_keys_current_state(kbd); + +- if (mb_kbd_has_state(kbd, MBKeyboardStateCaps) +- && mb_kbd_key_get_obey_caps(key)) +- state =3D MBKeyboardKeyStateShifted; ++ if (mb_kbd_has_state(kbd, MBKeyboardStateCaps)) ++ { ++ if (mb_kdb_key_has_state (key, MBKeyboardKeyStateCaps)) ++ state =3D MBKeyboardKeyStateCaps; ++ else if (mb_kbd_key_get_obey_caps(key)) ++ state =3D MBKeyboardKeyStateShifted; ++ } + + if (!mb_kdb_key_has_state(key, state)) + { +diff --git a/src/matchbox-keyboard-ui-xft-backend.c = b/src/matchbox-keyboard-ui-xft-backend.c +index 9a3c6d2..2790591 100644 +--- a/src/matchbox-keyboard-ui-xft-backend.c ++++ b/src/matchbox-keyboard-ui-xft-backend.c +@@ -212,9 +212,13 @@ mb_kbd_ui_xft_redraw_key(MBKeyboardUI *ui, = MBKeyboardKey *key) + + state =3D mb_kbd_keys_current_state(kbd); + +- if (mb_kbd_has_state(kbd, MBKeyboardStateCaps) +- && mb_kbd_key_get_obey_caps(key)) +- state =3D MBKeyboardKeyStateShifted; ++ if (mb_kbd_has_state(kbd, MBKeyboardStateCaps)) ++ { ++ if (mb_kdb_key_has_state (key, MBKeyboardKeyStateCaps)) ++ state =3D MBKeyboardKeyStateCaps; ++ else if (mb_kbd_key_get_obey_caps(key)) ++ state =3D MBKeyboardKeyStateShifted; ++ } + + if (!mb_kdb_key_has_state(key, state)) + { diff --git = a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb = = b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb = =20 index eba1970..6d9d943 100644 --- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb = =20 +++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb = =20 @@ -16,6 +16,7 @@ PR =3D "r4" SRC_URI =3D = "git://git.yoctoproject.org/${BPN};branch=3Dmatchbox-keyboard-0-1 = = \ = file://0001-desktop-file-Hide-the-keyboard-from-app-list.patch = \ + file://0002-add-french-keyboard.patch = \ file://80matchboxkeyboard.sh = " S =3D "${WORKDIR}/git" -- 2.7.4 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org =20 https://lists.yoctoproject.org/listinfo/yocto =20 ------=_NextPart_000_00F2_01D1B054.E7BD0140 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable

Hi Ross,

 

Oh, OK, I=E2=80=99ll do that, please allow = me to do it tomorrow though.

 

Herve

 

From:<= /b> Burton, = Ross [mailto:ross.burton@intel.com]
Sent: mardi 17 mai 2016 = 14:14
To: Herve Jourdain = <herve.jourdain@neuf.fr>
Cc: = yocto@yoctoproject.org
Subject: Re: [yocto] = [matchbox-keyboard][PATCH 1/1] Addition of french = keyboard

 

Hi = Herve,

 

Can you submit the two patches (caps behaviour, and = french layout) against the matchbox-keyboard-0.1 branch directly to this = list please?  Then we can just bump the srcrev in the recipe = instead of carrying patches against our own = software.

 

Ross

 

On 17 = May 2016 at 10:43, Herve Jourdain <herve.jourdain@neuf.fr> = wrote:

Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
= ---
 .../files/0002-add-french-keyboard.patch    =        | 477 = +++++++++++++++++++++
 .../matchbox-keyboard/matchbox-keyboard_git.bb    =  |   1 +
 2 files changed, 478 = insertions(+)
 create mode 100644 = meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patch<= br>
diff --git = a/meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patc= h = b/meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patc= h
new file mode 100644
index 0000000..c6dc5f7
--- = /dev/null
+++ = b/meta/recipes-sato/matchbox-keyboard/files/0002-add-french-keyboard.patc= h
@@ -0,0 +1,477 @@
+diff --git a/layouts/Makefile.am = b/layouts/Makefile.am
+index b439041..ed40256 100644
+--- = a/layouts/Makefile.am
++++ b/layouts/Makefile.am
+@@ -1,4 +1,4 = @@
+ keyboardsdir =3D $(datadir)/matchbox-keyboard
+ = dist_keyboards_DATA =3D keyboard.xml keyboard-extended.xml = keyboard-dvorak.xml \
+            =          keyboard-us.xml keyboard-ru.xml = keyboard-fi.xml        \
+-      =               = keyboard-numpad.xml
++            =         keyboard-fr.xml keyboard-numpad.xml
+diff = --git a/layouts/keyboard-fr.xml b/layouts/keyboard-fr.xml
+--- = a/layouts/keyboard-fr.xml
++++ b/layouts/keyboard-fr.xml
+@@ -0,0 = +1,343 @@
++<?xml version=3D"1.0" = encoding=3D"UTF-8"?>
++<keyboard>
++
++<!-= -
++
++ FR keyboard layout by Herve Jourdain <herve.jourdain@neuf.fr>
= ++
++-->
++
++<options>
++<!-- not yet = implemented -->
++</options>
++
++<layout = id=3D"default keyboard">
++
++  = <row>
++    <space width=3D"500" = extended=3D"true"/>
++
++    <key = fill=3D"true">
++        <default = display=3D"Esc" action=3D"escape" />
++  =   </key>
++    <key>
++    =     <default display=3D"=C2=B2" />
++  =       <shifted display=3D"=C2=B3" = />
++    </key>
++    = <key>
++        <default = display=3D"&amp;" />
++        = <shifted display=3D"1" />
++    = </key>
++    <key>
++      =   <default display=3D"=C3=A9" />
++    =     <shifted display=3D'2' />
++      =   <mod1 display=3D'~' />
++        = <caps display=3D"=C3=89" />
++    = </key>
++    <key>
++      =   <default display=3D"&quot;" />
++  =       <shifted display=3D"3" = />
++        <mod1 display=3D"#" = />
++    </key>
++    = <key>
++        <default = display=3D"'" />
++        = <shifted display=3D"4" />
++      =   <mod1 display=3D"{" />
++    = </key>
++    <key>
++      =   <default display=3D"(" />
++    =     <shifted display=3D"5" />
++  =       <mod1 display=3D"[" />
++  =   </key>
++    <key>
++    =     <default display=3D"-" />
++  =       <shifted display=3D"6" = />
++        <mod1 display=3D"|" = />
++    </key>
++    = <key>
++        <default = display=3D"=C3=A8" />
++        = <shifted display=3D"7" />
++      =   <mod1 display=3D'`' />
++        = <caps display=3D"=C3=88" />
++    = </key>
++    <key>
++      =   <default display=3D"_" />
++    =     <shifted display=3D"8" />
++  =       <mod1 display=3D'\' />
++    = </key>
++    <key>
++      =   <default display=3D"=C3=A7" />
++    =     <shifted display=3D"9" />
++  =       <mod1 display=3D'^' />
++    =     <caps display=3D"=C3=87" />
++  =   </key>
++    <key>
++    =     <default display=3D"=C3=A0" />
++  =       <shifted display=3D"0" = />
++        <mod1 display=3D'@' = />
++        <caps = display=3D"=C3=80" />
++    = </key>
++    <key>
++      =   <default display=3D")" />
++    =     <shifted display=3D"=C2=B0" />
++  =       <mod1 display=3D"]" />
++  =   </key>
++    <key>
++    =     <default display=3D"=3D" />
++  =       <shifted display=3D"+" = />
++        <mod1 display=3D"}" = />
++    </key>
++    = <key>
++        <default = display=3D"*" />
++        = <shifted display=3D"=C2=B5" />
++    = </key>
++
++    <key = fill=3D"true">
++        <default = display=3D"Suppr" = action=3D"backspace"/>
++    = </key>
++
++    <space width=3D"500" = extended=3D"true"/>
++
++    <key = width=3D"4000"  = extended=3D"true">
++        = <default display=3D"D=C3=A9but" = action=3D"home"/>
++    = </key>
++    <key width=3D"4000"  = extended=3D"true">
++        = <default display=3D"Pr=C3=A9c" = action=3D"pageup"/>
++    = </key>
++
++    <space width=3D"500" = extended=3D"true"/>
++  = </row>
++
++  <row>
++    <space = width=3D"500" = extended=3D"true"/>
++
++    <key = fill=3D"true">
++        <default = display=3D"Tab" action=3D"tab"/>
++  =   </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"a" />
++        = <shifted display=3D"A" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"z" />
++        = <shifted display=3D"Z" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"e" />
++        = <shifted display=3D"E" />
++      =   <mod1 display=3D"=E2=82=AC" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"r" />
++        = <shifted display=3D"R" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"t" />
++        = <shifted display=3D"T" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"y" />
++        = <shifted display=3D"Y" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"u" />
++        = <shifted display=3D"U" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"i" />
++        = <shifted display=3D"I" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"o" />
++        = <shifted display=3D"O" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"p" />
++        = <shifted display=3D"P" />
++    = </key>
++    <key>
++      =   <default display=3D"^" = action=3D"xkeysym:dead_circumflex"/>
++    =     <shifted display=3D"=C2=A8" = action=3D"xkeysym:dead_diaeresis"/>
++    = </key>
++    <key>
++      =   <default display=3D"$" />
++    =     <shifted display=3D"=C2=A3" />
++  =       <mod1 display=3D"=C3=B8" = />
++    </key>
++    = <key>
++        <default = display=3D"Pr=C3=A9c" = action=3D"pageup"/>
++    = </key>
++    <key>
++      =   <default display=3D"Suiv" = action=3D"pagedown"/>
++    = </key>
++
++    <space width=3D"500" = extended=3D"true"/>
++
++    <key = width=3D"4000"  = extended=3D"true">
++        = <default display=3D"Fin" = action=3D"end"/>
++    = </key>
++    <key width=3D"4000"  = extended=3D"true">
++        = <default display=3D"Suiv" = action=3D"pagedown"/>
++    = </key>
++
++    <space width=3D"500" = extended=3D"true"/>
++  = </row>
++
++  <row>
++    <space = width=3D"500" = extended=3D"true"/>
++
++    <key = fill=3D"true">
++        <default = display=3D"Caps" = action=3D"modifier:caps"/>
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"q" />
++        = <shifted display=3D"Q" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"s" />
++        = <shifted display=3D"S" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"d" />
++        = <shifted display=3D"D" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"f" />
++        = <shifted display=3D"F" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"g" />
++        = <shifted display=3D"G" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"h" />
++        = <shifted display=3D"H" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"j" />
++        = <shifted display=3D"J" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"k" />
++        = <shifted display=3D"K" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"l" />
++        = <shifted display=3D"L" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"m" />
++        = <shifted display=3D"M" />
++    = </key>
++    <key>
++      =   <default display=3D"=C3=B9" />
++    =     <shifted display=3D"%" />
++  =       <caps display=3D"=C3=99" = />
++    </key>
++    <key = fill=3D"true">
++        <default = display=3D"Entr=C3=A9e" = action=3D"return"/>
++    = </key>
++
++    <space width=3D"500" = extended=3D"true"/>
++    <space = width=3D"4000"  extended=3D"true" = />
++    <space width=3D"4000"  = extended=3D"true" />
++    <space = width=3D"500" extended=3D"true"/>
++  = </row>
++
++  <row>
++    <space = width=3D"500" = extended=3D"true"/>
++
++    <key = fill=3D"true">
++        <default = display=3D"Maj" = action=3D"modifier:shift"/>
++    = </key>
++    <key>
++      =   <default display=3D"&lt;" />
++  =       <shifted display=3D"&gt;" = />
++    </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"w" />
++        = <shifted display=3D"W" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"x" />
++        = <shifted display=3D"X" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"c" />
++        = <shifted display=3D"C" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"v" />
++        = <shifted display=3D"V" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"b" />
++        = <shifted display=3D"B" />
++    = </key>
++    <key = obey-caps=3D'true'>
++        <default = display=3D"n" />
++        = <shifted display=3D"N" />
++    = </key>
++    <key>
++      =   <default display=3D"," />
++    =     <shifted display=3D"?" />
++  =   </key>
++    <key>
++    =     <default display=3D";" />
++  =       <shifted display=3D"." = />
++    </key>
++    = <key>
++        <default = display=3D":" />
++        = <shifted display=3D"/" />
++    = </key>
++    <key>
++      =   <default display=3D"!" />
++    =     <shifted display=3D"=C2=A7" />
++  =   </key>
++    <key = fill=3D"true">
++        <default = display=3D"Maj" = action=3D"modifier:shift"/>
++    = </key>
++
++    <space width=3D"500" = extended=3D"true"/>
++    <space = width=3D"4000"  extended=3D"true" = />
++    <space width=3D"4000"  = extended=3D"true" />
++    <space = width=3D"500" extended=3D"true"/>
++  = </row>
++
++  <row>
++    <space = width=3D"500" = extended=3D"true"/>
++
++    <key = fill=3D"true">
++        <default = display=3D"Ctrl" = action=3D"modifier:ctrl"/>
++    = </key>
++    <key>
++      =   <default display=3D"Alt" = action=3D"modifier:alt"/>
++    = </key>
++    <key = width=3D"12000">
++        = <default display=3D" " action=3D"space" = />
++    </key>
++    = <key>
++        <default = display=3D"AGR" = action=3D"modifier:mod1"/>
++    = </key>
++
++    <key>
++    =     <default display=3D"&#x2191;" = action=3D"up" />
++    = </key>
++    <key>
++      =   <default display=3D"&#x2193;" = action=3D"down" />
++    = </key>
++    <key>
++      =   <default display=3D"&#x2190;" = action=3D"left" />
++    = </key>
++    <key>
++      =   <default display=3D"&#x2192;" = action=3D"right" />
++    = </key>
++
++    <space width=3D"500" = extended=3D"true"/>
++    <space = width=3D"4000"  extended=3D"true" = />
++    <space width=3D"4000"  = extended=3D"true" />
++    <space = width=3D"500" extended=3D"true"/>
++  = </row>
++
++</layout>
++
++</keyboard>
+= diff --git a/src/matchbox-keyboard.h b/src/matchbox-keyboard.h
+index = 4dd258f..430b08b 100644
+--- a/src/matchbox-keyboard.h
++++ = b/src/matchbox-keyboard.h
+@@ -116,6 +116,7 @@ typedef enum
+ = {
+   MBKeyboardKeyStateNormal =3D 0,
+  =  MBKeyboardKeyStateShifted,
++  = MBKeyboardKeyStateCaps,
+  =  MBKeyboardKeyStateMod1,
+  =  MBKeyboardKeyStateMod2,
+  =  MBKeyboardKeyStateMod3,
+diff --git a/src/matchbox-keyboard.c = b/src/matchbox-keyboard.c
+index 9f9bb7d..3ed98c0 100644
+--- = a/src/matchbox-keyboard.c
++++ b/src/matchbox-keyboard.c
+@@ = -200,6 +200,9 @@ mb_kbd_keys_current_state(MBKeyboard *kbd)
+  =  if (mb_kbd_has_state(kbd, MBKeyboardStateShifted))
+  =    return MBKeyboardKeyStateShifted;
+
++  if = (mb_kbd_has_state(kbd, MBKeyboardStateCaps))
++    return = MBKeyboardKeyStateCaps;
++
+   if (mb_kbd_has_state(kbd, = MBKeyboardStateMod1))
+     return = MBKeyboardKeyStateMod1;
+
+diff --git = a/src/matchbox-keyboard-key.c b/src/matchbox-keyboard-key.c
+index = 0555c9c..c086fbe 100644
+--- a/src/matchbox-keyboard-key.c
++++ = b/src/matchbox-keyboard-key.c
+@@ -413,9 +413,13 @@ = mb_kbd_key_press(MBKeyboardKey *key)
+
+   state =3D = mb_kbd_keys_current_state(key->kbd);
+
+-  if = (mb_kbd_has_state(key->kbd, MBKeyboardStateCaps)
+-    =   && mb_kbd_key_get_obey_caps(key))
+-    = state =3D MBKeyboardKeyStateShifted;
++  if = (mb_kbd_has_state(key->kbd, MBKeyboardStateCaps))
++  = {
++    if (mb_kdb_key_has_state (key, = MBKeyboardKeyStateCaps))
++      state =3D = MBKeyboardKeyStateCaps;
++    else if = (mb_kbd_key_get_obey_caps(key))
++      state =3D = MBKeyboardKeyStateShifted;
++  }
+
+   /* XXX = below fakekey mods probably better in ui */
+
+@@ -616,6 +620,7 @@ = mb_kbd_key_dump_key(MBKeyboardKey *key)
+    =  {
+       /* MBKeyboardKeyStateNormal  = */ "Normal",
+       /* = MBKeyboardKeyStateShifted */ "Shifted" ,
++    =   /* MBKeyboardKeyStateCaps    */ "Caps" = ,
+       /* MBKeyboardKeyStateMod1,    = */ "Mod1" ,
+       /* = MBKeyboardKeyStateMod2,    */ "Mod2" ,
+  =      /* MBKeyboardKeyStateMod3,    */ = "Mod3"
+diff --git a/src/config-parser.c = b/src/config-parser.c
+index 15a973e..13ee6d6 100644
+--- = a/src/config-parser.c
++++ b/src/config-parser.c
+@@ -326,6 = +326,10 @@ config_handle_key_subtag(MBKeyboardConfigState = *state,
+     {
+      =  keystate =3D MBKeyboardKeyStateShifted;
+    =  }
++  else if (streq(tag, "caps"))
++  =   {
++      keystate =3D = MBKeyboardKeyStateCaps;
++    }
+   else if = (streq(tag, "mod1"))
+     {
+  =      keystate =3D MBKeyboardKeyStateMod1;
+@@ -548,6 = +552,7 @@ config_xml_start_cb(void *data, const char *tag, const char = **attr)
+   else if (streq(tag, = "normal")
+          || streq(tag, = "default")
+          || = streq(tag, "shifted")
++        =  || streq(tag, "caps")
+        =   || streq(tag, "mod1")
+        =   || streq(tag, "mod2")
+        =   || streq(tag, "mod3"))
+diff --git = a/src/matchbox-keyboard-ui-cairo-backend.c = b/src/matchbox-keyboard-ui-cairo-backend.c
+index 3b7a401..3f15ac8 = 100644
+--- a/src/matchbox-keyboard-ui-cairo-backend.c
++++ = b/src/matchbox-keyboard-ui-cairo-backend.c
+@@ -174,9 +174,13 @@ = mb_kbd_ui_cairo_redraw_key(MBKeyboardUI  *ui, MBKeyboardKey = *key)
+
+   state =3D = mb_kbd_keys_current_state(kbd);
+
+-  if = (mb_kbd_has_state(kbd, MBKeyboardStateCaps)
+-      = && mb_kbd_key_get_obey_caps(key))
+-    state =3D = MBKeyboardKeyStateShifted;
++  if (mb_kbd_has_state(kbd, = MBKeyboardStateCaps))
++    {
++      if = (mb_kdb_key_has_state (key, MBKeyboardKeyStateCaps))
++    =     state =3D MBKeyboardKeyStateCaps;
++    =   else if (mb_kbd_key_get_obey_caps(key))
++      =   state =3D MBKeyboardKeyStateShifted;
++    = }
+
+   if (!mb_kdb_key_has_state(key, = state))
+     {
+diff --git = a/src/matchbox-keyboard-ui-xft-backend.c = b/src/matchbox-keyboard-ui-xft-backend.c
+index 9a3c6d2..2790591 = 100644
+--- a/src/matchbox-keyboard-ui-xft-backend.c
++++ = b/src/matchbox-keyboard-ui-xft-backend.c
+@@ -212,9 +212,13 @@ = mb_kbd_ui_xft_redraw_key(MBKeyboardUI  *ui, MBKeyboardKey = *key)
+
+   state =3D = mb_kbd_keys_current_state(kbd);
+
+-  if = (mb_kbd_has_state(kbd, MBKeyboardStateCaps)
+-      = && mb_kbd_key_get_obey_caps(key))
+-    state =3D = MBKeyboardKeyStateShifted;
++  if (mb_kbd_has_state(kbd, = MBKeyboardStateCaps))
++    {
++      if = (mb_kdb_key_has_state (key, MBKeyboardKeyStateCaps))
++    =     state =3D MBKeyboardKeyStateCaps;
++    =   else if (mb_kbd_key_get_obey_caps(key))
++      =   state =3D MBKeyboardKeyStateShifted;
++    = }
+
+   if (!mb_kdb_key_has_state(key, = state))
+     {
diff --git = a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb = b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
index eba1970..6d9d943 = 100644
--- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
+++ = b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
@@ -16,6 +16,7 @@ PR = =3D "r4"

 SRC_URI =3D "git://git.yoctoproject.org/${BPN};branch=3Dmatchbox-keyboard-= 0-1 \
            file://0001-desktop-file-Hide-the-keyboard-from-app-list.patch = \
+           file://0002-add-french-= keyboard.patch \
            file://80matchboxkeyboard.sh= "

 S =3D = "${WORKDIR}/git"

--
2.7.4

--
______________________________= _________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto<= /o:p>

 

------=_NextPart_000_00F2_01D1B054.E7BD0140--