David Boddie
8f1de46381
Simplify layout and rendering
...
Remove pre-scaling of the bounds for the keyboard and its contents.
Calculate the scale factor based on the allocation and the desired width
and height of each keyboard, using the lower value of the horizontal and
vertical scale factors.
Apply scaling in the renderer and prepare to perform centering there.
2019-07-30 21:48:36 +00:00
Dorota Czaplejewicz
4aee4915d9
Merge branch 'generate-xkb-files' into 'master'
...
Generate XKB keymaps from XML instead of using pre-made ones
See merge request Librem5/squeekboard!90
2019-07-30 17:38:06 +00:00
David Boddie
e801a68f0d
Add comments to explain what empty labels do
2019-07-30 16:50:23 +02:00
Dorota Czaplejewicz
236415cde4
Merge branch 'add-landscape-orientation' into 'master'
...
Add landscape orientation
See merge request Librem5/squeekboard!99
2019-07-30 11:19:41 +00:00
David Boddie
d49e0eaa1b
Center the keyboard in landscape orientation
2019-07-26 22:27:56 +00:00
David Boddie
99a7786dc3
Remove declaration of unused variable
2019-07-26 12:01:04 +02:00
David Boddie
70895999c2
Generate XKB keymaps from XML instead of using pre-made ones
2019-07-25 22:25:29 +02:00
David Boddie
ce311e1bf1
Use the standard button size for icons
2019-07-25 20:14:32 +00:00
David Boddie
1246776328
Create the keyboard surface every time it is needed
...
Icons are still blurry the first time the keyboard is shown after
rotation.
2019-07-24 14:04:28 +00:00
David Boddie
ea15f69e73
Render the keyboard to a subsurface of the widget
2019-07-24 13:12:57 +00:00
David Boddie
e5b6d66d60
Omit keys without labels on the current level, update key definitions
2019-07-20 17:17:37 +02:00
David Boddie
a045810af6
Merge branch 'add-built-in-keymaps' into 'master'
...
Add built in keymaps
See merge request Librem5/squeekboard!78
2019-07-20 14:42:51 +00:00
David Boddie
6eb63f6a4c
Refactor layout code, rescale and reformat when changing level
2019-07-19 17:35:49 +02:00
David Boddie
f6d4ca0387
Place keys after symbols have been read, skipping blank keys
2019-07-19 17:35:49 +02:00
David Boddie
7b41466a77
Start to refactor keyboard section layout
2019-07-19 17:35:49 +02:00
David Boddie
a5875402ef
Move EekGtkRenderer features into EekRenderer
2019-07-18 15:42:27 +02:00
Guido Günther
dbc8cc14bc
Generate config.h
...
This allows us to remove a lot of #ifdef's. Either we want to use
a config.h or we don't. Since we'll want it for e.g. optional gsound
support later on let's have it.
2019-07-17 19:50:53 +02:00
Guido Günther
068c325ee2
EekGtkRenderer: Use a hash table for icon theme lookups
2019-07-17 17:14:42 +02:00
Guido Günther
3b076e5e64
EekGtkRenderer: Simplify type declaration
...
It's 2019.
2019-07-17 17:14:42 +02:00
Guido Günther
c3a54595ea
layersurface: Refresh layersurface on map
...
If the surface gets unmapped and mapped again we have another GDK window
so we have to reconfigure the layers surface on map and destroy it on
unmap.
This will be merged back into phosh if it works out.
2019-07-16 18:52:36 +02:00
Guido Günther
5827827008
Update layer surface code from phosh
...
As of commit 77bba4fcb2d836a58ccf8913d9a514aac6cc49a2. This allows
us to split the widget creation from making it visible.
2019-07-16 18:47:55 +02:00
David Boddie
fbdc5f4a93
Stash for sharing
2019-07-16 14:00:41 +02:00
David Boddie
e5648a82a3
Remove explicit keycodes in XML, auto-generate them instead
...
This makes it easier to keep the geometry and symbols files in sync.
2019-07-16 14:00:41 +02:00
Guido Gunther
922495ca06
Merge branch 'remove-unused-files' into 'master'
...
Remove unused files and functions
See merge request Librem5/squeekboard!79
2019-07-16 07:16:29 +00:00
David Boddie
e5e2e08ff4
Merge branch 'fewer-redraws' into 'master'
...
keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect
See merge request Librem5/squeekboard!75
2019-07-15 22:57:12 +00:00
David Boddie
c7c410210b
Merge branch 'scale' into 'master'
...
Honor widget scale factor
See merge request Librem5/squeekboard!56
2019-07-15 22:27:34 +00:00
David Boddie
6f5f49729c
Remove unused files and functions
2019-07-15 23:45:17 +02:00
Guido Günther
94c9442de1
keyboard: Drop now unused clip_bounds_to_dirty_rectangle()
2019-07-15 17:42:32 +02:00
Guido Günther
8c044d0852
keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect
...
The later would invaliate the drawn area again and again in a ::draw()
handler. This caused infinite redraws when e.g. a key was locked. To
reproduce break e.g. on `eek_gtk_keyboard_real_draw()` and see how it is
invoked again and again.
2019-07-15 17:42:32 +02:00
Guido Günther
1f0cc0a5f3
keyboard: Don't leak on set_keyboard()
...
Unref and disconnect signals before setting a new keyboard.
2019-07-15 14:12:10 +02:00
Guido Günther
5693ce3df7
keyboard: Simplify signal disconnect
...
We're only keeping the signal ids around for disconnect but that only
happens in dispose so it's o.k.to just disconnect all keyboard signals
we listen to.
2019-07-15 14:12:10 +02:00
Guido Günther
086f6bd772
renderer: Only scale by output scale
...
The original eekboard code scaled icons by a factor. That was simplified
in c529e9ed9c but we can do away with it
completely and fetch the icons at the right size making them not blurry.
2019-07-15 13:23:16 +02:00
Guido Günther
d0fa444a0e
Honor the outputs scale factor
2019-07-15 13:13:34 +02:00
Guido Günther
cd81aeb286
get_icon_surface: Add a scale argument
...
This will allow us to pass the output scale around
2019-07-15 13:13:34 +02:00
Guido Günther
7db33bc92e
renderer: Add icons in resource bundle to the icon theme
2019-07-15 13:13:34 +02:00
Guido Günther
fb6c501e44
renderer: Use gtk_icon_theme_load_surface
...
This will allow us to feed in the output scale.
2019-07-15 13:12:26 +02:00
David Boddie
4d8d3a8109
Merge branch 'suppress-warnings' into 'master'
...
Suppress warning message
See merge request Librem5/squeekboard!70
2019-07-13 22:14:54 +00:00
David Boddie
a183cf8b63
Suppress warning message
2019-07-14 00:13:41 +02:00
David Boddie
f834edcf94
Merge branch 'fix-compiler-warnings' into 'master'
...
Fix use of inappropriate type
See merge request Librem5/squeekboard!69
2019-07-13 19:47:40 +00:00
David Boddie
17802a9408
Fix use of inappropriate type
2019-07-13 18:36:59 +02:00
David Boddie
62b1c2ba84
Revert to latch behavior for letters
2019-07-12 19:54:21 +00:00
David Boddie
fb5ec5557b
Make icons smaller
2019-07-12 20:12:09 +02:00
David Boddie
2774c1c988
Try to load icons from app resources first
2019-07-12 20:04:22 +02:00
David Boddie
7d5b2dd1de
Reduce icon size to match platform guidelines
2019-07-12 16:10:31 +02:00
David Boddie
44110fd4d9
Remove bounds for everything except the geometry element
2019-07-12 14:00:20 +00:00
David Boddie
de39256377
Remove pop-ups for pressed keys
2019-07-11 23:39:33 +00:00
David Boddie
8ad0192e55
Fix clipping issue at bottom of keyboard
...
Closes #47 .
2019-07-11 23:04:29 +00:00
David Boddie
c85638be4d
Use a dummy, non-emitting key to switch views
2019-07-11 19:38:02 +00:00
David Boddie
07c25d1d91
Improve view behavior to more closely reflect #38
2019-07-11 16:29:26 +00:00
Guido Günther
c529e9ed9c
render: Simplify drawing
...
Instead of doing scale guessing we know that we get a properly
sized image from GTK+ so just scale it down a bit so it gets
some border within the drawing area.
2019-07-11 15:40:18 +02:00