Commit Graph

1291 Commits

Author SHA1 Message Date
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
Guido Günther
633d69baca Drop HAVE_CLUTTER_GTK
We don't use it.
2019-07-17 19:50:53 +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
c65583b911 Add a gitignore file
Based on the phosh one to ignore (upcoming) translations, editor
backup files and so forth.
2019-07-17 19:39:33 +02:00
Guido Günther
3d518b5757 build: Bump meson dep since we use '/' 2019-07-17 19:37:05 +02: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
Guido Günther
373713ba54 ServerContextService: Don't destroy widget all the time
This avoids icon theme lookups and lots of other stuff down the road.

Closes: #60
2019-07-17 17:16:35 +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
07d6e3a0f2 ServerContextService: Don't use gtk_widget_show_all
This gives children more flexibility without using `no_show_all`.
2019-07-17 17:14:42 +02: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
Guido Günther
9974c385e5 EekboardContextService: Don't comment out property setters
This lets us keep the visible property up to date.
2019-07-17 00:44:09 +02:00
Guido Günther
8dafad80b1 ServerContextService: Check for mapped/unmapped
Visible does not tell us if the widget is actually visible on the
screen.
2019-07-17 00:44:00 +02:00
Guido Günther
93e9b2dde9 ServerContextService: Hide the widget instead of destroying it
This is quicker and makes sure we don't stack up surfaces.
2019-07-16 18:52:53 +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
95ef52fe42 ServerContextService: Remove more unused code
The whole visible/enable logic was disfunctional all the time.
What works is show_keyboard and hide_keyboard.
2019-07-16 18:47:55 +02:00
Guido Günther
c638c40a09 ServerContextService: Drop everything depending on self->was_visible
This was never used so everything depending on it was dead code.
2019-07-16 18:47:55 +02:00
Guido Günther
83d48d24ce ServerContextService: Really destroy the main window
Otherwise layer surfaces keep piling up
2019-07-16 18:47:55 +02:00
Guido Günther
d807e43929 ServerContextService: Drop unneeded code
The layer shell code handles parts of this and others are just
not needed on wayland.
2019-07-16 18:47:55 +02:00
Guido Günther
0a112be956 ServerContextService: Show keyboard when everything else is set up
This avoids some flickering.
2019-07-16 18:47:55 +02:00
Guido Günther
078efa2a6e LayerShell: Set a proper namespace 2019-07-16 18:47:55 +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
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
Guido Günther
cc00fcb5c9 Remove more files
autogen.sh is for automake and the TODO refers to eekboard.
2019-07-16 11:00:59 +02:00
Guido Günther
53f7a14717 EekboardService: Properly toggle keyboard visibility on DBus
Closes: #55
2019-07-16 10:21:59 +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
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
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