diff options
| author | user <user@clank> | 2026-07-16 16:30:33 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-07-16 16:30:33 +0200 |
| commit | fe51f65be393161da81d6db6144418c97a8e0fe7 (patch) | |
| tree | d80b52641b954a42ae532057727d9df27ba9b17a /Makefile | |
| parent | osk: bind START to Enter (CR) (diff) | |
| download | gbos-fe51f65be393161da81d6db6144418c97a8e0fe7.tar.gz gbos-fe51f65be393161da81d6db6144418c97a8e0fe7.tar.xz gbos-fe51f65be393161da81d6db6144418c97a8e0fe7.zip | |
term/osk: scroll region so the OSK never hides the input line
The terminal now has a variable usable height (wTermRows). term_scroll and
cursor_down operate within [0 .. wTermRows-1], and term_set_rows(n) shrinks
or grows that region, scrolling the cursor up into view when it would fall
outside. osk_toggle shrinks the terminal to the rows above the keyboard on
show (18 - OSK_ROWS = 15) and restores full height on hide, so the active
line is always visible just above the docked keyboard, and hiding the OSK
reclaims all 18 rows.
Also add c/count.c ("count [n]", default 25): prints n numbered lines to
observe/debug scrolling and the scroll-region behavior. Registered as
program id 21 / bank 23. Fixed the arg to read argv[0] (getargs returns the
string after the command name).
Verified: filling the screen then opening the OSK scrolls the latest line
to row 14 (visible) with the keyboard at 15-17; closing it restores rows
15-17; count N prints exactly N lines.
Diffstat (limited to '')
| -rw-r--r-- | Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -20,7 +20,7 @@ $(BUILD)/%.o: src/%.asm | $(BUILD) # C programs: compiled with SDCC into ROM-bank blobs and INCBIN'd by programs.asm CBLOBS := c/chello.bin c/echo.bin c/true.bin c/false.bin c/uname.bin \ c/pid.bin c/cat.bin c/wc.bin c/head.bin c/args.bin \ - c/ls.bin c/save.bin c/rm.bin c/sh.bin c/ps.bin c/kill.bin c/spin.bin c/blk.bin c/mkdir.bin + c/ls.bin c/save.bin c/rm.bin c/sh.bin c/ps.bin c/kill.bin c/spin.bin c/blk.bin c/mkdir.bin c/count.bin $(BUILD)/programs.o: $(CBLOBS) # C programs also depend on the shared libc sources |
