1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:57:44 +00:00

LibC+LibKeyboard: Move getkeymap()+setkeymap() syscall wrappers to LibC

This commit is contained in:
Andreas Kling 2021-02-03 23:15:13 +01:00
parent a59b1825ce
commit d32ed28df4
3 changed files with 30 additions and 12 deletions

View file

@ -129,4 +129,24 @@ int serenity_readlink(const char* path, size_t path_length, char* buffer, size_t
int rc = syscall(SC_readlink, &small_params);
__RETURN_WITH_ERRNO(rc, rc, -1);
}
int setkeymap(const char* name, const u32* map, u32* const shift_map, const u32* alt_map, const u32* altgr_map, const u32* shift_altgr_map)
{
Syscall::SC_setkeymap_params params { map, shift_map, alt_map, altgr_map, shift_altgr_map, { name, strlen(name) } };
return syscall(SC_setkeymap, &params);
}
int getkeymap(char* name_buffer, size_t name_buffer_size, u32* map, u32* shift_map, u32* alt_map, u32* altgr_map, u32* shift_altgr_map)
{
Syscall::SC_getkeymap_params params {
map,
shift_map,
alt_map,
altgr_map,
shift_altgr_map,
{ name_buffer, name_buffer_size }
};
int rc = syscall(SC_getkeymap, &params);
__RETURN_WITH_ERRNO(rc, rc, -1);
}
}