Nexoniarz
65906639da
tty: AltGr+F1..F6 by default, and AltGr+-/+ to step
...
The sweet spot was available the whole time and I ruled it out by writing
"AltGr+anything" when the true statement is "AltGr+*letter*".
A Polish layout wants AltGr with a letter -- ą ć ę ł ń ó ś ź ż. AltGr with a
function key produces nothing on any layout, no window manager binds it, and
no application asks for it. It is the one combination the host, applications
and the keyboard layout all leave alone, and the previous three commits talked
themselves out of it on a technicality that was mine, not the hardware's.
Verified rather than argued, with QEMU sendkey and screendump hashes:
AltGr+F2 -> tty2
AltGr+F1 -> back, pixel-identical to the start
AltGr+a -> reaches zsh, so ą still types
That distinction is only expressible because Right Alt became its own modifier
bit two commits ago. Sharing ALT is harmless for typing -- neither is used to
look up a character -- and made this impossible to say.
Also added, since it was asked for in the same breath: minus and equals step
to the previous and next terminal, on whatever the chord's modifiers are. They
skip terminals that are not in use -- the same `opened` count VT_GETSTATE
reports -- because six terminals with two shells on them means four blank
screens in between, and cycling past those is worse than not having the key.
AltGr+= -> tty2, again -> wraps to tty1 (only two in use)
AltGr+- -> tty2
chvt -c still moves all of it, and `chvt` reports both halves.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VQ7Qx8E1q1M1bbCq8QLHS2
2026-09-13 13:22:01 +02:00
..
asm.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
buf.h
Raise the disk ceiling: 64-bit blocks, no FSSIZE panic, LBA48
2026-08-10 18:50:31 +02:00
config_sinit.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
date.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
defs.h
tty: the switch chord is a setting, because only the host knows the answer
2026-09-13 13:13:38 +02:00
device.h
docs: four directories, and a rule for when a thing leaves the roadmap
2026-09-12 17:13:35 +02:00
display.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
dma.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
elf.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
errno.h
schfs: a format version policy, and refusing is not falling back
2026-09-12 17:13:59 +02:00
fb.h
Rename Schunix to SchOS; the kernel becomes SchIFT
2026-08-09 14:09:59 +02:00
fcntl.h
Rename Schunix to SchOS; the kernel becomes SchIFT
2026-08-09 14:09:59 +02:00
file.h
fs: devtmpfs, so /dev is generated rather than written to a disk
2026-09-12 20:18:30 +02:00
font.h
Rename Schunix to SchOS; the kernel becomes SchIFT
2026-08-09 14:09:59 +02:00
fs.h
init survives stray signals; commands are 4-34x faster
2026-08-09 15:54:05 +02:00
fsstat.h
fs: timestamps come from the clock, and /proc/fsstat says how full the tables are
2026-09-12 17:14:14 +02:00
gfx.h
tty: six virtual terminals, and the plumbing that makes them terminals
2026-09-13 00:08:00 +02:00
input.h
usb-hid: bind an absolute pointer, and plumb EV_ABS through
2026-08-10 18:27:01 +02:00
irq.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
kbd.h
tty: AltGr+F1..F6 by default, and AltGr+-/+ to step
2026-09-13 13:22:01 +02:00
logo.h
docs: a branding folder, and the three marks are not interchangeable
2026-09-12 18:19:09 +02:00
memlayout.h
Free every usable memory region, not one contiguous run
2026-08-09 20:03:51 +02:00
mmu.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
mp.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
netdev.h
net: a frame wakes the stack, instead of waiting for the clock
2026-09-12 17:23:46 +02:00
param.h
kernel: processes have an environment now, and zsh is the shell
2026-09-12 23:26:50 +02:00
pci.h
net: a network *class*, so the stack stops knowing what an e1000 is
2026-08-15 16:42:34 +02:00
posix.h
tty: the switch chord is a setting, because only the host knows the answer
2026-09-13 13:13:38 +02:00
proc.h
tty: six virtual terminals, and the plumbing that makes them terminals
2026-09-13 00:08:00 +02:00
qr.h
docs: four directories, and a rule for when a thing leaves the roadmap
2026-09-12 17:13:35 +02:00
schboot.h
boot/uefi: the memory map the kernel gets is the one the firmware agreed to
2026-08-11 11:42:22 +02:00
schfs.h
schfs: records at arbitrary offsets are packed, and the compiler is told
2026-09-12 17:56:36 +02:00
sleeplock.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
socket.h
net: AF_NETLINK, so getifaddrs() works for everything and not just one program
2026-09-12 19:23:34 +02:00
spinlock.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
stat.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
syscall.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
text.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
theme.h
gfx: the console and the crash screen stop drawing on a driver by name
2026-08-15 17:04:10 +02:00
traps.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
ttf.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
types.h
Initial commit: Schunix as it stands before the SchOS rename
2026-08-09 13:47:01 +02:00
uaccess.h
Rename Schunix to SchOS; the kernel becomes SchIFT
2026-08-09 14:09:59 +02:00
usb.h
usb-hid: bind an absolute pointer, and plumb EV_ABS through
2026-08-10 18:27:01 +02:00
user.h
kernel: processes have an environment now, and zsh is the shell
2026-09-12 23:26:50 +02:00
vt.h
tty: AltGr+F1..F6 by default, and AltGr+-/+ to step
2026-09-13 13:22:01 +02:00
x86.h
schfs: the commit barrier, reflink, and attributes with an index over them
2026-08-15 16:02:02 +02:00