Hi, I've made several fixes in terminfo:
*1) Abandon ancient vt100+keypad mapping for "cross" keypad keys, unify vt100+keypad and vt220+keypad, and include extended caps for them* This addresses the issue I described in e-mail from 2025-08-28. Currently, the only correct way to use terminfo is to enable any available application modes (e.g. keypad, cursor) using smkx and rmkx. But the application must then handle all raw keypad keys. However, there are multiple caps predefined for many keypad keys, for example: 1/End | kc1, ka1, kp1 2/Down | kc2, kb2, kp2 3/PgDn | kc3, ka3, kp3 4/Left | kb1, kf5, kp4 5 | kb2, kf6, kp5 6/Right | kb3, kf7, kp6 7/Home | ka1, kf9, kp7 8/Up | ka2, kf10, kp8 9/PgUp | ka3, kf0, kp9 0/Ins | kc1, kpZRO ./Del | kc3, kpDEL These caps are ambiguous across definitions of many terminals. Even worse, these caps overlap on multiple physical keys, making it impossible for applications to reliably detect which key was pressed. This change addresses the problem by unifying the caps (to ka1, ka2, ka3, kb1, kb2, kb3, kc1, kc2, kc3, kpXXX). *2) Correct xterm+keypad keys when in normal (non-sunKeyboard) mode* The current xterm terminfo includes key definitions that xterm only produces when sunKeyboard=true (-ft vt200), so they were moved to xterm-vt220. *3) Add kbeg, kp5 to xterm+noapp* Added support for the numpad 5 key to xterm-noapp, which differs from both xterm and xterm-vt220 modes. *4) Add Keypad & Cursor Application Mode to linux* Added support for both modes to linux terminfo definition. *5) Base putty+keypad on vt100/vt220* PuTTY's keypad emulates VT100/220 in default mode. Used these building blocks to unify caps as described above. Current kp1-9 caps, which are private to PuTTY, moved to putty+keypad+kp. *6) Add putty-direct* Added putty-direct entry, as PuTTY supports direct colors (SGR 38:2 and 48:2). @Thomas Dickey, please let me know if you find any errors or incompatibilities, I'll adjust the patch accordingly. Thanks, Jakub
ncurses-terminfo-jho1.patch
Description: Binary data
