Merge pull request #11419 from akallabeth/no-caps-press-sync

[ci,abi] split out deb package move
This commit is contained in:
akallabeth
2025-03-25 11:26:56 +01:00
committed by GitHub
4 changed files with 42 additions and 11 deletions

View File

@@ -48,9 +48,12 @@ jobs:
apt source libabigail
cd libabigail-2.6
dpkg-buildpackage
cd ..
mkdir -p deb
mv *.deb deb/
- name: "Prepare abigail-tools debs"
if: always() && steps.cache-abigail-tools-restore.outputs.cache-hit != 'true'
run: |
mkdir deb
find . -name "*.deb" -print -exec mv {} deb \;
- name: Save abigail tools
id: cache-abigail-tools-save
@@ -62,14 +65,15 @@ jobs:
deb
- name: "Install abigail-tools"
continue-on-error: true
run: |
cd deb
ls
sudo dpkg -i *.deb
- name: "Prepare environment"
run: |
sudo apt-get update -q -y
sudo apt-get --fix-broken install -q -y
sudo apt-get install -q -y devscripts equivs \
clang \
pylint \

View File

@@ -644,6 +644,9 @@ static BOOL sdl_pre_connect(freerdp* instance)
WLog_Print(sdl->log, WLOG_INFO, "Authentication only. Don't connect SDL.");
}
if (!sdl->input.initialize())
return FALSE;
/* TODO: Any code your client requires */
return TRUE;
}

View File

@@ -30,6 +30,8 @@
#include <freerdp/utils/string.h>
#include <freerdp/scancode.h>
#include <freerdp/locale/keyboard.h>
#include <freerdp/locale/locale.h>
#include <freerdp/log.h>
@@ -590,13 +592,6 @@ BOOL sdlInput::keyboard_handle_event(const SDL_KeyboardEvent* ev)
}
}
if (!_remapTable)
{
auto list =
freerdp_settings_get_string(_sdl->context()->settings, FreeRDP_KeyboardRemappingList);
_remapTable = freerdp_keyboard_remap_string_to_list(list);
assert(_remapTable);
}
auto scancode = freerdp_keyboard_remap_key(_remapTable, rdp_scancode);
return freerdp_input_send_keyboard_event_ex(
_sdl->context()->input, ev->type == SDL_EVENT_KEY_DOWN, ev->repeat, scancode);
@@ -652,3 +647,30 @@ sdlInput::~sdlInput()
{
freerdp_keyboard_remap_free(_remapTable);
}
BOOL sdlInput::initialize()
{
auto settings = _sdl->context()->settings;
WINPR_ASSERT(settings);
WINPR_ASSERT(!_remapTable);
{
auto list = freerdp_settings_get_string(settings, FreeRDP_KeyboardRemappingList);
_remapTable = freerdp_keyboard_remap_string_to_list(list);
if (!_remapTable)
return FALSE;
}
if (freerdp_settings_get_uint32(settings, FreeRDP_KeyboardLayout) == 0)
{
uint32_t KeyboardLayout = 0;
freerdp_detect_keyboard_layout_from_system_locale(&KeyboardLayout);
if (KeyboardLayout == 0)
KeyboardLayout = ENGLISH_UNITED_STATES;
if (!freerdp_settings_set_uint32(settings, FreeRDP_KeyboardLayout, KeyboardLayout))
return FALSE;
}
return TRUE;
}

View File

@@ -42,6 +42,8 @@ class sdlInput
sdlInput& operator=(const sdlInput& other) = delete;
sdlInput& operator=(sdlInput&& other) = delete;
BOOL initialize();
BOOL keyboard_sync_state();
BOOL keyboard_focus_in();