diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cfc66ae..31d0fa70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [Version 4.0.0] - 2024-03-16 +## [Version 4.0.0] - 2024-03-28 ### Added @@ -11,6 +11,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Added aliases with parameters (#91). - Added `keymapperctl` application (#105). - Added device filter support on Windows using `Interception` (#107). +- Allow to invert context filters with !=. +- Added fallthrough of empty context blocks. ### Changed @@ -18,9 +20,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Completely resetting state of virtual keys when updating the configuration. - Setting `keymapper` process priority to high on Windows - Exiting when config is invalid and not reloaded on Windows (#114). +- Allow to separate context filters with comma. ### Fixed +- Fixed groups with not timeout. +- Not grabbing gamedevices on Linux. - Fixed starting multiple terminal commands at once. ## [Version 3.5.2] - 2024-01-24 diff --git a/CMakeLists.txt b/CMakeLists.txt index 818f2de7..f28ab04f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ if(MSVC) add_compile_options($<$:/MT>) add_compile_definitions(_CRT_SECURE_NO_WARNINGS _WINSOCK_DEPRECATED_NO_WARNINGS) else() - add_compile_options(-Wall -Wpedantic) + add_compile_options(-Wall -Wpedantic -Wno-unknown-pragmas) endif() include_directories(src) diff --git a/src/client/unix/StringTyperImpl.h b/src/client/unix/StringTyperImpl.h index b17fa9e7..f7023ec7 100644 --- a/src/client/unix/StringTyperImpl.h +++ b/src/client/unix/StringTyperImpl.h @@ -31,7 +31,7 @@ template void for_each_modifier_combination(const T& masks, F&& callback) { for (auto bit = 0x00; bit < (1 << masks.size()); ++bit) { auto combo = 0x00; - for (auto i = 0; i < masks.size(); ++i) + for (auto i = 0u; i < masks.size(); ++i) if (bit & (1 << i)) combo |= masks[i]; callback(combo); diff --git a/src/client/unix/StringTyperWayland.cpp b/src/client/unix/StringTyperWayland.cpp index 965a509b..99160aa0 100644 --- a/src/client/unix/StringTyperWayland.cpp +++ b/src/client/unix/StringTyperWayland.cpp @@ -88,9 +88,9 @@ class StringTyperWayland : public StringTyperImpl { if (auto name = xkb_keymap_key_get_name(keymap, keycode)) if (auto key = xkb_keyname_to_key(name); key != Key::none) { const auto layouts = xkb_keymap_num_layouts_for_key(keymap, keycode); - for (auto layout = 0; layout < layouts; ++layout) { + for (auto layout = 0u; layout < layouts; ++layout) { const auto levels = xkb_keymap_num_levels_for_key(keymap, keycode, layout); - for (auto level = 0; level < levels; ++level) { + for (auto level = 0u; level < levels; ++level) { const auto num_symbols = xkb_keymap_key_get_syms_by_level(keymap, keycode, layout, level, &symbols); const auto num_masks = xkb_keymap_key_get_mods_for_level(keymap, keycode,