From nobody Tue Mar 10 14:59:27 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVcVD49qQz6Vn2J for ; Tue, 10 Mar 2026 14:59:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVcVD162pz3WGn for ; Tue, 10 Mar 2026 14:59:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773154772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CkIcIkIjmZS721MdYi9HwQ4wE/ZPllLqWGPLpw8sxWk=; b=po8hrvwHz/D6g6W409cgPbwz6HFL5cI2+WfESR5X6Vf5uQQjjkvrXcOx6RUW1OmuEipHdt Toh4jo+yrtQcm5D43+t5bW1c3os7ll5G3Bp+AzmTDzhSFVEiPpEHgyc5rsy//Vq8afxc+I XDn443TzSaxi5+b4nRzrFjRyP3hoO7AFMNnz2gN2seFlUzhvlxPoiS4iHEUP5HNUDCLOhG KwAE4KOUFoLSXhAVzvjn2lKvCBLT7+9wKGiZaiD32N/QtnKxu5WIe3ycEEzDnEZjLwyqg+ oCZTDBphliekDKUl+cbKBuF7kv9+syxXxUSBep9qb6pynbUXVWCCmOiIVXJK9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773154772; a=rsa-sha256; cv=none; b=DpngYkTrsjnMHuJOfZA63FdBPbkYR8kAMIxiin2GhLW7DocTZvdWcabFdI0Cxo8ajXvrcu DoloK6KsJolcbJEgq+/yIFG/UpGThkUJrzttOHFptUihcKbb9wsF/7NBpLkJ/AC7zeITMF icwjBKNkcl9oWhqUjvUVxvPas80ErW0eDFE8hhUGgC/Li5mqP/QkNNeXwomM/AJSa1+HMr soSS9r/ueew3FojSSGZAyl/ycKtQ6cisAVeDM8nIprhRz+3ELJ/tyF45Z4WrtJeArOx60m Ak7/DhKoPqCp05lLNpYmdo02a5ULltAiK9fH/5aOHGqI4ir6WpIIhi8PfnAmQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773154772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CkIcIkIjmZS721MdYi9HwQ4wE/ZPllLqWGPLpw8sxWk=; b=cK05th2spRhji0PRmWlBMuvvBeZ3DWnGoDl9ejA0lqnH2SX/RAK6t/aKQaheTk6635dzy0 BMR723ZoJv6myAddI+3Bqe33G+P1XNv3pUPBY0rrUxFHAneHEBt3s3t3roFUKpGoFPzv30 FbwFRgpvQGcaPmArLO7LKG87Mj5y+HSvmYfvzWBiUObn7aQRWKGWQimYyKEb4+PksPCYiy 48GAVfcfq8bEvIDJP+JjLTvVIxzCgHI58qOyg0j+Pp0cefKPeUx8+gzUwRskI/F0oB6BCE ouBDoi29Z8VxV55/D1ea0NP6WXm+MPsM8J/zZhFlaXeSw2rEM5rP0bkmamh7DQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVcVD0LBMz1x0 for ; Tue, 10 Mar 2026 14:59:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a2a6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 14:59:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Nathaniel Braun From: Ed Maste Subject: git: 1fd1b699bda2 - stable/14 - vt: Fix handling of backtab List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1fd1b699bda2ec32be3e0c7afa894c615113afc2 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 14:59:27 +0000 Message-Id: <69b031cf.3a2a6.19a9fc4f@gitrepo.freebsd.org> The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1fd1b699bda2ec32be3e0c7afa894c615113afc2 commit 1fd1b699bda2ec32be3e0c7afa894c615113afc2 Author: Nathaniel Braun AuthorDate: 2026-01-17 17:14:42 +0000 Commit: Ed Maste CommitDate: 2026-03-09 13:25:55 +0000 vt: Fix handling of backtab PR: 292463 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/2002 (cherry picked from commit 5fec99caff3ac4f476bb88078ebf85fbecf6afb3) (cherry picked from commit 3ca02a70f7f94f7479ffcd3ed7ca6d83ec58af10) --- sys/dev/vt/vt_core.c | 6 ++++++ sys/teken/teken.c | 4 ++++ sys/teken/teken.h | 2 ++ 3 files changed, 12 insertions(+) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 5cf45a7c61b2..9ca2a547b067 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -948,6 +948,9 @@ vt_processkey(keyboard_t *kbd, struct vt_device *vd, int c) VT_UNLOCK(vd); break; } + case BKEY | BTAB: /* Back tab (usually, shift+tab). */ + terminal_input_special(vw->vw_terminal, TKEY_BTAB); + break; case FKEY | F(1): case FKEY | F(2): case FKEY | F(3): case FKEY | F(4): case FKEY | F(5): case FKEY | F(6): case FKEY | F(7): case FKEY | F(8): case FKEY | F(9): @@ -1967,6 +1970,9 @@ vtterm_cngetc(struct terminal *tm) VTBUF_SLCK_DISABLE(&vw->vw_buf); } break; + case SPCLKEY | BTAB: /* Back tab (usually, shift+tab). */ + vw->vw_kbdsq = "\x1b[Z"; + break; /* XXX: KDB can handle history. */ case SPCLKEY | FKEY | F(50): /* Arrow up. */ vw->vw_kbdsq = "\x1b[A"; diff --git a/sys/teken/teken.c b/sys/teken/teken.c index b0161a2e3b20..a1522e00ecf7 100644 --- a/sys/teken/teken.c +++ b/sys/teken/teken.c @@ -703,6 +703,8 @@ static const char * const special_strings_cons25[] = { [TKEY_F7] = "\x1B[S", [TKEY_F8] = "\x1B[T", [TKEY_F9] = "\x1B[U", [TKEY_F10] = "\x1B[V", [TKEY_F11] = "\x1B[W", [TKEY_F12] = "\x1B[X", + + [TKEY_BTAB] = "\x1B[Z", }; static const char * const special_strings_ckeys[] = { @@ -726,6 +728,8 @@ static const char * const special_strings_normal[] = { [TKEY_F7] = "\x1B[18~", [TKEY_F8] = "\x1B[19~", [TKEY_F9] = "\x1B[20~", [TKEY_F10] = "\x1B[21~", [TKEY_F11] = "\x1B[23~", [TKEY_F12] = "\x1B[24~", + + [TKEY_BTAB] = "\x1B[Z", }; const char * diff --git a/sys/teken/teken.h b/sys/teken/teken.h index 38a85e80110e..c8c73db55f06 100644 --- a/sys/teken/teken.h +++ b/sys/teken/teken.h @@ -206,6 +206,8 @@ void teken_set_winsize_noreset(teken_t *, const teken_pos_t *); #define TKEY_F10 0x13 #define TKEY_F11 0x14 #define TKEY_F12 0x15 + +#define TKEY_BTAB 0x16 const char *teken_get_sequence(const teken_t *, unsigned int); /* Legacy features. */