Commit Graph
100 Commits
Author SHA1 Message Date
David Boddie 3154125ce0 Merge branch 'strict_build' into 'master'
build: Stricter type checks

See merge request Librem5/squeekboard!130
2019-08-17 18:05:36 +00:00
David BoddieandDorota Czaplejewicz 73d2505c89 Do not pass the symbol to the key emitter 2019-08-13 12:24:11 +00:00
David BoddieandDorota Czaplejewicz 8cf39394c5 Update create_key to match the function assigned to it 2019-08-13 12:07:24 +00:00
David Boddie 91d7cc1118 Release each pressed key instead of the current pressed key 2019-08-10 16:11:53 +00:00
David Boddie 6bbd8f6006 Use correct style for the design 2019-08-05 21:09:27 +00:00
David Boddie cbdd72a4b6 Merge branch 'nolayout' into 'master'
Drop layout field on the keyboard

See merge request Librem5/squeekboard!122
2019-08-05 21:02:35 +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
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
David Boddie ad5e4f58bb Remove use of xvfb to check that the tests run headless 2019-08-01 18:15:42 +02:00
David Boddie 3085a10507 Merge branch 'cleanup' into 'master'
xml: Remove unused file

See merge request Librem5/squeekboard!110
2019-08-01 15:06:43 +00:00
David Boddie 9344a13bed Use headless init functions to prevent test breakage 2019-08-01 16:00:59 +02:00
David Boddie c8bc2c424f Merge branch 'errors' into 'master'
Errors

See merge request Librem5/squeekboard!107
2019-07-31 18:54:15 +00:00
David Boddie 46fa6d4500 Merge branch 'rust_tests' into 'master'
Rust tests

See merge request Librem5/squeekboard!106
2019-07-31 17:11:33 +00:00
David Boddie 6002774f95 Merge branch 'imservice_cleanups' into 'master'
Imservice cleanups

See merge request Librem5/squeekboard!105
2019-07-31 14:27:13 +00:00
David Boddie 35ff93258e Adjust geometry to match the compact keyboard in places 2019-07-31 00:43:39 +02:00
David Boddie c58d034494 Adjust bounds of the keyboard to better fit it in the available space 2019-07-31 00:43:36 +02: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
David Boddie 1846a67e83 Merge branch 'readme' into 'master'
readme: Change the clone URL

Closes #30

See merge request Librem5/squeekboard!100
2019-07-30 20:39:09 +00:00
David Boddie 35ac14806c Rename keypad-related files 2019-07-30 20:47:29 +02:00
David Boddie 5eeaa1c693 Remove unused geometry file 2019-07-30 19:28:16 +02:00
David Boddie 9b2fcf89e8 Use a test-oriented init call 2019-07-30 17:20:15 +02:00
David Boddie e801a68f0d Add comments to explain what empty labels do 2019-07-30 16:50:23 +02:00
David Boddie d49e0eaa1b Center the keyboard in landscape orientation 2019-07-26 22:27:56 +00:00
David Boddie 107399a531 Don't set the geometry of the window in normal use
Setting the geometry prevents the widget from getting the correct
allocation and prevents us from positioning it correctly in
landscape mode.
2019-07-26 22:26:02 +00:00
David Boddie 99a7786dc3 Remove declaration of unused variable 2019-07-26 12:01:04 +02:00
David Boddie 2f0beb6d3a Add a simple test of keymap generation 2019-07-25 22:25:30 +02:00
David Boddie 3ab3627ffe Remove unused keymaps 2019-07-25 22:25:30 +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 e9cf572a3c Only recreate the widget when the keyboard layout changes
Avoid creating a widget before there is a window to put it in.
2019-07-25 18:07:29 +00:00
David Boddie 943b2ad9f3 Merge branch 'xkb_resource_oob_read' into 'master'
Fix out of bounds memory read in get_keymap_from_resource.

See merge request Librem5/squeekboard!97
2019-07-25 13:20:35 +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 2e22bb5431 Merge branch 'fix-squeekboard-resources' into 'master'
Ensure that resources are built with the application

See merge request Librem5/squeekboard!95
2019-07-23 23:25:33 +00:00
David Boddie a9a6e1d2b5 Ensure that resources are built with the application 2019-07-24 01:22:58 +02:00
David Boddie 4b66add65f Merge branch 'ci' into 'master'
Run tests in ci

See merge request Librem5/squeekboard!94
2019-07-23 11:29:34 +00:00
David BoddieandGuido Günther 9b10f56ba6 Keep the build directory as an artifact 2019-07-23 10:18:44 +02:00
David BoddieandGuido Günther 2391947b34 Update CI configuration to enable tests 2019-07-23 10:18:44 +02:00
David BoddieandGuido Günther e903150971 Enable tests, fixing the existing ones to use the current API
This also involved building a static library for the application for
tests to link to. The main application executable also links to it.
2019-07-23 10:18:44 +02:00
David Boddie 7495ec9bbb Merge branch 'remove-includes' into 'master'
Remove unnecessary X11 includes

