qemu-cr16/ui
Roman Penyaev a97ef36244 ui/console-vc: implement DCH (delete) and ICH (insert) commands
This patch implements DCH (delete character) and ICH (insert
character) commands.

DCH - Delete Character:
   "As characters are deleted, the remaining characters between the
    cursor and right margin move to the left. Character attributes move
    with the characters. The terminal adds blank spaces with no visual
    character attributes at the right margin. DCH has no effect outside
    the scrolling margins" [1].

ICH - Insert Character:
   "The ICH sequence inserts Pn blank characters with the normal
    character attribute. The cursor remains at the beginning of the
    blank characters. Text between the cursor and right margin moves to
    the right. Characters scrolled past the right margin are lost. ICH
    has no effect outside the scrolling margins" [2].

Without these commands console is barely usable.

[1] https://vt100.net/docs/vt510-rm/DCH.html
[1] https://vt100.net/docs/vt510-rm/ICH.html

Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20250226075913.353676-6-r.peniaev@gmail.com>
2025-03-05 09:34:14 +04:00
..
icons
shader meson: do not build shaders by default 2023-10-17 15:20:53 +02:00
clipboard.c ui/vdagent: notify clipboard peers of serial reset 2024-07-22 12:47:28 +04:00
cocoa.m ui & main loop: Redesign of system-specific main thread event handling 2024-12-31 21:21:34 +01:00
console-gl.c ui/console: remove redundant format field 2023-09-12 10:37:02 +04:00
console-priv.h ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
console-vc-stubs.c ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
console-vc.c ui/console-vc: implement DCH (delete) and ICH (insert) commands 2025-03-05 09:34:14 +04:00
console.c overall: Remove unnecessary g_strdup_printf() calls 2025-02-14 08:49:06 +03:00
curses.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
curses_keys.h For curses display, recognize a few more control keys 2023-07-25 10:56:51 +01:00
cursor.c ui/cursor: remove cursor_get_mono_image 2024-10-03 17:26:06 +03:00
cursor_hidden.xpm
cursor_left_ptr.xpm
dbus-chardev.c qom: Use object_get_container() 2025-01-09 18:16:24 +01:00
dbus-clipboard.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dbus-console.c ui/dbus: on win32, allow ANONYMOUS with p2p 2025-02-03 21:15:57 +04:00
dbus-display1.xml dbus: add -audio dbus nsamples option 2025-02-03 21:16:07 +04:00
dbus-error.c
dbus-listener.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dbus-module.c
dbus.c ui/dbus: on win32, allow ANONYMOUS with p2p 2025-02-03 21:15:57 +04:00
dbus.h ui/dbus: win32 support 2023-06-27 17:08:56 +02:00
dmabuf.c ui/console: move QemuDmaBuf struct def to dmabuf.c 2024-05-14 17:14:12 +04:00
egl-context.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
egl-headless.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
egl-helpers.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
gtk-clipboard.c
gtk-egl.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
gtk-gl-area.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
gtk.c overall: Remove unnecessary g_strdup_printf() calls 2025-02-14 08:49:06 +03:00
input-barrier.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
input-barrier.h
input-keymap.c
input-legacy.c ui/input-legacy.c: remove unused legacy qemu_add_kbd_event_handler() function 2024-11-08 11:06:42 +01:00
input-linux.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
input.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
kbd-state.c ui/vnc: Do not use console_select() 2024-03-20 10:27:54 +04:00
keymaps.c
keymaps.h ui: spelling fixes 2023-08-31 19:47:43 +02:00
meson.build ui/sdl2: reenable the SDL2 Windows keyboard hook procedure 2025-02-13 13:50:45 +01:00
qemu-pixman.c ui: refactor using a common qemu_pixman_shareable 2024-10-14 17:34:09 +04:00
qemu-x509.h
qemu.desktop
sdl2-2d.c ui+display: rename is_placeholder() -> surface_is_placeholder() 2024-06-19 12:42:03 +02:00
sdl2-gl.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
sdl2-input.c ui/sdl2: release all modifiers 2024-09-13 20:12:16 +02:00
sdl2.c ui/sdl2: reenable the SDL2 Windows keyboard hook procedure 2025-02-13 13:50:45 +01:00
shader.c
spice-app.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
spice-core.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
spice-display.c ui/console: Convert mouse visibility parameter into bool 2024-07-16 20:04:08 +02:00
spice-input.c input: Allow to choose console with qemu_input_is_absolute 2023-10-03 15:04:56 +04:00
spice-module.c
trace-events ui/dbus: add trace for can_share_map 2024-10-14 17:34:09 +04:00
trace.h
udmabuf.c Do not include "qemu/error-report.h" in headers that do not need it 2023-02-14 09:11:27 +01:00
ui-hmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
ui-qmp-cmds.c ui/qmp-cmds: Improve two error messages 2023-11-17 10:07:52 +01:00
util.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
vdagent.c ui/vdagent: send caps on fe_open 2024-07-22 12:47:28 +04:00
vgafont.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc-auth-sasl.c ui: validate NUL byte padding in SASL client data more strictly 2024-10-22 13:02:31 +01:00
vnc-auth-sasl.h
vnc-auth-vencrypt.c
vnc-auth-vencrypt.h
vnc-clipboard.c ui/vnc-clipboard: fix inflate_buffer 2023-12-04 11:28:26 +04:00
vnc-enc-hextile-template.h ui/vnc-enc-hextile: Use static rather than dynamic length stack array 2023-09-04 14:57:44 +04:00
vnc-enc-hextile.c Drop useless casts from g_malloc() & friends to pointer 2022-10-22 23:15:40 +02:00
vnc-enc-tight.c ui/vnc-enc-tight: Avoid dynamic stack allocation 2023-09-04 14:57:44 +04:00
vnc-enc-tight.h
vnc-enc-zlib.c
vnc-enc-zrle.c
vnc-enc-zrle.c.inc ui: Clean up local variable shadowing 2023-09-29 08:13:57 +02:00
vnc-enc-zrle.h
vnc-enc-zywrle-template.c ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc-enc-zywrle.h ui: spelling fixes 2023-08-31 19:47:43 +02:00
vnc-jobs.c vnc: move assert in vnc_worker_thread_loop 2023-06-10 00:00:24 +03:00
vnc-jobs.h
vnc-palette.c ui: Clean up local variable shadowing 2023-09-29 08:13:57 +02:00
vnc-palette.h
vnc-stubs.c qemu-options: define -vnc only #ifdef CONFIG_VNC 2023-11-07 14:04:25 +04:00
vnc-ws.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
vnc-ws.h
vnc.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
vnc.h ui/vnc: fix skipping SASL SSF on UNIX sockets 2024-10-22 11:44:23 +01:00
vnc_keysym.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
win32-kbd-hook.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
x_keymap.c
x_keymap.h