Bug#809978: kate: eats custom keyboard layout
Package: kate
Version: 4:15.08.3-1
Severity: normal
Hi again,
this is similar to #808801 in that I believe the cause to be
related, although the symptoms differ. Again, this is most
likely an issue caused by the move to Qt5.
When I load my keyboard layout (US-based, Escape is left to
the number 1 though, and left Alt is on the left Windows key
while Mode_switch is on the left Alt key) some things work,
such as pressing Mode_switch-d for ä, and Mode_switch-F2 for
☺, but Mode_switch-F1 does not yield ☻ but instead starts a
webbrowser with the online documentation, and Mode_switch-F11
toggles line numbers instead of writing ‣ into the buffer.
I believe that this is caused by not using the X-Window keyboard
but attempting to parse raw input, which will be no small amount
of pain for anyone who re-maps their keys; e.g. it is very common
to remap Ctrl to CapsLock or other such things.
I’m attaching my layout. To load it, run “xmodmap .Xmodmap”;
to remove it, run “setxkbmap de nodeadkeys”, “setxkbmap us”,
or whatever your previous keymap was (you may wish to type
this in a separate terminal prior to loading my keymap, so
you only have to type Enter to activate it to get back).
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.3.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/lksh
Init: sysvinit (via /sbin/init)
Versions of packages kate depends on:
ii kate5-data 4:15.08.3-1
ii ktexteditor-katepart 5.16.0-1
ii libc6 2.21-6
ii libgit2-23 0.23.1-1+b1
ii libkf5activities5 5.16.0-1
ii libkf5bookmarks5 5.16.0-1
ii libkf5completion5 5.16.0-1
ii libkf5configcore5 5.16.0-1
ii libkf5configgui5 5.16.0-1
ii libkf5configwidgets5 5.16.0-1
ii libkf5coreaddons5 5.16.0-1
ii libkf5dbusaddons5 5.16.0-1
ii libkf5guiaddons5 5.16.0-1
ii libkf5i18n5 5.16.0-1
ii libkf5iconthemes5 5.16.0-1
ii libkf5itemmodels5 5.16.0-1
ii libkf5jobwidgets5 5.16.0-1
ii libkf5kiocore5 5.16.0-1
ii libkf5kiofilewidgets5 5.16.0-1
ii libkf5kiowidgets5 5.16.0-1
ii libkf5newstuff5 5.16.0-1
ii libkf5notifications5 5.16.0-1
ii libkf5parts5 5.16.0-1
ii libkf5plasma5 5.16.0-1
ii libkf5service-bin 5.16.0-1
ii libkf5service5 5.16.0-1
ii libkf5texteditor5 5.16.0-1
ii libkf5textwidgets5 5.16.0-1
ii libkf5threadweaver5 5.16.0-1
ii libkf5wallet-bin 5.16.0-1
ii libkf5wallet5 5.16.0-1
ii libkf5widgetsaddons5 5.16.0-1
ii libkf5windowsystem5 5.16.0-1
ii libkf5xmlgui5 5.16.0-1
ii libqt5core5a 5.5.1+dfsg-10
ii libqt5dbus5 5.5.1+dfsg-10
ii libqt5gui5 5.5.1+dfsg-10
ii libqt5sql5 5.5.1+dfsg-10
ii libqt5widgets5 5.5.1+dfsg-10
ii libqt5xml5 5.5.1+dfsg-10
ii libstdc++6 5.3.1-5
ii plasma-framework 5.16.0-1
ii qml-module-org-kde-kquickcontrolsaddons 5.16.0-1
ii qml-module-qtquick-layouts 5.5.1-2
ii qml-module-qtquick2 5.5.1-3
kate recommends no packages.
Versions of packages kate suggests:
ii ispell 3.4.00-4
pn khelpcenter <none>
ii konsole-kpart 4:15.08.3-1
-- no debconf information
! $MirOS: contrib/samples/dot.Xmodmap,v 1.24.4.7 2013/03/28 13:44:47 tg Exp $
!-
! Copyright © 2004, 2007, 2008, 2010, 2012, 2013
! Thorsten “mirabilos” Glaser <tg@mirbsd.org>
!
! Provided that these terms and disclaimer and all copyright notices
! are retained or reproduced in an accompanying document, permission
! is granted to deal in this work without restriction, including un-
! limited rights to use, publicly perform, distribute, sell, modify,
! merge, give away, or sublicence.
!
! This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to
! the utmost extent permitted by applicable law, neither express nor
! implied; without malicious intent or gross negligence. In no event
! may a licensor, author or contributor be held liable for indirect,
! direct, other damage, loss, or other issues arising in any way out
! of dealing in the work, even if advised of the possibility of such
! damage or existence of a defect, except proven that it results out
! of said person’s immediate fault when using the work as intended.
!-
! MirKBD Revision 3WIP, English (Europe) with Meta key, for x.org-V2
!
! Advanced .Xmodmap file with US-based layout plus Meta and Compose,
! for 105-key PC keyboards (usable with 102-key or laptop keyboards,
! too). Emulating Meta with Mode_switch helps with X11 applications.
! All ISO-8859-1 code points are directly typable on a 101-key board
! and most directly typable code points are a part of codepage 1252.
!
! This file has been modified to work on wheezy (remember X -retro);
! U+009B is not allowed, the rest is m̲o̲s̲t̲l̲y̲ documented in "kbd-xf86"
! in this directory. Additionally, uxterm works with Mode_switch now
! and doesn’t need Meta_L, so replace as the latter hinders X apps.
!
! Diversions from pristine XFree86(R) and Windows(R) 2000 US layout:
! • The Alt_L key generates Meta_L (adds 0x80 to latin1 code)
! • The Win_L key generates Alt_L (e.g. for window managers)
! • The < > | key generates Mode_switch (emulates Meta for X apps)
! • The Win_R key generates Meta_R
! • The Win_M key generates Compose (also for Unicode compose)
! • The Backspace key, shifted and with Mode_switch, generates ‘Ÿ’
! • The CapsLock key generates Ellipsis, Euro, DE-DblQL, Trademark
! • The Tab key, with Mode_switch, generates EN-DblQL and EN-DblQR
! • The Return key, with Mode_switch, generates Bullet and en dash
! The following behavioural differences can be seen on NT platforms:
! • The “Meta” and “Mode_switch” function is done by the Alt_R key
! • The < > | (102nd) key does Ellipsis, Euro, DE-DblQL, Trademark
! • The Alt_L, Win_L, Win_R, CapsLock keys retain common behaviour
! • The Win_M key also keeps common behaviour; there is no Compose
! The following behavioural differences can be seen on X11 platform:
! • The IBM Thinkpad X40 Page_Left key is Alt_L: there’s no Winkey
! • The IBM Thinkpad X40 Page_Right key can be used as Compose key
! • In unshifted states, Escape and U+0060 (`) have switched place
! • The ModeSwitch-F1 combination generates U+263B (☻) good smiley
! • The ModeSwitch-F2 combination generates U+263A (☺) dark smiley
! • The ModeSwitch-F3 combination generates U+2639 (☹) down smiley
! • The ModeSwitch-F4 combination generates U+1E9E (ẞ) majuscle sz
! • The ModeSwitch-F5 combination generates U+FFFD (�) replacement
! • The ModeSwitch-F6 combination generates U+2260 (≠) <not equal>
! • The ModeSwitch-F7 combination generates U+2018 (‘) left squote
! • The ModeSwitch-F8 combination generates U+2019 (’) right squot
! • The ModeSwitch-F9 combination generates U+0332 ( ̲) comb. under
! • The ModeSwitch-F10 combination generates U+0305 ( ̅) comb. over
! • The ModeSwitch-F11 combination generates U+2023 (‣) triangular
! • The ModeSwitch-F12 combination generates U+2025 (‥) TPinterval
! • The ModeSwitch-Shift-F1 combination generates U+250C (┌) up-lf
! • The ModeSwitch-Shift-F2 combination generates U+2500 (─) horiz
! • The ModeSwitch-Shift-F3 combination generates U+2510 (┐) up-rt
! • The ModeSwitch-Shift-F4 combination generates U+2502 (│) -vert
! • The ModeSwitch-Shift-F5 combination generates U+2514 (└) lo-lf
! • The ModeSwitch-Shift-F6 combination generates U+2518 (┘) lo-rt
! • The ModeSwitch-Shift-F7 combination generates U+251C (├) dn-rt
! • The ModeSwitch-Shift-F8 combination generates U+2524 (┤) dn-lf
! • The ModeSwitch-Shift-F9 combination generates U+253C (┼) cross
! • The ModeSwitch-Shift-F10 combination generates U+252C (┬) h-dn
! • The ModeSwitch-Shift-F11 combination generates U+2534 (┴) h-up
! • The ModeSwitch-Shift-F12 combination generates U+2588 (█) fblk
! • ModeSwitch and arrow keys generates single-dashed (without) or
! double-dashed (with shift) pictograph U+21[9D][0123] ↑←↓→ ⇑⇐⇓⇒
! • ModeSwitch + {Ins,Del}, {Home,End}, {PgUp,PgDn} generates wide
! parentheses: (unshift/shift) 〈〉 《》 / 〔〕 【】/ 「」 『』
! • ModeSwitch-Shift-{Space,Esc} are wide space/creative heaven ䷀
keycode 0x09 = grave Escape U00E0 U4DC0
keycode 0x43 = F1 F1 U263B U250C NoSymbol NoSymbol XF86_Switch_VT_1
keycode 0x44 = F2 F2 U263A U2500 NoSymbol NoSymbol XF86_Switch_VT_2
keycode 0x45 = F3 F3 U2639 U2510 NoSymbol NoSymbol XF86_Switch_VT_3
keycode 0x46 = F4 F4 U1E9E U2502 NoSymbol NoSymbol XF86_Switch_VT_4
keycode 0x47 = F5 F5 UFFFD U2514 NoSymbol NoSymbol XF86_Switch_VT_5
keycode 0x48 = F6 F6 U2260 U2518 NoSymbol NoSymbol XF86_Switch_VT_6
keycode 0x49 = F7 F7 U2018 U251C NoSymbol NoSymbol XF86_Switch_VT_7
keycode 0x4A = F8 F8 U2019 U2524 NoSymbol NoSymbol XF86_Switch_VT_8
keycode 0x4B = F9 F9 U0332 U253C NoSymbol NoSymbol XF86_Switch_VT_9
keycode 0x4C = F10 F10 U0305 U252C NoSymbol NoSymbol XF86_Switch_VT_10
keycode 0x5F = F11 F11 U2023 U2534 NoSymbol NoSymbol XF86_Switch_VT_11
keycode 0x60 = F12 F12 U2025 U2588 NoSymbol NoSymbol XF86_Switch_VT_12
keycode 0x6B = Print Sys_Req
keycode 0x4E = Scroll_Lock Pointer_Accelerate
keycode 0x7F = Pause Break
keycode 0x31 = Escape asciitilde Escape U00FE
keycode 0x0A = 1 exclam U00B1 U00A1
keycode 0x0B = 2 at U00B2 U00C0
keycode 0x0C = 3 numbersign U00B3 U00A3
keycode 0x0D = 4 dollar U00B4 U00A4
keycode 0x0E = 5 percent U00B5 U00A5
keycode 0x0F = 6 asciicircum U00B6 U00DE
keycode 0x10 = 7 ampersand U00B7 U00A6
keycode 0x11 = 8 asterisk U00B8 U00AA
keycode 0x12 = 9 parenleft U00B9 U00A8
keycode 0x13 = 0 parenright U00B0 U00A9
keycode 0x14 = minus underscore U00AD U00DF
keycode 0x15 = equal plus U00BD U00AB
keycode 0x16 = BackSpace BackSpace U00FF U0178 NoSymbol NoSymbol Terminate_Server
keycode 0x76 = Insert Insert U3008 U300A
keycode 0x6E = Home Home U3014 U3010
keycode 0x70 = Prior Prior U300C U300E
keycode 0x4D = Num_Lock Pointer_EnableKeys
keycode 0x6A = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86_Ungrab
keycode 0x3F = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86_ClearGrab
keycode 0x52 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86_Prev_VMode
keycode 0x17 = Tab ISO_Left_Tab U201C U201D
keycode 0x18 = q Q U00F1 U00D1
keycode 0x19 = w W U00F7 U00D7
keycode 0x1A = e E U00E5 U00C5
keycode 0x1B = r R U00F2 U00D2
keycode 0x1C = t T U00F4 U00D4
keycode 0x1D = y Y U00F9 U00D9
keycode 0x1E = u U U00F5 U00D5
keycode 0x1F = i I U00E9 U00C9
keycode 0x20 = o O U00EF U00CF
keycode 0x21 = p P U00F0 U00D0
keycode 0x22 = bracketleft braceleft U00DB U00FB
keycode 0x23 = bracketright braceright U00DD U00FD
keycode 0x24 = Return Return U2022 U2013
keycode 0x77 = KP_Delete Delete U3009 U300B
keycode 0x73 = End End U3015 U3011
keycode 0x75 = Next Next U300D U300F
keycode 0x4F = KP_Home KP_7
keycode 0x50 = KP_Up KP_8
keycode 0x51 = KP_Prior KP_9
keycode 0x56 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86_Next_VMode
keycode 0x42 = U2026 U20AC U201E U2122
keycode 0x26 = a A U00E1 U00C1
keycode 0x27 = s S U00F3 U00D3
keycode 0x28 = d D U00E4 U00C4
keycode 0x29 = f F U00E6 U00C6
keycode 0x2A = g G U00E7 U00C7
keycode 0x2B = h H U00E8 U00C8
keycode 0x2C = j J U00EA U00CA
keycode 0x2D = k K U00EB U00CB
keycode 0x2E = l L U00EC U00CC
keycode 0x2F = semicolon colon U00BB U00BA
keycode 0x30 = apostrophe quotedbl U00A7 U00A2
keycode 0x33 = backslash bar U00DC U00FC
keycode 0x53 = KP_Left KP_4
keycode 0x54 = KP_Begin KP_5
keycode 0x55 = KP_Right KP_6
keycode 0x32 = Shift_L Shift_L
keycode 0x5E = Mode_switch Mode_switch
keycode 0x34 = z Z U00FA U00DA
keycode 0x35 = x X U00F8 U00D8
keycode 0x36 = c C U00E3 U00C3
keycode 0x37 = v V U00F6 U00D6
keycode 0x38 = b B U00E2 U00C2
keycode 0x39 = n N U00EE U00CE
keycode 0x3A = m M U00ED U00CD
keycode 0x3B = comma less U00AC U00BC
keycode 0x3C = period greater U00AE U00BE
keycode 0x3D = slash question U00AF U00BF
keycode 0x3E = Shift_R Shift_R
keycode 0x6F = Up Up U2191 U21D1
keycode 0x57 = KP_End KP_1
keycode 0x58 = KP_Down KP_2
keycode 0x59 = KP_Next KP_3
keycode 0x68 = KP_Enter Return
keycode 0x25 = Control_L Control_L
keycode 0x85 = Alt_L Alt_L
keycode 0x40 = Mode_switch Mode_switch
keycode 0x41 = space space U00A0 U3000
keycode 0x6C = Alt_R Alt_R
keycode 0x86 = Meta_R Meta_R
keycode 0x87 = Multi_key Multi_key
keycode 0x69 = Control_R Control_R
keycode 0x71 = Left Left U2190 U21D0
keycode 0x74 = Down Down U2193 U21D3
keycode 0x72 = Right Right U2192 U21D2
keycode 0x5A = KP_Insert KP_0
keycode 0x5B = KP_Delete KP_Decimal
keycode 0xA6 = Alt_L Alt_L
keycode 0xA7 = Multi_key Multi_key
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
clear Ctrl
add Shift = Shift_L Shift_R
add Control = Control_L Control_R
add Mod1 = Alt_L Alt_R
add Mod2 = Num_Lock
add Mod3 = Meta_L Meta_R
add Mod4 = Scroll_Lock
add Mod5 = Mode_switch
Reply to: