Skip to content

Commit 2f7e5a5

Browse files
asliturkawesomekling
authored andcommitted
WindowServer: Replace character with code point
Replace u8 data type width u32. Remove character property from event and add code_point property for represent UTF-8 character.
1 parent 25e1491 commit 2f7e5a5

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

Services/WindowServer/Event.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ enum class MouseButton : u8 {
7676

7777
class KeyEvent final : public Event {
7878
public:
79-
KeyEvent(Type type, int key, char character, u8 modifiers, u32 scancode)
79+
KeyEvent(Type type, int key, u32 code_point, u8 modifiers, u32 scancode)
8080
: Event(type)
8181
, m_key(key)
82-
, m_character(character)
82+
, m_code_point(code_point)
8383
, m_modifiers(modifiers)
8484
, m_scancode(scancode)
8585
{
@@ -91,14 +91,14 @@ class KeyEvent final : public Event {
9191
bool shift() const { return m_modifiers & Mod_Shift; }
9292
bool logo() const { return m_modifiers & Mod_Logo; }
9393
u8 modifiers() const { return m_modifiers; }
94-
char character() const { return m_character; }
94+
u32 code_point() const { return m_code_point; }
9595
u32 scancode() const { return m_scancode; }
9696

9797
private:
9898
friend class EventLoop;
9999
friend class Screen;
100100
int m_key { 0 };
101-
char m_character { 0 };
101+
u32 m_code_point { 0 };
102102
u8 m_modifiers { 0 };
103103
u32 m_scancode { 0 };
104104
};

Services/WindowServer/MenuManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ void MenuManager::event(Core::Event& event)
146146
if (m_current_menu && event.type() == Event::KeyDown
147147
&& ((key_event.key() >= Key_A && key_event.key() <= Key_Z)
148148
|| (key_event.key() >= Key_0 && key_event.key() <= Key_9))) {
149-
m_current_search.append(key_event.character());
149+
m_current_search.append_codepoint(key_event.code_point());
150150
m_search_timer->restart(s_search_timeout);
151151
for (int i = 0; i < m_current_menu->item_count(); ++i) {
152152
auto text = m_current_menu->item(i).text();

Services/WindowServer/Screen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ void Screen::on_receive_mouse_data(const MousePacket& packet)
164164
void Screen::on_receive_keyboard_data(::KeyEvent kernel_event)
165165
{
166166
m_modifiers = kernel_event.modifiers();
167-
auto message = make<KeyEvent>(kernel_event.is_press() ? Event::KeyDown : Event::KeyUp, kernel_event.key, kernel_event.character, kernel_event.modifiers(), kernel_event.scancode);
167+
auto message = make<KeyEvent>(kernel_event.is_press() ? Event::KeyDown : Event::KeyUp, kernel_event.key, kernel_event.code_point, kernel_event.modifiers(), kernel_event.scancode);
168168
Core::EventLoop::current().post_event(WindowManager::the(), move(message));
169169
}
170170

Services/WindowServer/Window.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,15 +302,15 @@ void Window::event(Core::Event& event)
302302
case Event::KeyDown:
303303
m_client->post_message(
304304
Messages::WindowClient::KeyDown(m_window_id,
305-
(u8) static_cast<const KeyEvent&>(event).character(),
305+
(u32) static_cast<const KeyEvent&>(event).code_point(),
306306
(u32) static_cast<const KeyEvent&>(event).key(),
307307
static_cast<const KeyEvent&>(event).modifiers(),
308308
(u32) static_cast<const KeyEvent&>(event).scancode()));
309309
break;
310310
case Event::KeyUp:
311311
m_client->post_message(
312312
Messages::WindowClient::KeyUp(m_window_id,
313-
(u8) static_cast<const KeyEvent&>(event).character(),
313+
(u32) static_cast<const KeyEvent&>(event).code_point(),
314314
(u32) static_cast<const KeyEvent&>(event).key(),
315315
static_cast<const KeyEvent&>(event).modifiers(),
316316
(u32) static_cast<const KeyEvent&>(event).scancode()));

Services/WindowServer/WindowClient.ipc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ endpoint WindowClient = 4
88
MouseWheel(i32 window_id, Gfx::IntPoint mouse_position, u32 button, u32 buttons, u32 modifiers, i32 wheel_delta) =|
99
WindowEntered(i32 window_id) =|
1010
WindowLeft(i32 window_id) =|
11-
KeyDown(i32 window_id, u8 character, u32 key, u32 modifiers, u32 scancode) =|
12-
KeyUp(i32 window_id, u8 character, u32 key, u32 modifiers, u32 scancode) =|
11+
KeyDown(i32 window_id, u32 code_point, u32 key, u32 modifiers, u32 scancode) =|
12+
KeyUp(i32 window_id, u32 code_point, u32 key, u32 modifiers, u32 scancode) =|
1313
WindowActivated(i32 window_id) =|
1414
WindowDeactivated(i32 window_id) =|
1515
WindowStateChanged(i32 window_id, bool minimized, bool occluded) =|

0 commit comments

Comments
 (0)