Commit Graph

175 Commits

Author SHA1 Message Date
akallabeth a3aa01214c
[resource root] unify locations
unify resource locations in case WITH_BINARY_VERSIONING is set.
2024-10-25 11:40:40 +02:00
Armin Novak 527db6783b
[cmake] split tests
* Keep BUILD_TESTING, but only run tests compatible with API (for
  packaging)
* Add BUILD_TESTING_INTERNAL for all tests including internal function
  tests that modify API to be run on our CI
2024-10-24 09:45:44 +02:00
akallabeth 5353bff104
[assert] use WINPR_STATIC_ASSERT 2024-10-16 19:07:07 +02:00
akallabeth acf80baeb7
[locale,xkbfile] fix comparison function 2024-10-16 13:32:20 +02:00
akallabeth f6eb6ad4d7
[utils,string] add freerdp_extract_key_value
* Add new function freerdp_extract_key_value to extract key/value pairs
  from a string
* replace all sscanf usages with this new function
2024-10-01 13:05:34 +02:00
akallabeth 239440e28d
[warnings] remove or comment unused macros 2024-09-20 18:49:38 +02:00
akallabeth ffd40983ac
[locale,keyboard] fix index range checks 2024-09-20 08:28:56 +02:00
akallabeth 564656166e
[locale,keyboard] add unit tests for functions 2024-09-18 21:31:16 +02:00
akallabeth 7ae1f07aa8
[locale,keyboard] fix missing input validation 2024-09-18 21:17:28 +02:00
akallabeth afde8e779b
[locale,keyboard] fix loading of keyboard locales
if keyboard locales should be loaded from a file also load the layouts
2024-09-18 21:17:21 +02:00
akallabeth 0d5bc92a2b
[warnings] fix apple iOS/macos 2024-09-15 19:47:13 +02:00
akallabeth c84655cd62
[warnings] remove const params
Avoid const TYPE* const type declarations
2024-09-12 14:29:25 +02:00
akallabeth 2170cc65e3
[warnings] cast return of fprintf (void)
fprintf returns a value. Not using it is mostly fine, but it generates
noise when compiling with all warnings on, so cast to (void)
2024-09-06 09:16:21 +02:00
akallabeth 36c3184a0f
[warnings] fix clang-tidy issues in libfreerdp 2024-08-29 15:34:22 +02:00
akallabeth 1d33095500
[warnings] fix cert-err33-c
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
akallabeth 221181f713
[locale,x11] add proper checks for atom 2024-07-25 07:47:42 +02:00
akallabeth 6721fd9d0c
[locale,keyboard] add keyboard id from file
Add the option to load keyboard layouts from a JSON file.
2024-07-19 16:00:56 +02:00
akallabeth 9b89d8fa23
[core,timezone] improve timezone logging
* Unify logging to single function
* Add helpers to format magic numbers as strings
2024-06-26 20:37:41 +02:00
akallabeth e03a6a269e
[locale] add functions for locale mapping
* function to map short language strings ("en", ...) to a codepage
* function to get a default keyboard layout for a codepage
* function to list supported codepages
2024-06-20 10:27:43 +02:00
Armin Novak e5799ec947 [locale,xkbfile] improve mapping
* Add missing keycodes to mapping
* Use sorted list to create mapping table
2024-04-03 08:22:25 +02:00
akallabeth d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
akallabeth 0ba995655d [clang-tidy] cppcoreguidelines-init-variables 2024-02-15 11:49:16 +01:00
akallabeth 207def5c56 [clang-tidy] readability-isolate-declaration 2024-02-15 11:49:16 +01:00
Martin Fleisz 9cff6e9366 locale: Fix X11 keyboard layout detection
This fixes an issue with keyboard layout detection reintroduced in #8960

The problem has already been fixed in #6688 but got lost after
refactoring.

The issue is that the layout specifier might be a comma separated list
with country specifiers i.e. `"at,us"` which was not correctly handled.
2023-09-28 21:16:17 +02:00
Armin Novak 3ea38175b4 [locale,keyboard] fix keyboard mapping on apple 2023-08-31 11:39:22 +02:00
ehdgks0627 d04ba8d6ef Correct typos and formatting errors in format strings
In several files, fixed typos in format strings that were causing unexpected output and formatting issues.
2023-07-28 15:34:46 +02:00
Armin Novak 382ef13b1d [locale,xkb] cleaned up variant detection 2023-07-03 10:19:34 +02:00
Konrad Bucheli d4e2129cd4 the default Swiss keyboard layout is German, French is a variant 2023-07-03 09:52:14 +02:00
Armin Novak 3e44efc841 [cmake] use FindX11 from CMake 3.13 2023-05-31 11:05:56 +02:00
akallabeth 52786d0f12 [input] update to use new WINPR_KEYBOARD_TYPE*
* Use new enum constants with WINPR_KEYBOARD_* prefix
* Fix mapping of keycodes and scancodes, the offset of 8 is no longer
  required if the proper keyboard type is used.