See merge request Librem5/squeekboard!91
2019-07-20 22:00:58 +00:00
David Boddie e25d5a84b2 Remove unnecessary X11 includes 2019-07-20 23:57:38 +02:00
David Boddie 88ade4df1b Merge branch 'add-keyboards-for-purposes' into 'master'
Add keyboards for purposes

See merge request Librem5/squeekboard!89
2019-07-20 21:44:30 +00:00
David Boddie 00c3903672 Respond to the input purpose, showing a numeric keypad if requested 2019-07-20 17:33:55 +02:00
David Boddie c801b17ba0 Add initial files to test specialized keyboard support 2019-07-20 17:33:50 +02:00
David Boddie 9ec8d62f3f Merge branch 'respond-to-input-source-changes' into 'master'
Respond to input source changes

See merge request Librem5/squeekboard!88
2019-07-20 15:31:40 +00:00
David Boddie b1edcfcb1b Tidy up a merge 2019-07-20 17:26:00 +02:00
David Boddie 54b0f59935 Always create a new widget for a keyboard and update it if already visible 2019-07-20 17:25:55 +02:00
David Boddie 531b09f296 Merge branch 'adapt-keyboard-for-different-levels' into 'master'
Omit keys without labels on the current level, update key definitions

See merge request Librem5/squeekboard!87
2019-07-20 15:24:09 +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 d68a8fef9a Merge branch 'resize-icons' into 'master'
Declare the correct size for icons

See merge request Librem5/squeekboard!86
2019-07-20 14:41:29 +00:00
David Boddie 9162d4291f Declare the correct size for icons 2019-07-20 14:39:47 +00:00
David Boddie 93d7699aa7 Merge branch 'make-layout-more-flexible' into 'master'
Make layout handling more flexible

See merge request Librem5/squeekboard!85
2019-07-20 14:31:26 +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 18c25084db Merge branch 'merge-renderers' into 'master'
Move EekGtkRenderer features into EekRenderer

Closes #61

See merge request Librem5/squeekboard!84
2019-07-19 14:56:54 +00:00
David Boddie a5875402ef Move EekGtkRenderer features into EekRenderer 2019-07-18 15:42:27 +02:00
David Boddie f3ed1ba247 Merge branch 'config' into 'master'
Clean up config.h (and some other stuff)

See merge request Librem5/squeekboard!83
2019-07-18 11:11:57 +00:00
David Boddie bfa72d7f61 Merge branch 'less-flicker' into 'master'
Make redisplaying the keyboard faster

Closes #60

See merge request Librem5/squeekboard!82
2019-07-17 16:32:29 +00:00
David Boddie 7690ef9a1a Merge branch 'layer-shell' into 'master'
Hide/show window instead of destroying it

Closes #42

See merge request Librem5/squeekboard!76
2019-07-17 11:34:10 +00:00
David Boddie 9c61d8de72 Merge branch 'dbus-prop' into 'master'
EekboardService: Properly toggle keyboard visibility on DBus

Closes #55

See merge request Librem5/squeekboard!80
2019-07-16 13:22:53 +00:00
David Boddie f72ddc8129 Undo formatting changes 2019-07-16 14:06:49 +02:00
David Boddie 7e9c3b40bb Remove debugging code 2019-07-16 14:00:41 +02:00
David Boddie a8371af9c0 Fall back to US layout and keymap if needed 2019-07-16 14:00:41 +02:00
David Boddie 4e11d071d9 Add a keymap for the US layout, update the US symbols 2019-07-16 14:00:41 +02:00
David Boddie a7140705c4 Search for an xkb keymap in the resources 2019-07-16 14:00:41 +02:00
David Boddie 69986132b4 Use keysyms for the Shift modifier 2019-07-16 14:00:41 +02:00
David Boddie 3c97a3a592 Convert symbols file and update test keymap 2019-07-16 14:00:41 +02:00
David Boddie 268dda4da0 Improve symbol mapping 2019-07-16 14:00:41 +02:00
David Boddie 45f58a97b9 Update the test keymap 2019-07-16 14:00:41 +02:00
David Boddie bdbbaf6099 Use groups to reference keysyms in the keymap 2019-07-16 14:00:41 +02:00
David Boddie 839968dc84 Try using a custom keymap 2019-07-16 14:00:41 +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
David Boddie 38133d326b Merge branch 'autogen.sh' into 'master'
Remove more files

See merge request Librem5/squeekboard!81
2019-07-16 11:06:55 +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 cb7c214aa0 Merge branch 'fixes' into 'master'
Fixes

See merge request Librem5/squeekboard!74
2019-07-15 22:20:40 +00:00
David Boddie 6f5f49729c Remove unused files and functions 2019-07-15 23:45:17 +02:00
David Boddie bcf04ab11e Merge branch 'exclusive-zone' into 'master'
LayerSurface: Make exclusive zone identical to height

Closes #53

See merge request Librem5/squeekboard!72
2019-07-15 11:55:41 +00: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 ac1aad881c Merge branch '49-inconsistent-behaviour-of-shift-key-s-pressed-state' into 'master'
Resolve "Inconsistent behaviour of shift key's pressed state"

Closes #49

See merge request Librem5/squeekboard!66
2019-07-13 16:35:07 +00:00