Commit Graph

53 Commits

Author SHA1 Message Date
Adriaan de Groot
583cc06f7c [keyboard] Warnings-- for nullptr 2018-03-06 16:23:44 +01:00
Adriaan de Groot
3f77fb1d16 [modules] Use new convenience logging methods 2018-02-12 11:58:34 -05:00
Adriaan de Groot
3ff68bce98 [keyboard] Correct guessing for Arabic variants 2018-01-09 16:24:55 +01:00
Adriaan de Groot
7249b41e3e [keyboard] Explain table format, add more edge cases 2018-01-08 11:02:20 -05:00
Adriaan de Groot
0d56b9b9c5 Merge branch 'master' into i689-kayboard-layout 2018-01-08 16:19:27 +01:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
9b5772c482 Keyboard: warn about missing ckbcomp, thanks @abucodonosor 2017-10-23 11:52:11 -04:00
Adriaan de Groot
6704121946 Keyboard: try a little harder to match keyboard layouts with selected system language 2017-09-26 11:32:52 -04:00
Adriaan de Groot
9b9801d48d Code-style: format the keyboard module 2017-09-26 11:22:51 +02:00
Adriaan de Groot
ea07d9e1d8 Merge branch 'master' into i689-kayboard-layout 2017-09-26 11:20:17 +02:00
Adriaan de Groot
13807ceabf Licensing: add self
- to all the files I've touched recently
 - to (very incomplete) AUTHORS list

Licensing: add license info to top-level CMakeLists.txt
2017-09-19 15:57:25 +02:00
Adriaan de Groot
bd37572fd8 Clang: reduce warnings 2017-09-13 19:03:56 +02:00
Adriaan de Groot
3527c82327 Clang: make private internal class less visible 2017-09-10 13:22:54 -04:00
Adriaan de Groot
bd3786ebeb Clang: reduce warnings in various places 2017-09-10 13:22:32 -04:00
Adriaan de Groot
196b1567db Modules: remove boilerplate module.desc 2017-08-02 11:05:32 -04:00
Adriaan de Groot
3b0b05186a Clang: reduce warnings 2017-06-27 07:36:46 -04:00
Adriaan de Groot
e9ab78cd52 Keyboard: special-case, pc+latin interpreted as us,
instead of as unknown which selects the first layout in the list.
2017-06-19 11:12:23 -04:00
Adriaan de Groot
6ef2f5d769 Keyboard: code-docs, copyright 2017-06-19 10:46:30 -04:00
Adriaan de Groot
59605d552e Keyboard: simplify execution of setxkbmap.
Use QProcess::execute() with the 'safer' argument-list, rather than
escaping and de-escaping strings. Also reduce noise by only passing
a variant if there is one.
2017-06-19 10:41:56 -04:00
Adriaan de Groot
88715b9a0f Keyboard: guess at layout based on locale
Split locale into <language>_<country> and go looking for keyboard
layouts that match. Do that in reverse, so look for country first.

- known weakness is el_CY (should get layout gr) because CY and el
  don't name any keyboard layout.
- known weakness are Hausa, Igbo .. which are ha_NG and ig_NG. They select
  keyboard layout ng, which is labeled "English (Nigeria)"; they ought
  to select ng(hausa) and ng(igbo), which are the right variant keyboard
  layouts to use.
- similar selecting a locale in Canada (en_CA, fr_CA, iu_CA ...) will
  select keyboard layout ca, which is for French-speaking Canada.
  Locale en_CA should select keyboard en -- e.g. en(us). But iu_CA
  (Inuktituk) needs layout ca(ike).
