Features/Touch/Development: Difference between revisions
| (10 intermediate revisions by 2 users not shown) | |||
| Line 14: | Line 14: | ||
==On screen keybord (OSK)== | ==On screen keybord (OSK)== | ||
==== Canvas auto panning based on input focus==== | ==== Canvas auto panning based on input focus==== | ||
* [http://gitorious.org/maliit/maliit-framework/commit/fbf52a206f14ce57b6ec9eba309d8dd67592d882/diffs maliit-framework: Emit GtkIMContext::clear-area on VKB relocations] | |||
* [http://git.gnome.org/browse/gtk+/log/?h=wip/im-osk-position GTK+ branch from Carlos] | * [http://git.gnome.org/browse/gtk+/log/?h=wip/im-osk-position GTK+ branch from Carlos] | ||
* [http://dev.laptop.org/~erikos/touch/0001-Window-Handle-request-unset-clear-area-to-keep-focus.patch patch for the sugar-toolkit-gtk3] to listen in the 'request-clear-area' and 'unset-clear-area' signal | |||
==== Show Frame or OSK, never both==== | ==== Show Frame or OSK, never both==== | ||
| Line 22: | Line 24: | ||
==== Hide OSK key on OSK==== | ==== Hide OSK key on OSK==== | ||
There should be a key on the OSK to manually hide the keyboard. Currently you can already hide the Maliit keyboard by a vertical stroke but that is not as discoverable and does not work as reliable (as of today). | There should be a key on the OSK to manually hide the keyboard. Currently you can already hide the Maliit keyboard by a vertical stroke but that is not as discoverable and does not work as reliable (as of today). | ||
The [http://gitorious.org/maliit/maliit-plugins/blobs/master/maliit-keyboard/data/styles/olpc-xo/main.ini#line29 functionality is already there] to add it to the style. We just have to add the key in the layout [http://gitorious.org/maliit/maliit-plugins/blobs/master/maliit-keyboard/data/languages/de.xml (per language)]. | |||
==== Show OSK button on device Frame edge==== | ==== Show OSK button on device Frame edge==== | ||
There should be a key on the Frame in the device section to manually reveal the OSK. | There should be a key on the Frame in the device section to manually reveal the OSK. | ||
* [http://gitorious.org/maliit/maliit-framework/blobs/master/maliit-glib/maliitinputmethod.h#line71 Maliit-glib API "maliit_input_method_show"]. | * [http://gitorious.org/maliit/maliit-framework/blobs/master/maliit-glib/maliitinputmethod.h#line71 Maliit-glib API "maliit_input_method_show"], <span style="color:#f99506;">testing</span> [http://dev.laptop.org/~erikos/touch/0009-Add-a-toolbutton-in-the-device-section-to-reveal-the.patch patch that adds a device button, clicking on it shows the OSK (works only when we ported the shell to dynamic bindings] | ||
==== Sugar theme==== | ==== Sugar theme==== | ||
The OSK should have a Sugar theme. | The OSK should have a Sugar theme and good quality font. | ||
==== Internationalisation==== | ==== Internationalisation==== | ||
| Line 84: | Line 88: | ||
* use Frame (see Frame section) | * use Frame (see Frame section) | ||
* discuss: use Gesture (horizontal swipe) | * discuss: use Gesture (horizontal swipe) | ||
==Gestures== | |||
* we want the following gestures to be supported in Activities: touch-and-hold, swipes (left/right/up/down), and pinch-to-zoom | |||
* we need global gestures as well (e.g. Frame) | |||
* http://git.gnome.org/browse/gtk+/commit/?h=gestures | |||
== Home view== | == Home view== | ||
| Line 101: | Line 110: | ||
** see how it is handled in the home screen in iOS for touch & hold and the swipe gesture | ** see how it is handled in the home screen in iOS for touch & hold and the swipe gesture | ||
* add copy option for the DOCUMENTS folder in the entry Palette and Details View Copy toolbar button | * add copy option for the DOCUMENTS folder in the entry Palette and Details View Copy toolbar button | ||
* Detail View: Erase and Duplicate tools should both raise confirmation alerts | * Detail/List View: Erase (and Duplicate) tools should both raise confirmation alerts | ||
==Combobox== | ==Combobox== | ||
* Single touch of a combo should lock open it's palette and allow drag scrolling | * Single touch of a combo should lock open it's palette and allow drag scrolling, <span style="color:#2ce713;"> Fix from: Carlos Garnacho </span>[http://git.gnome.org/browse/gtk+/commit/?id=bd3ca2b30efc534f8b7c18dfd8a9f072592044c7 landed in GTK+ 3.5.10] | ||
* Should not show blank space when previous selection was near the bottom of the list | * Should not show blank space when previous selection was near the bottom of the list (not as bad when the scrolling works, [https://bugzilla.gnome.org/show_bug.cgi?id=678113 discussion why technically this is really hard to do]) | ||
* Up/down menu/combo overflow widgets need to be larger | * Up/down menu/combo overflow widgets need to be larger (could probably be done in the theme) | ||
* | * [http://dev.laptop.org/~erikos/touch/activity.py activity.py] for HelloWorld activity that has a ComboBox to test with | ||
== Touch & hold '==' right click equivalent== | == Touch & hold '==' right click equivalent== | ||
| Line 181: | Line 190: | ||
=Test= | =Test= | ||
==Apply patches to Sugar== | ==Apply patches to Sugar== | ||
* yum install gettext GConf2-devel gtk2-devel intltool perl-XML-Parser pkgconfig python pygtk2-devel | * yum install gettext GConf2-devel gtk2-devel intltool perl-XML-Parser pkgconfig python pygtk2-devel make gcc | ||
* git clone git://git.sugarlabs.org/sugar/mainline.git shell | * git clone git://git.sugarlabs.org/sugar/mainline.git shell | ||
* cd shell | * cd shell | ||
* ./autogen | * git checkout 6fbc4188249a6f59cc55381824cf1ec1f90dc5e8 (master has changed already since the patches have been made) | ||
* ./autogen.sh --prefix=/usr | |||
* wget http://dev.laptop.org/~erikos/touch/0001-Make-the-palette-come-up-on-left-click-for-the-buddy.patch | * wget http://dev.laptop.org/~erikos/touch/0001-Make-the-palette-come-up-on-left-click-for-the-buddy.patch | ||
* git am 0001-Make-the-palette-come-up-on-left-click-for-the-buddy.patch | * git am 0001-Make-the-palette-come-up-on-left-click-for-the-buddy.patch | ||