From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E03014204E for ; Mon, 23 Feb 2026 09:10:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771837849; cv=none; b=Q4L1Ozsnc8v0RD2SRT1997ahGsxDON4xiMYPOJvXfTR/4uopAO+LzcJ4pQKq6C02GEJmDo9P1iie1ZiE40p2jIuOtm/rIUqOoB9E8OCmxAPs0kCb2hXSD+iSsGGK+Zi9+unuBH5JRAN/T3RZ7DCVynMsI+0Ej7oIORU9jV06OYY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771837849; c=relaxed/simple; bh=jtiUSW8vP3j8xu9J+KMm4ZKt8tzU0RVlO8uSUZYLQgs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=efmCnjRHax7wqsDLqDITwkYsZH8Q7DZZ5pC+oR2wpgAXGwX8ba/ZH5/axnwVLz/JS2YzV1CjmK5GcYYqMcKFZT+pTok4Nt+qmL9q7sblUPmc2bdpWTvJB+28vGdEiL8UKdpKyPm+hUoPYGNL4YiDDmVenebIIemBJ8JXTAr2368= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r+Khy/Yq; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="r+Khy/Yq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D92FC116C6; Mon, 23 Feb 2026 09:10:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771837848; bh=jtiUSW8vP3j8xu9J+KMm4ZKt8tzU0RVlO8uSUZYLQgs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=r+Khy/YqNcJgKkBTBPLpzq4aktRa0cKSExmhfv+Z4c43WtjvcnzUdsFK7R7EmgZ0A sBp/cmHheJcwevdFke+/5YJpJ6K11CD0L+YXfz/cDlObWJPWGaFFep6XDd91MXHjwl 2QjC/nQtiyB4LQ+xxWAQ6MGvZxMbYQ0AOeP1uo6P+b5A2M0H7nmcOWeOZ2DRF3JkaX 8ajR7ONywnZuSWV7q0mPzH2rlfStkpydsB7glHdO2n8xBV8YQUxpFJxogoFRHCttL6 TSAcukn88o9amEVUpaMqsumWG1u1RG9lBL+io0RsGmXDvMHF2H5OFCMD8GqljY4U3z UXH3jzheGaLPA== Date: Mon, 23 Feb 2026 10:10:43 +0100 From: Alexey Gladkov To: Nicolas Pitre Cc: kbd@lists.linux.dev Subject: Re: [PATCH v3] Add Backtab keysym and update keymaps to use it for Shift+Tab Message-ID: References: <33ro63rs-47r6-166q-8966-40r1or94484s@syhkavp.arg> Precedence: bulk X-Mailing-List: kbd@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <33ro63rs-47r6-166q-8966-40r1or94484s@syhkavp.arg> On Fri, Feb 20, 2026 at 05:07:56PM -0500, Nicolas Pitre wrote: > Add a new Backtab keysym (KT_FN index 30) that produces the standard > backtab escape sequence \e[Z. This replaces F246 which was unused. > > Update all keymaps to use Backtab for Shift+Tab instead of Meta_Tab. > In most cases the Meta_Tab binding already existed for Alt+Tab; where > it was missing, it has been added. > > This change affects keymaps across all architectures: i386, amiga, > atari, mac, sun, and pine. > > Signed-off-by: Nicolas Pitre Applied. Thanks! Plus, I added the alias F246 for Backtab. > --- > >From v2: > > Moved Backtab to index 255 — the last slot in the KT_FN table, which has > no kernel UAPI name (the kernel only goes up to K_F245 = K(KT_FN, 254)). > > diff --git a/data/keymaps/amiga/amiga-de.map b/data/keymaps/amiga/amiga-de.map > index d9b62e0..f1b18a4 100644 > --- a/data/keymaps/amiga/amiga-de.map > +++ b/data/keymaps/amiga/amiga-de.map > @@ -212,7 +212,7 @@ keycode 64 = space space > control keycode 64 = nul > alt keycode 64 = Meta_space > keycode 65 = BackSpace > -keycode 66 = Tab Meta_Tab > +keycode 66 = Tab Backtab > alt keycode 66 = Meta_Tab > keycode 67 = Return > keycode 68 = Return > diff --git a/data/keymaps/amiga/amiga-us.map b/data/keymaps/amiga/amiga-us.map > index 8fb5da4..ac0c5d2 100644 > --- a/data/keymaps/amiga/amiga-us.map > +++ b/data/keymaps/amiga/amiga-us.map > @@ -159,7 +159,7 @@ keycode 64 = space space > control keycode 64 = nul > alt keycode 64 = Meta_space > keycode 65 = Delete Delete Delete Delete Delete Meta_Delete Delete > -keycode 66 = Tab Meta_Tab > +keycode 66 = Tab Backtab > alt keycode 66 = Meta_Tab > keycode 67 = KP_Enter > keycode 68 = Return > diff --git a/data/keymaps/atari/atari-se.map b/data/keymaps/atari/atari-se.map > index 110a7fe..345d5bf 100644 > --- a/data/keymaps/atari/atari-se.map > +++ b/data/keymaps/atari/atari-se.map > @@ -67,7 +67,7 @@ keycode 13 = eacute Eacute > alt keycode 13 = Meta_equal > shift alt keycode 13 = Meta_plus > keycode 14 = Delete Delete Delete Delete Delete Delete Delete Delete Meta_Delete Meta_Delete Delete Delete Meta_Delete Meta_Delete Delete Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > shift alt keycode 15 = Meta_Tab > keycode 16 = +q +Q > diff --git a/data/keymaps/atari/atari-uk-falcon.map b/data/keymaps/atari/atari-uk-falcon.map > index 8d1242e..cecc97e 100644 > --- a/data/keymaps/atari/atari-uk-falcon.map > +++ b/data/keymaps/atari/atari-uk-falcon.map > @@ -60,7 +60,7 @@ keycode 13 = equal plus > alt keycode 13 = Meta_equal > shift alt keycode 13 = Meta_plus > keycode 14 = BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace BackSpace BackSpace > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > shift alt keycode 15 = Meta_Tab > keycode 16 = +q +Q > diff --git a/data/keymaps/atari/atari-us.map b/data/keymaps/atari/atari-us.map > index aea6a2b..a725c12 100644 > --- a/data/keymaps/atari/atari-us.map > +++ b/data/keymaps/atari/atari-us.map > @@ -60,7 +60,7 @@ keycode 14 = BackSpace BackSpace > shift alt keycode 14 = Meta_BackSpace > control alt keycode 14 = Meta_BackSpace > shift control alt keycode 14 = Meta_BackSpace > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > shift alt keycode 15 = Meta_Tab > keycode 16 = +q +Q +q Control_q > diff --git a/data/keymaps/i386/azerty/azerty.map b/data/keymaps/i386/azerty/azerty.map > index f38fa62..91fcd1b 100644 > --- a/data/keymaps/i386/azerty/azerty.map > +++ b/data/keymaps/i386/azerty/azerty.map > @@ -32,7 +32,8 @@ keycode 13 = minus underscore backslash > control keycode 13 = Control_underscore > control shift keycode 13 = Control_underscore > keycode 14 = Delete Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = dead_circumflex dead_diaeresis bracketleft > control keycode 26 = Escape > alt keycode 26 = bracketleft > diff --git a/data/keymaps/i386/azerty/be-latin1.map b/data/keymaps/i386/azerty/be-latin1.map > index b573944..aad78b5 100644 > --- a/data/keymaps/i386/azerty/be-latin1.map > +++ b/data/keymaps/i386/azerty/be-latin1.map > @@ -39,7 +39,8 @@ keycode 12 = parenright degree > keycode 13 = minus underscore > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = dead_circumflex dead_diaeresis bracketleft > control keycode 26 = Escape > alt keycode 26 = Meta_bracketleft > diff --git a/data/keymaps/i386/azerty/fr-latin1.map b/data/keymaps/i386/azerty/fr-latin1.map > index d9cbbdb..48ec303 100644 > --- a/data/keymaps/i386/azerty/fr-latin1.map > +++ b/data/keymaps/i386/azerty/fr-latin1.map > @@ -39,7 +39,7 @@ keycode 13 = equal plus braceright > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = dead_circumflex dead_diaeresis > control keycode 26 = Escape > diff --git a/data/keymaps/i386/azerty/fr-latin9.map b/data/keymaps/i386/azerty/fr-latin9.map > index 4d0309d..06f3ecc 100644 > --- a/data/keymaps/i386/azerty/fr-latin9.map > +++ b/data/keymaps/i386/azerty/fr-latin9.map > @@ -169,7 +169,7 @@ keycode 14 = Delete BackSpace > altgr control keycode 14 = KeyboardSignal > > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > control keycode 15 = Meta_Tab > alt keycode 15 = Last_Console > > diff --git a/data/keymaps/i386/azerty/fr-pc.map b/data/keymaps/i386/azerty/fr-pc.map > index 365699c..ccaf15a 100644 > --- a/data/keymaps/i386/azerty/fr-pc.map > +++ b/data/keymaps/i386/azerty/fr-pc.map > @@ -44,7 +44,7 @@ keycode 13 = equal plus braceright > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = dead_circumflex dead_diaeresis > control keycode 26 = Escape > diff --git a/data/keymaps/i386/azerty/fr.map b/data/keymaps/i386/azerty/fr.map > index 209d6b3..5b636fe 100644 > --- a/data/keymaps/i386/azerty/fr.map > +++ b/data/keymaps/i386/azerty/fr.map > @@ -39,7 +39,7 @@ keycode 13 = equal plus braceright > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = asciicircum less > control keycode 26 = Escape > diff --git a/data/keymaps/i386/azerty/wangbe2.map b/data/keymaps/i386/azerty/wangbe2.map > index 2562c36..6e398ca 100644 > --- a/data/keymaps/i386/azerty/wangbe2.map > +++ b/data/keymaps/i386/azerty/wangbe2.map > @@ -81,7 +81,7 @@ keycode 13 = minus underscore backslash \ > Meta_minus Meta_underscore Meta_backslash > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = dead_circumflex dead_diaeresis bracketleft Escape > Control AltGr keycode 26 = Escape > diff --git a/data/keymaps/i386/carpalx/carpalx.map b/data/keymaps/i386/carpalx/carpalx.map > index 9f502c0..1dd9a69 100644 > --- a/data/keymaps/i386/carpalx/carpalx.map > +++ b/data/keymaps/i386/carpalx/carpalx.map > @@ -24,7 +24,8 @@ keycode 12 = minus underscore backslash Control_undersc > keycode 13 = equal plus > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = g > keycode 18 = m > diff --git a/data/keymaps/i386/dvorak/dvorak-la.map b/data/keymaps/i386/dvorak/dvorak-la.map > index ec23b5a..91f3910 100644 > --- a/data/keymaps/i386/dvorak/dvorak-la.map > +++ b/data/keymaps/i386/dvorak/dvorak-la.map > @@ -28,7 +28,8 @@ keycode 14 = Delete > > > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = period colon > keycode 17 = comma semicolon > keycode 18 = +ntilde +Ntilde > diff --git a/data/keymaps/i386/dvorak/dvorak-no.map b/data/keymaps/i386/dvorak/dvorak-no.map > index ff11870..107e4da 100644 > --- a/data/keymaps/i386/dvorak/dvorak-no.map > +++ b/data/keymaps/i386/dvorak/dvorak-no.map > @@ -54,7 +54,8 @@ strings as usual > keycode 14 = Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = +aring +Aring > keycode 17 = comma semicolon > keycode 18 = period colon > diff --git a/data/keymaps/i386/dvorak/dvorak-ru.map b/data/keymaps/i386/dvorak/dvorak-ru.map > index 17cdf6a..8693f50 100644 > --- a/data/keymaps/i386/dvorak/dvorak-ru.map > +++ b/data/keymaps/i386/dvorak/dvorak-ru.map > @@ -67,7 +67,8 @@ keycode 13 = bracketright braceright equal plus > # altgr control keycode 13 = Control_plus > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > altgr shift keycode 15 = Meta_Tab > keycode 16 = apostrophe quotedbl > control keycode 16 = Control_g > diff --git a/data/keymaps/i386/dvorak/dvorak-uk.map b/data/keymaps/i386/dvorak/dvorak-uk.map > index e4ff189..ed262ee 100644 > --- a/data/keymaps/i386/dvorak/dvorak-uk.map > +++ b/data/keymaps/i386/dvorak/dvorak-uk.map > @@ -26,7 +26,8 @@ keycode 13 = bracketright braceright asciitilde Control_bracketr > keycode 14 = Delete > control keycode 14 = Control_underscore > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = apostrophe at > control keycode 16 = Control_g > shift control keycode 16 = nul > diff --git a/data/keymaps/i386/dvorak/dvorak-ukp.map b/data/keymaps/i386/dvorak/dvorak-ukp.map > index d29fb3e..147f889 100644 > --- a/data/keymaps/i386/dvorak/dvorak-ukp.map > +++ b/data/keymaps/i386/dvorak/dvorak-ukp.map > @@ -26,7 +26,8 @@ keycode 13 = equal plus > keycode 14 = Delete > control keycode 14 = Control_underscore > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = slash question > control keycode 16 = Delete > keycode 17 = comma less > diff --git a/data/keymaps/i386/dvorak/dvorak.map b/data/keymaps/i386/dvorak/dvorak.map > index 396db6d..22d31f8 100644 > --- a/data/keymaps/i386/dvorak/dvorak.map > +++ b/data/keymaps/i386/dvorak/dvorak.map > @@ -22,7 +22,8 @@ keycode 12 = bracketleft braceleft > keycode 13 = bracketright braceright asciitilde Control_bracketright > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = apostrophe quotedbl > control keycode 16 = Control_g > keycode 17 = comma less > diff --git a/data/keymaps/i386/fgGIod/tr_f-latin5.map b/data/keymaps/i386/fgGIod/tr_f-latin5.map > index 6be4105..016baf2 100644 > --- a/data/keymaps/i386/fgGIod/tr_f-latin5.map > +++ b/data/keymaps/i386/fgGIod/tr_f-latin5.map > @@ -53,7 +53,7 @@ keycode 13 = minus underscore > alt keycode 13 = Meta_equal > keycode 14 = BackSpace Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = +f +F +q +Q > keycode 17 = +g +G +w +W > diff --git a/data/keymaps/i386/fgGIod/trf.map b/data/keymaps/i386/fgGIod/trf.map > index 5ff8e80..0fbdf96 100644 > --- a/data/keymaps/i386/fgGIod/trf.map > +++ b/data/keymaps/i386/fgGIod/trf.map > @@ -48,7 +48,7 @@ keycode 13 = q > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 16 = f > keycode 17 = g > diff --git a/data/keymaps/i386/hcesar/hcesar.map b/data/keymaps/i386/hcesar/hcesar.map > index 439bb33..9e8125c 100644 > --- a/data/keymaps/i386/hcesar/hcesar.map > +++ b/data/keymaps/i386/hcesar/hcesar.map > @@ -38,7 +38,8 @@ keycode 13 = guillemotleft guillemotright > alt keycode 13 = Meta_equal > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = minus underscore > keycode 17 = h > keycode 18 = c > diff --git a/data/keymaps/i386/include/linux-keys-bare.inc b/data/keymaps/i386/include/linux-keys-bare.inc > index 64a4ee9..30379aa 100644 > --- a/data/keymaps/i386/include/linux-keys-bare.inc > +++ b/data/keymaps/i386/include/linux-keys-bare.inc > @@ -88,6 +88,13 @@ control alt keycode 68 = Console_10 > control alt keycode 87 = Console_11 > control alt keycode 88 = Console_12 > > +# > +# Tab and Backtab > +# > +keycode 15 = Tab > +shift keycode 15 = Backtab > +alt keycode 15 = Meta_Tab > + > # > # Keypad keys > # > diff --git a/data/keymaps/i386/neo/adnw.map b/data/keymaps/i386/neo/adnw.map > index 80a1c27..2b40971 100644 > --- a/data/keymaps/i386/neo/adnw.map > +++ b/data/keymaps/i386/neo/adnw.map > @@ -22,8 +22,8 @@ alt_is_meta > shiftr alt keycode 14 = Meta_Delete > > keycode 15 = Tab > - shiftl keycode 15 = Meta_Tab > - shiftr keycode 15 = Meta_Tab > + shiftl keycode 15 = Backtab > + shiftr keycode 15 = Backtab > alt keycode 15 = Meta_Tab > > keycode 28 = Return > diff --git a/data/keymaps/i386/neo/bone.map b/data/keymaps/i386/neo/bone.map > index 7abab02..eeffbf3 100644 > --- a/data/keymaps/i386/neo/bone.map > +++ b/data/keymaps/i386/neo/bone.map > @@ -25,8 +25,8 @@ alt_is_meta > shiftr alt keycode 14 = Meta_Delete > > keycode 15 = Tab > - shiftl keycode 15 = Meta_Tab > - shiftr keycode 15 = Meta_Tab > + shiftl keycode 15 = Backtab > + shiftr keycode 15 = Backtab > alt keycode 15 = Meta_Tab > > keycode 28 = Return > diff --git a/data/keymaps/i386/neo/koy.map b/data/keymaps/i386/neo/koy.map > index 27db41e..229c529 100644 > --- a/data/keymaps/i386/neo/koy.map > +++ b/data/keymaps/i386/neo/koy.map > @@ -22,8 +22,8 @@ alt_is_meta > shiftr alt keycode 14 = Meta_Delete > > keycode 15 = Tab > - shiftl keycode 15 = Meta_Tab > - shiftr keycode 15 = Meta_Tab > + shiftl keycode 15 = Backtab > + shiftr keycode 15 = Backtab > alt keycode 15 = Meta_Tab > > keycode 28 = Return > diff --git a/data/keymaps/i386/neo/neo.map b/data/keymaps/i386/neo/neo.map > index c42568b..e855954 100644 > --- a/data/keymaps/i386/neo/neo.map > +++ b/data/keymaps/i386/neo/neo.map > @@ -41,8 +41,8 @@ strings as usual > shiftr alt keycode 14 = Meta_Delete > > keycode 15 = Tab > - shiftl keycode 15 = Meta_Tab > - shiftr keycode 15 = Meta_Tab > + shiftl keycode 15 = Backtab > + shiftr keycode 15 = Backtab > alt keycode 15 = Meta_Tab > > keycode 28 = Return > diff --git a/data/keymaps/i386/neo/neoqwertz.map b/data/keymaps/i386/neo/neoqwertz.map > index 7f84ba3..85ed5e3 100644 > --- a/data/keymaps/i386/neo/neoqwertz.map > +++ b/data/keymaps/i386/neo/neoqwertz.map > @@ -25,8 +25,8 @@ alt_is_meta > shiftr alt keycode 14 = Meta_Delete > > keycode 15 = Tab > - shiftl keycode 15 = Meta_Tab > - shiftr keycode 15 = Meta_Tab > + shiftl keycode 15 = Backtab > + shiftr keycode 15 = Backtab > alt keycode 15 = Meta_Tab > > keycode 28 = Return > diff --git a/data/keymaps/i386/qwerty/bg-cp1251.map b/data/keymaps/i386/qwerty/bg-cp1251.map > index 0f13ba2..14f154f 100644 > --- a/data/keymaps/i386/qwerty/bg-cp1251.map > +++ b/data/keymaps/i386/qwerty/bg-cp1251.map > @@ -53,7 +53,7 @@ keycode 14 = Delete Delete Delete Delete > altgr control keycode 14 = BackSpace > altgr alt keycode 14 = Meta_Delete > keycode 15 = Tab Tab Tab Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > altgr alt keycode 15 = Meta_Tab > keycode 16 = q Q +255 +223 \ > diff --git a/data/keymaps/i386/qwerty/bg_bds-cp1251.map b/data/keymaps/i386/qwerty/bg_bds-cp1251.map > index 343441a..1bd7188 100644 > --- a/data/keymaps/i386/qwerty/bg_bds-cp1251.map > +++ b/data/keymaps/i386/qwerty/bg_bds-cp1251.map > @@ -88,7 +88,7 @@ keycode 14 = Delete > altgr control keycode 14 = BackSpace > shift altgr control keycode 14 = BackSpace > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 16 = +q > shift keycode 16 = +Q > diff --git a/data/keymaps/i386/qwerty/br-abnt.map b/data/keymaps/i386/qwerty/br-abnt.map > index 6477869..f9aae9a 100644 > --- a/data/keymaps/i386/qwerty/br-abnt.map > +++ b/data/keymaps/i386/qwerty/br-abnt.map > @@ -43,7 +43,7 @@ keycode 13 = equal plus > keycode 14 = Delete Delete > control keycode 14 = BackSpace > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > diff --git a/data/keymaps/i386/qwerty/br-abnt2.map b/data/keymaps/i386/qwerty/br-abnt2.map > index 48eae1d..3f46259 100644 > --- a/data/keymaps/i386/qwerty/br-abnt2.map > +++ b/data/keymaps/i386/qwerty/br-abnt2.map > @@ -39,7 +39,8 @@ keycode 13 = equal plus section > keycode 14 = Delete > control keycode 14 = BackSpace > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = dead_acute dead_grave > control keycode 26 = Escape > keycode 27 = bracketleft braceleft ordfeminine > diff --git a/data/keymaps/i386/qwerty/br-latin1-abnt2.map b/data/keymaps/i386/qwerty/br-latin1-abnt2.map > index 7b29274..b03605f 100644 > --- a/data/keymaps/i386/qwerty/br-latin1-abnt2.map > +++ b/data/keymaps/i386/qwerty/br-latin1-abnt2.map > @@ -39,7 +39,8 @@ keycode 12 = minus underscore backslash Control_underscore Control_underscore > keycode 13 = equal plus section > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = dead_acute dead_grave > control keycode 26 = Escape > keycode 27 = bracketleft braceleft ordfeminine > diff --git a/data/keymaps/i386/qwerty/br-latin1-us.map b/data/keymaps/i386/qwerty/br-latin1-us.map > index 74d2aba..e577cf2 100644 > --- a/data/keymaps/i386/qwerty/br-latin1-us.map > +++ b/data/keymaps/i386/qwerty/br-latin1-us.map > @@ -36,7 +36,8 @@ keycode 12 = minus underscore backslash Control_underscore Control_underscore > keycode 13 = equal plus section > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft > control keycode 26 = Escape > keycode 27 = bracketright braceright asciitilde Control_bracketright > diff --git a/data/keymaps/i386/qwerty/by.map b/data/keymaps/i386/qwerty/by.map > index 15d44f4..4054bf4 100644 > --- a/data/keymaps/i386/qwerty/by.map > +++ b/data/keymaps/i386/qwerty/by.map > @@ -92,7 +92,7 @@ keycode 14 = Delete Delete Delete \ > Meta_Delete Meta_Delete Meta_Delete \ > Delete Delete Delete \ > Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab \ > +keycode 15 = Tab Backtab Tab \ > Meta_Tab Meta_Tab Meta_Tab \ > Tab Tab Tab \ > Meta_Tab Meta_Tab Meta_Tab \ > diff --git a/data/keymaps/i386/qwerty/cf.map b/data/keymaps/i386/qwerty/cf.map > index 8f720f9..e747e10 100644 > --- a/data/keymaps/i386/qwerty/cf.map > +++ b/data/keymaps/i386/qwerty/cf.map > @@ -58,7 +58,7 @@ keycode 13 = equal plus threequarters > keycode 14 = Delete Delete > control keycode 14 = BackSpace > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = dead_circumflex dead_circumflex bracketleft > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwerty/cz-cp1250.map b/data/keymaps/i386/qwerty/cz-cp1250.map > index c281b95..64ba141 100644 > --- a/data/keymaps/i386/qwerty/cz-cp1250.map > +++ b/data/keymaps/i386/qwerty/cz-cp1250.map > @@ -30,7 +30,7 @@ keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidS > keycode 12 = minus underscore equal percent Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus > keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal > keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > +keycode 15 = Tab Backtab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > keycode 16 = q > keycode 17 = w > keycode 18 = e > diff --git a/data/keymaps/i386/qwerty/cz-lat2-prog.map b/data/keymaps/i386/qwerty/cz-lat2-prog.map > index 78b1d20..2ecdd4f 100644 > --- a/data/keymaps/i386/qwerty/cz-lat2-prog.map > +++ b/data/keymaps/i386/qwerty/cz-lat2-prog.map > @@ -35,7 +35,7 @@ keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidS > keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus > keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal > keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > +keycode 15 = Tab Backtab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > keycode 16 = q > keycode 17 = w > keycode 18 = e > diff --git a/data/keymaps/i386/qwerty/cz-lat2.map b/data/keymaps/i386/qwerty/cz-lat2.map > index aa927fe..37b7b57 100644 > --- a/data/keymaps/i386/qwerty/cz-lat2.map > +++ b/data/keymaps/i386/qwerty/cz-lat2.map > @@ -32,7 +32,7 @@ keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidS > keycode 12 = minus underscore equal percent Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus > keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal > keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > +keycode 15 = Tab Backtab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > keycode 16 = q > keycode 17 = w > keycode 18 = e > diff --git a/data/keymaps/i386/qwerty/cz.map b/data/keymaps/i386/qwerty/cz.map > index cc02b12..df61a3c 100644 > --- a/data/keymaps/i386/qwerty/cz.map > +++ b/data/keymaps/i386/qwerty/cz.map > @@ -326,7 +326,7 @@ keycode 14 = Delete Delete VoidSymbol VoidSymbol VoidSymbol \ > Meta_Delete VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol > -keycode 15 = Tab Meta_Tab VoidSymbol VoidSymbol VoidSymbol \ > +keycode 15 = Tab Backtab VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab \ > VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ > diff --git a/data/keymaps/i386/qwerty/defkeymap.map b/data/keymaps/i386/qwerty/defkeymap.map > index d54df9b..a1f3a6d 100644 > --- a/data/keymaps/i386/qwerty/defkeymap.map > +++ b/data/keymaps/i386/qwerty/defkeymap.map > @@ -44,7 +44,7 @@ keycode 13 = equal plus > keycode 14 = Delete Delete > control keycode 14 = BackSpace > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > diff --git a/data/keymaps/i386/qwerty/defkeymap_V1.0.map b/data/keymaps/i386/qwerty/defkeymap_V1.0.map > index 29e6a4b..7892262 100644 > --- a/data/keymaps/i386/qwerty/defkeymap_V1.0.map > +++ b/data/keymaps/i386/qwerty/defkeymap_V1.0.map > @@ -37,7 +37,7 @@ keycode 13 = equal plus > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > diff --git a/data/keymaps/i386/qwerty/dk-latin1.map b/data/keymaps/i386/qwerty/dk-latin1.map > index 1c32086..6fffef6 100644 > --- a/data/keymaps/i386/qwerty/dk-latin1.map > +++ b/data/keymaps/i386/qwerty/dk-latin1.map > @@ -45,7 +45,7 @@ keycode 13 = dead_acute dead_grave bar > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = +aring +Aring > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwerty/dk.map b/data/keymaps/i386/qwerty/dk.map > index 01a40d8..b8910a7 100644 > --- a/data/keymaps/i386/qwerty/dk.map > +++ b/data/keymaps/i386/qwerty/dk.map > @@ -45,7 +45,7 @@ keycode 13 = acute grave bar > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = +aring +Aring > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwerty/emacs.map b/data/keymaps/i386/qwerty/emacs.map > index c04a7bf..19d6a59 100644 > --- a/data/keymaps/i386/qwerty/emacs.map > +++ b/data/keymaps/i386/qwerty/emacs.map > @@ -42,7 +42,8 @@ keycode 12 = minus underscore backslash Control_undersc > keycode 13 = equal plus > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft > control keycode 26 = Escape > keycode 27 = bracketright braceright > diff --git a/data/keymaps/i386/qwerty/emacs2.map b/data/keymaps/i386/qwerty/emacs2.map > index f17fea2..3a5a7f1 100644 > --- a/data/keymaps/i386/qwerty/emacs2.map > +++ b/data/keymaps/i386/qwerty/emacs2.map > @@ -31,7 +31,8 @@ keycode 12 = minus underscore backslash Control_undersc > keycode 13 = equal plus > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft > control keycode 26 = Escape > keycode 27 = bracketright braceright > diff --git a/data/keymaps/i386/qwerty/es-cp850.map b/data/keymaps/i386/qwerty/es-cp850.map > index 5764220..5065fc6 100644 > --- a/data/keymaps/i386/qwerty/es-cp850.map > +++ b/data/keymaps/i386/qwerty/es-cp850.map > @@ -34,7 +34,8 @@ keycode 13 = 0255 0250 asciitilde > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete Delete Control_underscore Delete Meta_Delete Delete Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = dead_grave dead_circumflex bracketleft Escape VoidSymbol Meta_bracketleft > keycode 27 = plus asterisk bracketright Control_bracketright VoidSymbol Meta_bracketright > keycode 28 = Return > diff --git a/data/keymaps/i386/qwerty/es.map b/data/keymaps/i386/qwerty/es.map > index c6e79d6..ba0eaeb 100644 > --- a/data/keymaps/i386/qwerty/es.map > +++ b/data/keymaps/i386/qwerty/es.map > @@ -50,7 +50,7 @@ keycode 14 = Delete > control keycode 14 = Control_underscore > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > !keycode 26 = dead_grave asciicircum bracketleft > keycode 26 = dead_grave dead_circumflex bracketleft > diff --git a/data/keymaps/i386/qwerty/et.map b/data/keymaps/i386/qwerty/et.map > index 4c9bbcb..ea58efa 100644 > --- a/data/keymaps/i386/qwerty/et.map > +++ b/data/keymaps/i386/qwerty/et.map > @@ -36,7 +36,8 @@ keycode 12 = plus question backslash backslash \ > keycode 13 = dead_acute dead_grave dead_acute dead_grave > keycode 14 = Delete Delete > control keycode 14 = BackSpace > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > + alt keycode 15 = Meta_Tab > keycode 18 = +e +E euro euro Control_e Control_e > keycode 26 = +udiaeresis +Udiaeresis +udiaeresis +Udiaeresis Escape > keycode 27 = +otilde +Otilde section section Control_bracketright > diff --git a/data/keymaps/i386/qwerty/fi.map b/data/keymaps/i386/qwerty/fi.map > index e1325cf..2f23925 100644 > --- a/data/keymaps/i386/qwerty/fi.map > +++ b/data/keymaps/i386/qwerty/fi.map > @@ -87,7 +87,8 @@ keycode 13 = dead_acute dead_grave dead_cedilla > altgr shift keycode 13 = dead_kogonek > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = +aring +Aring U+0153 > control keycode 26 = Escape > alt keycode 26 = Meta_bracketleft > diff --git a/data/keymaps/i386/qwerty/gr-pc.map b/data/keymaps/i386/qwerty/gr-pc.map > index 5d26658..5cce811 100644 > --- a/data/keymaps/i386/qwerty/gr-pc.map > +++ b/data/keymaps/i386/qwerty/gr-pc.map > @@ -96,7 +96,7 @@ keycode 14 = Delete Delete > altgr keycode 14 = Delete > shift altgr keycode 14 = Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > altgr keycode 15 = Tab > shift altgr keycode 15 = Tab > alt keycode 15 = Meta_Tab > diff --git a/data/keymaps/i386/qwerty/gr.map b/data/keymaps/i386/qwerty/gr.map > index e3748a7..ada841b 100644 > --- a/data/keymaps/i386/qwerty/gr.map > +++ b/data/keymaps/i386/qwerty/gr.map > @@ -77,7 +77,7 @@ keycode 13 = equal plus > keycode 14 = Delete Delete > control keycode 14 = BackSpace > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > diff --git a/data/keymaps/i386/qwerty/ie.map b/data/keymaps/i386/qwerty/ie.map > index 46eb71f..e89fed1 100644 > --- a/data/keymaps/i386/qwerty/ie.map > +++ b/data/keymaps/i386/qwerty/ie.map > @@ -68,7 +68,8 @@ shift control keycode 3 = nul > control keycode 14 = Control_underscore > > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > > keycode 18 = +e > shift keycode 18 = +E > diff --git a/data/keymaps/i386/qwerty/il-heb.map b/data/keymaps/i386/qwerty/il-heb.map > index 31b2663..1b1de3f 100644 > --- a/data/keymaps/i386/qwerty/il-heb.map > +++ b/data/keymaps/i386/qwerty/il-heb.map > @@ -37,7 +37,7 @@ keycode 13 = equal plus equal plus > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab > +keycode 15 = Tab Backtab Tab Tab > alt keycode 15 = Meta_Tab > keycode 16 = +q +Q slash slash Control_q Control_q Control_q Control_q > keycode 17 = +w +W apostrophe apostrophe Control_w Control_w Control_w Control_w > diff --git a/data/keymaps/i386/qwerty/il-phonetic.map b/data/keymaps/i386/qwerty/il-phonetic.map > index ee65ec4..4645d0c 100644 > --- a/data/keymaps/i386/qwerty/il-phonetic.map > +++ b/data/keymaps/i386/qwerty/il-phonetic.map > @@ -36,7 +36,7 @@ keycode 13 = equal plus doubleunderscore doubleunderscor > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = +q +Q qof qof Control_q > keycode 17 = +w +W vav vav Control_w > diff --git a/data/keymaps/i386/qwerty/is-latin1.map b/data/keymaps/i386/qwerty/is-latin1.map > index bd674c6..aee12ba 100644 > --- a/data/keymaps/i386/qwerty/is-latin1.map > +++ b/data/keymaps/i386/qwerty/is-latin1.map > @@ -45,7 +45,7 @@ keycode 12 = +odiaeresis +Odiaeresis backslash > keycode 13 = minus underscore hyphen > keycode 14 = Delete Delete Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 16 = +q +Q at > control keycode 16 = Control_q > diff --git a/data/keymaps/i386/qwerty/it2.map b/data/keymaps/i386/qwerty/it2.map > index 5663126..65d59f7 100644 > --- a/data/keymaps/i386/qwerty/it2.map > +++ b/data/keymaps/i386/qwerty/it2.map > @@ -85,7 +85,7 @@ keycode 13 = igrave asciicircum > alt shift keycode 13 = Meta_asciicircum > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q Q > control keycode 16 = Control_q > diff --git a/data/keymaps/i386/qwerty/jp106.map b/data/keymaps/i386/qwerty/jp106.map > index 7b8610b..d64eb14 100644 > --- a/data/keymaps/i386/qwerty/jp106.map > +++ b/data/keymaps/i386/qwerty/jp106.map > @@ -32,7 +32,8 @@ keycode 13 = asciicircum asciitilde > keycode 14 = Delete > control keycode 14 = BackSpace > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = at grave > control keycode 26 = nul > keycode 27 = bracketleft braceleft > diff --git a/data/keymaps/i386/qwerty/la-latin1.map b/data/keymaps/i386/qwerty/la-latin1.map > index fd4043d..8b14aef 100644 > --- a/data/keymaps/i386/qwerty/la-latin1.map > +++ b/data/keymaps/i386/qwerty/la-latin1.map > @@ -28,7 +28,8 @@ keycode 14 = Delete > control keycode 14 = BackSpace > alt keycode 14 = Meta_BackSpace > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = dead_acute dead_diaeresis > keycode 27 = plus asterisk asciitilde > keycode 28 = Return > diff --git a/data/keymaps/i386/qwerty/lt.baltic.map b/data/keymaps/i386/qwerty/lt.baltic.map > index 39c9371..4ea0bfb 100644 > --- a/data/keymaps/i386/qwerty/lt.baltic.map > +++ b/data/keymaps/i386/qwerty/lt.baltic.map > @@ -38,7 +38,8 @@ keycode 11 = zero parenright parenright nul > keycode 12 = minus underscore underscore nul nul nul minus > keycode 13 = +0xFE +0xDE plus nul nul nul equal > keycode 14 = Delete Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > keycode 18 = e > diff --git a/data/keymaps/i386/qwerty/lv.map b/data/keymaps/i386/qwerty/lv.map > index 3e4a91f..84e99f9 100644 > --- a/data/keymaps/i386/qwerty/lv.map > +++ b/data/keymaps/i386/qwerty/lv.map > @@ -23,7 +23,8 @@ keycode 11 = zero parenright braceright U+00B0 > keycode 12 = minus underscore backslash U+00BF Control_underscore Control_underscore > keycode 13 = equal plus U+2013 U+2014 > keycode 14 = Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft guillemotleft U+201C Escape > keycode 27 = bracketright braceright guillemotright U+201D Control_bracketright > keycode 28 = Return Return Return Return Return Return Return Meta_Control_m > diff --git a/data/keymaps/i386/qwerty/mac-no.map b/data/keymaps/i386/qwerty/mac-no.map > index f8ad5d8..0309c51 100644 > --- a/data/keymaps/i386/qwerty/mac-no.map > +++ b/data/keymaps/i386/qwerty/mac-no.map > @@ -43,7 +43,8 @@ keycode 13 = acute grave > keycode 14 = Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_BackSpace > > # Q row > -keycode 15 = Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab > +keycode 15 = Tab Backtab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab > + alt keycode 15 = Meta_Tab > keycode 16 = q Q degree VoidSymbol Control_q Control_q Meta_q Meta_Q Meta_Control_q > keycode 17 = w W VoidSymbol VoidSymbol Control_w Control_w Meta_w Meta_W Meta_Control_w > keycode 18 = e E eacute Eacute Control_e Control_e Meta_e Meta_E Meta_Control_e > diff --git a/data/keymaps/i386/qwerty/mk0.map b/data/keymaps/i386/qwerty/mk0.map > index 7517f46..030209a 100644 > --- a/data/keymaps/i386/qwerty/mk0.map > +++ b/data/keymaps/i386/qwerty/mk0.map > @@ -53,7 +53,8 @@ keycode 12 = minus underscore minus underscore Control_underscore Control_under > keycode 13 = equal plus equal plus > keycode 14 = Delete Delete Delete Delete BackSpace > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 16 = +q +Q U+0459 U+0409 Control_q Control_q Control_q Control_q > keycode 17 = +w +W U+045a U+040a Control_w Control_w Control_w Control_w > keycode 18 = +e +E U+0435 U+0415 Control_e Control_e Control_e Control_e > diff --git a/data/keymaps/i386/qwerty/nl.map b/data/keymaps/i386/qwerty/nl.map > index 199e44e..79958ea 100644 > --- a/data/keymaps/i386/qwerty/nl.map > +++ b/data/keymaps/i386/qwerty/nl.map > @@ -50,7 +50,8 @@ keycode 13 = degree asciitilde dead_cedilla > keycode 14 = Delete > control keycode 14 = BackSpace > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = dead_diaeresis dead_circumflex circumflex > control keycode 26 = Escape > keycode 27 = asterisk bar > diff --git a/data/keymaps/i386/qwerty/nl2.map b/data/keymaps/i386/qwerty/nl2.map > index a731a6a..a478aba 100644 > --- a/data/keymaps/i386/qwerty/nl2.map > +++ b/data/keymaps/i386/qwerty/nl2.map > @@ -38,7 +38,8 @@ keycode 12 = slash question backslash Control_underscore > keycode 13 = degree asciitilde dead_cedilla > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 18 = e E euro > keycode 19 = r R paragraph > keycode 26 = dead_diaeresis dead_circumflex > diff --git a/data/keymaps/i386/qwerty/no.map b/data/keymaps/i386/qwerty/no.map > index b118bc2..40d83ad 100644 > --- a/data/keymaps/i386/qwerty/no.map > +++ b/data/keymaps/i386/qwerty/no.map > @@ -41,7 +41,7 @@ keycode 13 = backslash grave apostrophe > keycode 14 = Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 26 = aring Aring braceright bracketright > control keycode 26 = Control_bracketright > diff --git a/data/keymaps/i386/qwerty/pl.map b/data/keymaps/i386/qwerty/pl.map > index fe585a4..c398c0d 100644 > --- a/data/keymaps/i386/qwerty/pl.map > +++ b/data/keymaps/i386/qwerty/pl.map > @@ -49,7 +49,7 @@ keycode 13 = equal plus > keycode 14 = Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > diff --git a/data/keymaps/i386/qwerty/pl2.map b/data/keymaps/i386/qwerty/pl2.map > index bbb50fd..bf2bd28 100644 > --- a/data/keymaps/i386/qwerty/pl2.map > +++ b/data/keymaps/i386/qwerty/pl2.map > @@ -61,7 +61,7 @@ keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > alt shift keycode 14 = Meta_Delete > control keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > alt shift keycode 15 = Meta_Tab > AltGr keycode 15 = Meta_Tab > diff --git a/data/keymaps/i386/qwerty/pt-latin1.map b/data/keymaps/i386/qwerty/pt-latin1.map > index 5c5f476..800ede7 100644 > --- a/data/keymaps/i386/qwerty/pt-latin1.map > +++ b/data/keymaps/i386/qwerty/pt-latin1.map > @@ -39,7 +39,8 @@ keycode 13 = guillemotleft guillemotright > alt keycode 13 = Meta_equal > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = plus asterisk dead_diaeresis > control keycode 26 = Escape > alt keycode 26 = Meta_bracketleft > diff --git a/data/keymaps/i386/qwerty/pt-latin9.map b/data/keymaps/i386/qwerty/pt-latin9.map > index f353d42..9032610 100644 > --- a/data/keymaps/i386/qwerty/pt-latin9.map > +++ b/data/keymaps/i386/qwerty/pt-latin9.map > @@ -35,7 +35,8 @@ keycode 13 = guillemotleft guillemotright > alt keycode 13 = Meta_equal > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 18 = e E euro cent > keycode 26 = plus asterisk dead_diaeresis > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwerty/ro_win.map b/data/keymaps/i386/qwerty/ro_win.map > index eef1463..6981abd 100644 > --- a/data/keymaps/i386/qwerty/ro_win.map > +++ b/data/keymaps/i386/qwerty/ro_win.map > @@ -26,7 +26,8 @@ keycode 11 = zero parenright braceright parenright > keycode 12 = minus underscore backslash backslash Control_underscore Control_underscore > keycode 13 = equal plus > keycode 14 = Delete Delete Delete > -keycode 15 = Tab Meta_Tab Tab > +keycode 15 = Tab Backtab Tab > + alt keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft > control keycode 26 = Escape > keycode 27 = bracketright braceright asciitilde asciitilde Control_bracketright > diff --git a/data/keymaps/i386/qwerty/sk-prog-qwerty.map b/data/keymaps/i386/qwerty/sk-prog-qwerty.map > index 828cb38..cc2f845 100644 > --- a/data/keymaps/i386/qwerty/sk-prog-qwerty.map > +++ b/data/keymaps/i386/qwerty/sk-prog-qwerty.map > @@ -40,7 +40,7 @@ keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidS > keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus > keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal > keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > +keycode 15 = Tab Backtab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > keycode 26 = bracketleft braceleft bracketleft braceleft Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft > keycode 27 = bracketright braceright bracketright braceright Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright > keycode 28 = Return > diff --git a/data/keymaps/i386/qwerty/sk-qwerty.map b/data/keymaps/i386/qwerty/sk-qwerty.map > index db1e2de..0d51eb0 100644 > --- a/data/keymaps/i386/qwerty/sk-qwerty.map > +++ b/data/keymaps/i386/qwerty/sk-qwerty.map > @@ -43,8 +43,6 @@ keycode 11 = zero parenright eacute zero > keycode 12 = minus underscore equal percent > keycode 13 = equal plus dead_acute dead_circumflex > keycode 14 = Delete > -keycode 15 = Tab > - shift keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft uacute slash Escape > keycode 27 = bracketright braceright adiaeresis parenleft Control_bracketright > keycode 28 = Return > diff --git a/data/keymaps/i386/qwerty/sv-latin1.map b/data/keymaps/i386/qwerty/sv-latin1.map > index ccfb11e..1856c66 100644 > --- a/data/keymaps/i386/qwerty/sv-latin1.map > +++ b/data/keymaps/i386/qwerty/sv-latin1.map > @@ -53,7 +53,7 @@ keycode 13 = dead_acute dead_grave > keycode 14 = Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 26 = +aring +Aring > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwerty/tr_q-latin5.map b/data/keymaps/i386/qwerty/tr_q-latin5.map > index 0ef8ecb..4431bc2 100644 > --- a/data/keymaps/i386/qwerty/tr_q-latin5.map > +++ b/data/keymaps/i386/qwerty/tr_q-latin5.map > @@ -51,7 +51,7 @@ keycode 13 = minus underscore > alt keycode 13 = Meta_equal > keycode 14 = BackSpace Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > diff --git a/data/keymaps/i386/qwerty/tralt.map b/data/keymaps/i386/qwerty/tralt.map > index ab0e274..bcd3510 100644 > --- a/data/keymaps/i386/qwerty/tralt.map > +++ b/data/keymaps/i386/qwerty/tralt.map > @@ -49,7 +49,7 @@ keycode 13 = equal plus > keycode 14 = Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > keycode 17 = w > diff --git a/data/keymaps/i386/qwerty/trq.map b/data/keymaps/i386/qwerty/trq.map > index 36e2d28..3374448 100644 > --- a/data/keymaps/i386/qwerty/trq.map > +++ b/data/keymaps/i386/qwerty/trq.map > @@ -59,7 +59,7 @@ keycode 13 = minus underscore bar > keycode 14 = Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > alt keycode 15 = Meta_Tab > keycode 16 = q > altgr keycode 16 = at > diff --git a/data/keymaps/i386/qwerty/ua-utf-ws.map b/data/keymaps/i386/qwerty/ua-utf-ws.map > index 1783a3d..a622ec6 100644 > --- a/data/keymaps/i386/qwerty/ua-utf-ws.map > +++ b/data/keymaps/i386/qwerty/ua-utf-ws.map > @@ -281,7 +281,7 @@ keycode 14 = BackSpace Delete > shift control ctrll ctrlr keycode 14 = BackSpace > alt ctrll ctrlr keycode 14 = Meta_Delete > shift alt ctrll ctrlr keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > ctrlr keycode 15 = Tab > shift ctrlr keycode 15 = Tab > diff --git a/data/keymaps/i386/qwerty/ua-utf.map b/data/keymaps/i386/qwerty/ua-utf.map > index 3d9ce43..3dc7df8 100644 > --- a/data/keymaps/i386/qwerty/ua-utf.map > +++ b/data/keymaps/i386/qwerty/ua-utf.map > @@ -271,7 +271,7 @@ keycode 14 = BackSpace Delete > shift control ctrll ctrlr keycode 14 = BackSpace > alt ctrll ctrlr keycode 14 = Meta_Delete > shift alt ctrll ctrlr keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > ctrlr keycode 15 = Tab > shift ctrlr keycode 15 = Tab > diff --git a/data/keymaps/i386/qwerty/ua-ws.map b/data/keymaps/i386/qwerty/ua-ws.map > index 86df969..6a57d94 100644 > --- a/data/keymaps/i386/qwerty/ua-ws.map > +++ b/data/keymaps/i386/qwerty/ua-ws.map > @@ -281,7 +281,7 @@ keycode 14 = BackSpace Delete > shift control ctrll ctrlr keycode 14 = BackSpace > alt ctrll ctrlr keycode 14 = Meta_Delete > shift alt ctrll ctrlr keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > ctrlr keycode 15 = Tab > shift ctrlr keycode 15 = Tab > diff --git a/data/keymaps/i386/qwerty/ua.map b/data/keymaps/i386/qwerty/ua.map > index bb57d2a..d5d2560 100644 > --- a/data/keymaps/i386/qwerty/ua.map > +++ b/data/keymaps/i386/qwerty/ua.map > @@ -270,7 +270,7 @@ keycode 14 = BackSpace Delete > shift control ctrll ctrlr keycode 14 = BackSpace > alt ctrll ctrlr keycode 14 = Meta_Delete > shift alt ctrll ctrlr keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > ctrlr keycode 15 = Tab > shift ctrlr keycode 15 = Tab > diff --git a/data/keymaps/i386/qwerty/uk.map b/data/keymaps/i386/qwerty/uk.map > index af347af..89240f2 100644 > --- a/data/keymaps/i386/qwerty/uk.map > +++ b/data/keymaps/i386/qwerty/uk.map > @@ -31,7 +31,8 @@ keycode 13 = equal plus > keycode 14 = Delete > control keycode 14 = Control_underscore > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft > control keycode 26 = Escape > keycode 27 = bracketright braceright asciitilde Control_bracketright > diff --git a/data/keymaps/i386/qwerty/us-acentos.map b/data/keymaps/i386/qwerty/us-acentos.map > index 1fd1f5c..5429c52 100644 > --- a/data/keymaps/i386/qwerty/us-acentos.map > +++ b/data/keymaps/i386/qwerty/us-acentos.map > @@ -44,7 +44,7 @@ keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > keycode 15 = Tab Tab > alt keycode 15 = Meta_Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > keycode 16 = q > keycode 17 = w > keycode 18 = e > diff --git a/data/keymaps/i386/qwerty/us.map b/data/keymaps/i386/qwerty/us.map > index 2164aeb..67b35f2 100644 > --- a/data/keymaps/i386/qwerty/us.map > +++ b/data/keymaps/i386/qwerty/us.map > @@ -25,7 +25,8 @@ keycode 12 = minus underscore backslash Control_undersc > keycode 13 = equal plus > keycode 14 = Delete > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = bracketleft braceleft > control keycode 26 = Escape > keycode 27 = bracketright braceright asciitilde Control_bracketright > diff --git a/data/keymaps/i386/qwertz/cz-us-qwertz.map b/data/keymaps/i386/qwertz/cz-us-qwertz.map > index 64a1bfc..798322b 100644 > --- a/data/keymaps/i386/qwertz/cz-us-qwertz.map > +++ b/data/keymaps/i386/qwertz/cz-us-qwertz.map > @@ -29,7 +29,7 @@ keycode 11 = eacute zero zero parenright VoidSymbol VoidSymbol VoidSymbol VoidS > keycode 12 = equal percent minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus > keycode 13 = dead_acute dead_circumflex equal plus VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal > keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > +keycode 15 = Tab Backtab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > keycode 16 = q > keycode 17 = w > keycode 18 = e > diff --git a/data/keymaps/i386/qwertz/cz.map b/data/keymaps/i386/qwertz/cz.map > index 85c1d61..2689d70 100644 > --- a/data/keymaps/i386/qwertz/cz.map > +++ b/data/keymaps/i386/qwertz/cz.map > @@ -323,7 +323,7 @@ keycode 14 = Delete Delete VoidSymbol VoidSymbol VoidSymbol \ > Meta_Delete VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol > -keycode 15 = Tab Meta_Tab VoidSymbol VoidSymbol VoidSymbol \ > +keycode 15 = Tab Backtab VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab \ > VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ > VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ > diff --git a/data/keymaps/i386/qwertz/de-latin1.map b/data/keymaps/i386/qwertz/de-latin1.map > index cb63d52..97c3d25 100644 > --- a/data/keymaps/i386/qwertz/de-latin1.map > +++ b/data/keymaps/i386/qwertz/de-latin1.map > @@ -35,7 +35,8 @@ keycode 13 = dead_acute dead_grave > shift alt keycode 13 = Meta_grave > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = +udiaeresis +Udiaeresis > keycode 27 = plus asterisk dead_tilde > keycode 28 = Return > diff --git a/data/keymaps/i386/qwertz/de.map b/data/keymaps/i386/qwertz/de.map > index 11440b7..2a1e7b5 100644 > --- a/data/keymaps/i386/qwertz/de.map > +++ b/data/keymaps/i386/qwertz/de.map > @@ -33,7 +33,8 @@ keycode 12 = backslash question > keycode 13 = apostrophe grave > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > + alt keycode 15 = Meta_Tab > keycode 26 = at backslash > keycode 27 = plus asterisk asciitilde > keycode 28 = Return > diff --git a/data/keymaps/i386/qwertz/fr_CH-latin1.map b/data/keymaps/i386/qwertz/fr_CH-latin1.map > index 667464e..785f2d3 100644 > --- a/data/keymaps/i386/qwertz/fr_CH-latin1.map > +++ b/data/keymaps/i386/qwertz/fr_CH-latin1.map > @@ -41,7 +41,7 @@ keycode 13 = dead_circumflex dead_grave dead_tilde > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = egrave udiaeresis bracketleft > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwertz/fr_CH.map b/data/keymaps/i386/qwertz/fr_CH.map > index fca4984..df519c1 100644 > --- a/data/keymaps/i386/qwertz/fr_CH.map > +++ b/data/keymaps/i386/qwertz/fr_CH.map > @@ -41,7 +41,7 @@ keycode 13 = asciicircum grave asciitilde > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = > altgr keycode 26 = bracketleft > diff --git a/data/keymaps/i386/qwertz/sg-latin1-lk450.map b/data/keymaps/i386/qwertz/sg-latin1-lk450.map > index aaee821..7b18dd2 100644 > --- a/data/keymaps/i386/qwertz/sg-latin1-lk450.map > +++ b/data/keymaps/i386/qwertz/sg-latin1-lk450.map > @@ -40,7 +40,7 @@ keycode 13 = dead_circumflex dead_grave dead_tilde > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = udiaeresis egrave bracketleft > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwertz/sg-latin1.map b/data/keymaps/i386/qwertz/sg-latin1.map > index 19771b5..1279d44 100644 > --- a/data/keymaps/i386/qwertz/sg-latin1.map > +++ b/data/keymaps/i386/qwertz/sg-latin1.map > @@ -39,7 +39,7 @@ keycode 13 = dead_circumflex dead_grave dead_tilde > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = udiaeresis egrave bracketleft > control keycode 26 = Escape > diff --git a/data/keymaps/i386/qwertz/sg.map b/data/keymaps/i386/qwertz/sg.map > index 3dc5c86..75a4b26 100644 > --- a/data/keymaps/i386/qwertz/sg.map > +++ b/data/keymaps/i386/qwertz/sg.map > @@ -40,7 +40,7 @@ keycode 13 = asciicircum grave asciitilde > alt keycode 13 = Meta_equal > keycode 14 = Delete Delete > alt keycode 14 = Meta_Delete > -keycode 15 = Tab Meta_Tab > +keycode 15 = Tab Backtab > alt keycode 15 = Meta_Tab > keycode 26 = > altgr keycode 26 = bracketleft > diff --git a/data/keymaps/i386/qwertz/sk-prog-qwertz.map b/data/keymaps/i386/qwertz/sk-prog-qwertz.map > index 7ee1a5c..a81ff96 100644 > --- a/data/keymaps/i386/qwertz/sk-prog-qwertz.map > +++ b/data/keymaps/i386/qwertz/sk-prog-qwertz.map > @@ -40,7 +40,7 @@ keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidS > keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus > keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal > keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > +keycode 15 = Tab Backtab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > keycode 26 = bracketleft braceleft bracketleft braceleft Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft > keycode 27 = bracketright braceright bracketright braceright Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright > keycode 28 = Return > diff --git a/data/keymaps/i386/qwertz/sk-qwertz.map b/data/keymaps/i386/qwertz/sk-qwertz.map > index fc1218d..4376a4c 100644 > --- a/data/keymaps/i386/qwertz/sk-qwertz.map > +++ b/data/keymaps/i386/qwertz/sk-qwertz.map > @@ -41,7 +41,7 @@ keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidS > keycode 12 = minus underscore equal percent Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus > keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal > keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete > -keycode 15 = Tab Meta_Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > +keycode 15 = Tab Backtab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab > keycode 26 = bracketleft braceleft uacute slash Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft > keycode 27 = bracketright braceright adiaeresis parenleft Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright > keycode 28 = Return > diff --git a/data/keymaps/mac/all/mac-fr.map b/data/keymaps/mac/all/mac-fr.map > index 9896aa6..a300cf1 100644 > --- a/data/keymaps/mac/all/mac-fr.map > +++ b/data/keymaps/mac/all/mac-fr.map > @@ -170,7 +170,7 @@ keycode 14 = Delete BackSpace > altgr control keycode 14 = KeyboardSignal > > keycode 15 = Tab > - shift keycode 15 = Meta_Tab > + shift keycode 15 = Backtab > control keycode 15 = Meta_Tab > alt keycode 15 = Last_Console > > diff --git a/data/keymaps/mac/include/mac-linux-keys-bare.inc b/data/keymaps/mac/include/mac-linux-keys-bare.inc > index 40a81f5..75d3353 100644 > --- a/data/keymaps/mac/include/mac-linux-keys-bare.inc > +++ b/data/keymaps/mac/include/mac-linux-keys-bare.inc > @@ -166,7 +166,7 @@ keycode 113 = Pause # Break/Pause > keycode 36 = Return > alt keycode 36 = Meta_Control_m > keycode 48 = Tab > - shift keycode 48 = Meta_Tab > + shift keycode 48 = Backtab > alt keycode 48 = Meta_Tab > keycode 49 = space space space nul > keycode 51 = Delete Remove > diff --git a/data/keymaps/pine/en.map b/data/keymaps/pine/en.map > index 36b7de2..c1f50be 100644 > --- a/data/keymaps/pine/en.map > +++ b/data/keymaps/pine/en.map > @@ -34,7 +34,8 @@ keycode 11 = zero parenright plus nul nul Meta_zero > keycode 14 = BackSpace > > # Second Row > -keycode 15 = Tab nul nul nul nul nul Meta_Tab > +keycode 15 = Tab Backtab nul nul nul nul Meta_Tab > +alt keycode 15 = Meta_Tab > keycode 16 = q Q nul Control_q > keycode 17 = w W nul Control_w > keycode 18 = e E nul Control_e > diff --git a/data/keymaps/sun/sunt4-es.map b/data/keymaps/sun/sunt4-es.map > index a270126..4242b60 100644 > --- a/data/keymaps/sun/sunt4-es.map > +++ b/data/keymaps/sun/sunt4-es.map > @@ -137,7 +137,7 @@ keycode 50 = KP_Period > control alt keycode 50 = Boot > keycode 51 = > keycode 52 = Find > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > keycode 54 = q > keycode 55 = w > diff --git a/data/keymaps/sun/sunt4-fi-latin1.map b/data/keymaps/sun/sunt4-fi-latin1.map > index 7f01fd5..0e5319b 100644 > --- a/data/keymaps/sun/sunt4-fi-latin1.map > +++ b/data/keymaps/sun/sunt4-fi-latin1.map > @@ -131,7 +131,7 @@ keycode 50 = KP_Period > control alt keycode 50 = Boot > keycode 51 = > keycode 52 = > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > keycode 54 = q > keycode 55 = w > diff --git a/data/keymaps/sun/sunt4-no-latin1.map b/data/keymaps/sun/sunt4-no-latin1.map > index a61225c..cfa7424 100644 > --- a/data/keymaps/sun/sunt4-no-latin1.map > +++ b/data/keymaps/sun/sunt4-no-latin1.map > @@ -134,7 +134,7 @@ keycode 50 = KP_Period > control alt keycode 50 = Boot > keycode 51 = > keycode 52 = Find > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > keycode 54 = q > keycode 55 = w > diff --git a/data/keymaps/sun/sunt5-de-latin1.map b/data/keymaps/sun/sunt5-de-latin1.map > index c14d6d3..a4844a2 100644 > --- a/data/keymaps/sun/sunt5-de-latin1.map > +++ b/data/keymaps/sun/sunt5-de-latin1.map > @@ -131,7 +131,7 @@ keycode 50 = KP_Period > control alt keycode 50 = Boot > keycode 51 = > keycode 52 = Find > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > keycode 54 = +q +Q at > keycode 55 = w > diff --git a/data/keymaps/sun/sunt5-es.map b/data/keymaps/sun/sunt5-es.map > index 727d9e8..66aa362 100644 > --- a/data/keymaps/sun/sunt5-es.map > +++ b/data/keymaps/sun/sunt5-es.map > @@ -143,7 +143,7 @@ keycode 50 = KP_Period > control alt keycode 50 = Boot > keycode 51 = > keycode 52 = Find > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > keycode 54 = q > keycode 55 = w > diff --git a/data/keymaps/sun/sunt5-fi-latin1.map b/data/keymaps/sun/sunt5-fi-latin1.map > index 0d0fb9e..242a636 100644 > --- a/data/keymaps/sun/sunt5-fi-latin1.map > +++ b/data/keymaps/sun/sunt5-fi-latin1.map > @@ -134,7 +134,7 @@ keycode 50 = KP_Period > control alt keycode 50 = Boot > keycode 51 = > keycode 52 = Find > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > keycode 54 = q > keycode 55 = w > diff --git a/data/keymaps/sun/sunt5-ru.map b/data/keymaps/sun/sunt5-ru.map > index d299a72..2543841 100644 > --- a/data/keymaps/sun/sunt5-ru.map > +++ b/data/keymaps/sun/sunt5-ru.map > @@ -181,7 +181,7 @@ keycode 50 = KP_Period > altgr control alt keycode 50 = Boot > keycode 51 = > keycode 52 = Find > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > altgr alt keycode 53 = Meta_Tab > keycode 54 = q > diff --git a/data/keymaps/sun/sunt5-uk.map b/data/keymaps/sun/sunt5-uk.map > index 7c3cc44..db189eb 100644 > --- a/data/keymaps/sun/sunt5-uk.map > +++ b/data/keymaps/sun/sunt5-uk.map > @@ -54,7 +54,7 @@ keycode 41 = equal plus > keycode 43 = Delete Delete > control keycode 43 = Control_underscore > alt keycode 43 = Meta_Delete > -keycode 53 = Tab Meta_Tab > +keycode 53 = Tab Backtab > alt keycode 53 = Meta_Tab > keycode 54 = q > keycode 55 = w > diff --git a/src/libkeymap/parser.y b/src/libkeymap/parser.y > index 2cd509f..0602cd8 100644 > --- a/src/libkeymap/parser.y > +++ b/src/libkeymap/parser.y > @@ -106,6 +106,23 @@ strings_as_usual(struct lk_ctx *ctx) > return -1; > } > } > + > + /* > + * Backtab (Shift+Tab) is assigned to KT_FN index 255, the last > + * available slot with no kernel UAPI name (K_F245 = KT_FN index 254 > + * is the last kernel-defined entry). It cannot be added to the array > + * above without displacing the existing named entries F21..F245. > + */ > + { > + struct kbsentry ke; > + > + ke.kb_func = 255; /* Backtab, see syms.ktyp.h */ > + strlcpy((char *)ke.kb_string, "\033[Z", sizeof(ke.kb_string)); > + > + if (lk_add_func(ctx, &ke) == -1) > + return -1; > + } > + > return 0; > } > > diff --git a/src/libkeymap/syms.ktyp.h b/src/libkeymap/syms.ktyp.h > index 82c87a6..504d67e 100644 > --- a/src/libkeymap/syms.ktyp.h > +++ b/src/libkeymap/syms.ktyp.h > @@ -323,7 +323,14 @@ static const char *const fn_syms[] = { > "F231", "F232", "F233", "F234", "F235", > "F236", "F237", "F238", "F239", "F240", > "F241", "F242", "F243", "F244", "F245", > - "F246" /* there are 10 keys named Insert etc., total 256 */ > + /* > + * The kernel UAPI defines KT_FN keys F1..F20 (indices 0..19), > + * then Find/Insert/Remove/Select/Prior/Next/Macro/Help/Do/Pause > + * (indices 20..29), then F21..F245 (indices 30..254). > + * Index 255 is the last available slot with no kernel UAPI name, > + * so Backtab is placed here to avoid shifting any existing indices. > + */ > + "Backtab" /* there are 11 keys named Find etc., total 256 */ > }; > > /* -- Rgrds, legion