Feature #1113
closed
Write Keyboard widget and test app
Added by Hammel 8 months ago.
Updated 8 months ago.
Description
This needs to use json to describe keys.
- Number of rows
- Number of columns
- Key
- Position: row,column
- Label: Characters to display
- Keysym: GTK keysyms (gdk/gdkkeysyms.h)
- Icon: BG Icon
- Color: mutually exclusive to Icon (if icon, ignore color)
Widget should not get focus - it should be touchscreen enabled only and focus stays in other Gtk widget.
Might need to review matchbox-keyboard for how they handle the focus issue.
Or maybe just install a callback that takes the key action/key from the widget (like updating a GtkEntry).
See
- Description updated (diff)
- Description updated (diff)
- Description updated (diff)
- Status changed from New to In Progress
- % Done changed from 0 to 50
The keyboard widget has been written along with a test app called pigtk. Both are now in the pigtk repo. The widget is fairly simplistic and requires the app to handle the keys returned (or not returned if there is no key specified). There are few checks on the keyboard.json file either. The goal here is KISS, though better error handling is warranted.
There is only one sample keyboard. Custom keyboard configs will need to be introduced by apps that use the keyboard.
To go with this keyboard widget I want to port pidialer's entry field widget. This is because, in GTK+2 there is no way to disable the cursor (at least not that I can see). so the first character is always partly covered by the cursor. pidialer's entry field is not an entry field, per se, be a display only field. But it is useful in pidialer and I suspect in other cases. Again, it's KISS.
Once this is ported I will integrate the library build into PiBox/Xeon base builds. This is needed to allow pidialer to be updated and cross compiled using the staging tree.
- % Done changed from 50 to 70
Textline widget is ported and basically working. However there are two bugs.
- The textline widget doesn't resize to the full width when the window is resized.
- The keyboard doesn't fill the fill width because the last column should take up the "mod(width/cols)".
- % Done changed from 70 to 90
Both keyboard and textline widgets are implemented and tested. The former still needs to address the last cell padding when resizing.
- % Done changed from 90 to 100
Fixed the pad issue. Code tested on build system only.
Code committed and pushed.
Code will be tested on Xeon after integration with Buildroot.
Closing issue.
- Status changed from In Progress to Closed
Also available in: Atom
PDF