2023-05-12 09:52:01 +02:00
Bernhard Miklautz 1504633522 refactor [locale/keyboard_x11]: cleanup and remove calls to xprop
* remove unused function freerdp_detect_keymap_from_xkb
* instead of querying the x keyboard rule properties
  (_XKB_RULES_NAMES_BACKUP and _XKB_RULES_NAMES) with xprop as external
	program use xlib directly
2023-05-11 11:07:22 +02:00
akallabeth c0dc193a39 [winpr,input] use enum for keyboard types
* move type definition to WinPR as used there too.
* supported keyboard types are defined in
  [MS-RDPBCGR] 2.2.1.3.2 Client Core Data (TS_UD_CS_CORE)]
  use a enum instead of magic numbers to make code more readable.
2023-04-21 12:31:51 +02:00
Pascal Nowack bb967d1533 winpr/input: Add actual evdev keyboard handling
WinPR provides APIs to convert between keycodes between virtual
keycodes.
These keycodes can currently be evdev keycodes or Apple keycodes.
The evdev handling, however, handles XKB keycodes and not evdev ones.
The main difference between these is that XKB keycodes are shifted by
the value 8, compared to evdev keycodes.

In order to fix this situation, rename the evdev keycodes to XKB ones,
and introduce additionally a new keycode evdev, including its handling
for this keycode type.
2023-04-21 12:31:51 +02:00
akallabeth 7ab917dca8 Fixed Wsign-compare warnings 2022-12-09 15:58:26 +01:00
Armin Novak 4b9c8e6393 Updated keyboard list API 2022-10-19 20:31:53 +02:00
akallabeth 43c5289928 Replaced memset/ZeroMemory with initializer
* Addes WINPR_ASSERT on many occations
* Replaced memset with array initializer
* Replaced ZeroMemory with array initializer
2022-10-14 12:11:01 +02:00
Martin Fleisz b2e6221241
locale: Fix polish keyboard layouts on MacOS (#8139) 2022-08-19 12:25:54 +02:00
Martin Fleisz 0c620815f3
locale: Use Polish Programmers as default keyboard layout (#8134) 2022-08-18 10:05:35 +02:00
akallabeth 159f24520c Fixed windows keyboard log message 2022-04-28 12:37:19 +02:00
akallabeth 962c5c3ef0 Fixed dead store warnings 2022-04-28 12:37:19 +02:00
akallabeth 6fd71fe737 Eliminate Dead nested assignment warnings 2022-04-28 12:37:19 +02:00
Armin Novak 4d03d7c0bf Freerdp remove #ifdef HAVE_CONFIG_H 2022-03-03 11:26:48 +01:00
Armin Novak b2ad47a809 Reorganized FreeRDP headers 2022-03-03 11:26:48 +01:00
akallabeth 8cc6582044
Unify struct definitions (#7633)
* Unified enum/struct definitions, fixed include issues

* Fixed mac compilation issues

* Added missing include

* Fixed windows server build warnings

* Fixed VS2010 build issue

* Removed unnecessary library linking

* Fixed ThreadPool WinXP compatibility

* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
Armin Novak 339cdded45 Fixed memory sanitizer warnings 2022-01-11 14:32:18 +01:00
akallabeth 7c9117cf86 Fixed size checks for locale detection.
Reported by George Zaytsev from Positive Technologies
2022-01-11 14:32:18 +01:00
akallabeth 70894c92e7 Added /kbd-scancode-list
Prints a listing of hexadecimal scancodes and the mapping to VK_*
2021-09-10 15:47:08 +02:00
Armin Novak 68f24477f6 Fixed compilation warnings on mac 2021-08-26 15:08:28 +02:00
Armin Novak 5afa592244 Fixed cast-qual warnings 2021-08-24 11:10:51 +02:00
Armin Novak f515bd4560 Fixed shadowing and type errors 2021-08-24 10:45:57 +02:00