Commit Graph

419 Commits

Author SHA1 Message Date
Dorota Czaplejewicz c1482c2377 Merge branch 'add-frame-rendering' into 'master'
Add frame rendering, fix style sheet to show key borders

See merge request Librem5/squeekboard!123
2019-08-05 21:20:36 +00:00
Dorota Czaplejewicz f7d30b0df3 Clarify some arithmetic warnings 2019-08-05 17:01:22 +00:00
Dorota Czaplejewicz 3e35b7441e Drop unused variables 2019-08-05 17:01:22 +00:00
Dorota Czaplejewicz 754e79103a keyboard: Drop layout reference 2019-08-05 17:01:22 +00:00
David Boddie d6b59d16fd Merge branch 'keyboard-signal' into 'master'
gtk-keyboard: Remove unused signal connections

See merge request Librem5/squeekboard!120
2019-08-05 14:27:09 +00:00
David Boddie 0b59262e95 Add frame rendering, fix style sheet to show key borders 2019-08-05 13:39:22 +02:00
David Boddie 593946779e Correct icon size for scaling 2019-08-05 13:21:01 +02:00
Dorota Czaplejewicz 537ded4b58 Merge branch 'release-keys-when-focus-is-lost' into 'master'
Release pressed keys when dragging outside the keyboard

See merge request Librem5/squeekboard!119
2019-08-04 11:00:20 +00:00
Dorota Czaplejewicz 25a6a00f0f Merge branch 'fix-key-press-checks' into 'master'
Use keyboard's coordinate system to check for presses

See merge request Librem5/squeekboard!118
2019-08-04 10:52:58 +00:00
Dorota Czaplejewicz 8298a1412b gtk-keyboard: Remove unused signal connections 2019-08-04 10:23:57 +00:00
David Boddie 0057c80b2e Release pressed keys when dragging outside the keyboard
If no keys are under the touch position when dragging then release all
existing pressed keys. This fixes the problem where the last pressed key
causes events to be sent while the touch position moves outside the
keyboard extent.
2019-08-02 15:31:18 +00:00
David Boddie da88831689 Fix key rendering to only scale once 2019-08-02 17:04:16 +02:00
David Boddie 7b6c6e51b3 Fix background rendering 2019-08-02 17:04:16 +02:00
David Boddie 42b2b3b8f6 Replace the Eek theme support with GTK classes
This brings the appearance of the keyboard basically in line with what
was there before. The background and key borders still need to be fixed
and the text and icons should probably be drawn using the style context.
2019-08-02 17:04:16 +02:00
David Boddie 64680664e3 Use a CSS provider and style context instead of the old theme support 2019-08-02 17:04:16 +02:00
David Boddie 87dd9b4374 Remove references to the removed theme classes 2019-08-02 17:04:16 +02:00
David Boddie c7d5e8d152 Remove theme classes for future replacement 2019-08-02 17:04:16 +02:00
David Boddie 4cd15c074e Merge branch 'fixes' into 'master'
Fixes

See merge request Librem5/squeekboard!115
2019-08-02 15:03:33 +00:00
David Boddie 9bfdabdf57 Merge branch 'textproperty' into 'master'
Removed text categories

See merge request Librem5/squeekboard!114
2019-08-02 14:36:41 +00:00
David Boddie 9375bc212b Use keyboard's coordinate system to check for presses 2019-08-02 14:05:36 +00:00
David Boddie f852cab0f9 Fix warnings, add gtk-doc strings 2019-08-02 12:49:15 +02:00
David Boddie f53babcd68 Add gtk-doc style comment 2019-08-02 12:48:35 +02:00
David Boddie 016c1086e6 Center the keyboard horizontally
Also simplify individual key rendering to make the rendering model more
coherent.
2019-08-02 12:48:35 +02:00
Dorota Czaplejewicz f7dd4c84b1 renderer: Render label directly 2019-08-02 09:21:38 +00:00
Dorota Czaplejewicz b8389f6736 symbol: Simplify symbol storage 2019-08-01 20:25:01 +00:00
Dorota Czaplejewicz 6c1c979414 section: Removed multiple rows in section, row/column in key 2019-08-01 20:10:59 +00:00
Dorota Czaplejewicz 43df82355a EekKey: Remove column and row fields 2019-08-01 20:10:59 +00:00
Dorota Czaplejewicz d8b26040f9 symbolclass: Remove with surroundings
Collaterals: Enabled strict checking of initializers, fixed scripts generating keycode mappings.
2019-08-01 20:08:37 +00:00
Dorota Czaplejewicz bdf29bf57b symbol: forget serializing 2019-08-01 19:59:34 +00:00
Dorota Czaplejewicz 504285c08f fonts: Reset font size to a constant
The font size will only be affected by the scaling factor, and not by an attempt to fit the labels into buttons.

Left to do: adjust it based on CSS.
2019-08-01 17:25:38 +00:00
Dorota Czaplejewicz b5f0aa423b xml: Remove unused file 2019-08-01 14:16:01 +00:00
Dorota Czaplejewicz c81fdb18de eekelement: Fix case falling through 2019-07-31 14:11:03 +00:00
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