2017-06-08 10:15:30 +02:00
Adriaan de Groot
8d9f75ffba Keyboard: refactor type declaration 2017-06-08 10:15:30 +02:00
Adriaan de Groot
3ae12f2573 Keyboard: avoid multiple connects
When selecting keyboard layout, pause, then select another, the
QTimer wasn't being disconnected from the previously selected
language, so the second selection would fire the timeout, and
then call *two* slots .. and then three, ... Disconnect when
the timer fires, too.
2017-06-06 09:22:21 -04:00
Teo Mrnjavac
c36b1f66a5 Provide default for m_writeEtcDefaultKeyboard in KeyboardViewStep. 2016-12-13 12:17:07 +01:00
Teo Mrnjavac
e2b2d761c2 Do not LINK_PUBLIC by default. 2016-12-07 16:37:29 +01:00
Teo Mrnjavac
5bf4bb8787 Make writeEtcDefaultKeyboard an option in keyboard.conf. 2016-09-26 10:57:57 +02:00
Teo Mrnjavac
37384279e5 Add support for writing keymap data to /etc/default/keyboard. 2016-09-22 12:32:30 +02:00
Andrius Štikonas
9f0ca042fe Port away from most cases of Q_FOREACH to C++11 ranged for loop.
In order to avoid deep copies, Qt containers over which we iterate must be const
The remaining unported cases require qAsConst (Qt 5.7) or std::as_const (C++17)
2016-09-01 16:46:14 +01:00
Teo Mrnjavac
fba8e448bb Fix build on very old GCC. 2016-06-13 17:47:54 +02:00
Teo Mrnjavac
09f650ecf5 Use KeyboardLayoutModel+QListView instead of QListWidget, and defer setxkbmap until keyboardSearch is over. 2016-05-31 19:06:53 +02:00
Teo Mrnjavac
4a2cd903f7 New KeyboardLayoutModel. 2016-05-31 19:06:07 +02:00
Teo Mrnjavac
90b156f97f PluginFactory in Keyboard module. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
94a1f44fd7 Initialize all members and use nullptr instead of 0. 2015-06-13 21:33:20 +02:00
Teo Mrnjavac
9bded2dcfc Initialize all members. 2015-06-13 21:33:00 +02:00
Teo Mrnjavac
654bc9f471 Add debug output to SetKeyboardLayoutJob.
CAL-206 #comment I've just pushed some debug output to master, could you please test again and post a new log?
2015-04-03 15:04:24 +02:00
Gormogon
e2d05cb9f2 Align Pointers 2015-02-25 19:57:19 -05:00
Gormogon
9ef5f581a3 Update 'kbd-model-map' from Upstream 2015-02-18 10:06:37 -05:00
Teo Mrnjavac
171248ad4f Add isBackEnabled checks to all ViewSteps. 2015-01-29 22:46:07 +01:00
Kevin Kofler
9b75999706 keyboard: Preselect the current keyboard layout variant. 2014-12-05 02:25:08 +01:00
Teo Mrnjavac
52a1a28696 Fix focus handling in Keyboard page. 2014-11-26 18:56:09 +01:00
Teo Mrnjavac
688cc8f798 Use Retranslator in KeyboardPage. 2014-11-11 15:46:49 +01:00
Kevin Kofler
3e9de2a05a keyboard: Allow absolute paths for the xOrgConfFileName setting.
This should ensure it works on all distributions.
2014-11-11 14:59:30 +01:00
Kevin Kofler
86d51b4a9c keyboard: Pass settings directly, not through GlobalStorage.
Pass the settings from keyboard.conf directly to the
SetKeyboardLayoutJob rather than through GlobalStorage.
2014-11-11 14:37:05 +01:00
Kevin Kofler
2fec6e3202 keyboard: kbd-model-map: Add link to the original.
In particular, to the upstream git log for the file.
2014-11-11 14:04:21 +01:00
Kevin Kofler
bfdcf0dbc0 keyboard: Coding style fixes. 2014-11-11 13:57:08 +01:00
Kevin Kofler
4f9f7d7858 keyboard: Write the keyboard model and layout settings to the root mount point.
This is implemented as a new SetKeyboardLayout job that does the work.

Portions of the code are adapted from systemd-localed's source code,
which is under a compatible license (LGPLv2.1+, can be converted to our
GPLv3+ license). I ported it from C to to C++/Qt and made some minor
tweaks to the mapping logic (from X11 to vconsole layouts) though.

Fixes #31.

Tested on a Fedora Remix (Kannolo 21) with the default module settings
(finds the converted X11 keymaps for the virtual console) and with
convertedKeymapPath: "" (does the legacy keymap conversion as expected).
2014-11-11 04:48:03 +01:00
Teo Mrnjavac
d97bb47f09 Add proper QResrouce system to libcalamaresui, finish up prepare checks
This also adds ImageRegistry, a SVG cache, a bunch of utility functions
for shared pixmaps in CalamaresUtilsGui and renames several qrc files
in viewmodules.
2014-08-26 18:24:51 +02:00
Teo Mrnjavac
83ad1fae0e Debug output in keyboard viewmodule. 2014-08-06 15:37:21 +02:00
Teo Mrnjavac
8f10c21e5b Big configuration overhaul.
Module descriptors are now module.desc, no configuration allowed inside.
Module config files are <modulename>.conf, installed in
share/calamares/modules.
settings.conf is read from /etc/calamares, then share/calamares, and if
running with --debug also in the current dir.
Module config files are read from /etc/calamares/modules, then
share/calamares/modules, and if running with --debug also in
src/modules/<modulename> relative to the current dir.
2014-08-06 11:54:45 +02:00
Teo Mrnjavac
cc2e49c6ae Store keyboard layout information in GlobalStorage. 2014-08-01 12:42:34 +02:00
Aurélien Gâteau
75a5bdac60 Fix fuzzy edges around keys (and a warning) 2014-07-30 14:17:14 +02:00