pull/34814/head
Cameron Clough 4 months ago
parent f17ed2b571
commit 6ed6ac15f6
  1. 10
      system/ui/widgets/keyboard.py

@ -46,12 +46,12 @@ class Keyboard:
self._layout = keyboard_layouts["lowercase"]
self._max_text_size = max_text_size
self._string_pointer = rl.ffi.new("char[]", max_text_size)
self._input_text: str = ''
self._input_text = ""
self._clear()
@property
def text(self):
result = rl.ffi.string(self._string_pointer).decode('utf-8')
result = rl.ffi.string(self._string_pointer).decode("utf-8")
self._clear()
return result
@ -65,7 +65,7 @@ class Keyboard:
# Text box for input
self._sync_string_pointer()
rl.gui_text_box(rl.Rectangle(rect.x, rect.y + 160, rect.width, 100), self._string_pointer, self._max_text_size, True)
self._input_text = rl.ffi.string(self._string_pointer).decode('utf-8')
self._input_text = rl.ffi.string(self._string_pointer).decode("utf-8")
h_space, v_space = 15, 15
row_y_start = rect.y + 300 # Starting Y position for the first row
key_height = (rect.height - 300 - 3 * v_space) / 4
@ -112,7 +112,7 @@ class Keyboard:
def _sync_string_pointer(self):
"""Sync the C-string pointer with the internal Python string."""
encoded = self._input_text.encode("utf-8")[:self._max_text_size - 1] # Leave room for null terminator
encoded = self._input_text.encode("utf-8")[:self._max_text_size - 1] # Leave room for the null terminator
buffer = rl.ffi.buffer(self._string_pointer)
buffer[:len(encoded)] = encoded
self._string_pointer[len(encoded)] = b'\0' # Null terminate
self._string_pointer[len(encoded)] = b'\0' # Null terminator

Loading…
Cancel
Save