Version: konsole 1.2 (using KDE KDE 3.1) Installed from: RedHat RPMs OS: Linux Making modifications to the default.Keytab file appears to have no effect on Konsole even after restarting (exiting all instances). Under Redhat 9.0, I modified the file: /usr/share/apps/konsole/default.Keytab ..changing these settings such that backspace generates backspace, and delete generates delete: key Backspace : "\x08" key Delete : "\x7f" But these settings do not take effect. 'strace konsole' appears to show the default.Keytab is not even opened; the following shows 'strace konsole' invoked from an xterm: ---- snip % strace konsole | & grep -i keytab stat64("/usr/share/apps/konsole/linux.keytab", {st_mode=S_IFREG|0644, st_size=3306, ...}) = 0 stat64("/usr/share/apps/konsole/vt100.keytab", {st_mode=S_IFREG|0644, st_size=3276, ...}) = 0 stat64("/usr/share/apps/konsole/vt420pc.keytab", {st_mode=S_IFREG|0644, st_size=4498, ...}) = 0 stat64("/usr/share/apps/konsole/x11r5.keytab", {st_mode=S_IFREG|0644, st_size=1824, ...}) = 0 ---- snip
It is possible this is a packaging problem on the part of Redhat 9.0; the file that comes with is called 'default.Keytab', but when the file is renamed to 'default.keytab', it works. FYI, the rpm that comes with redhat 9.0 includes a file called 'default.Keymap' instead of 'default.keymap'. Argh: ---- snip % uname -a Linux ontario 2.4.20-6 #1 Thu Feb 27 10:06:59 EST 2003 i686 i686 i386 GNU/Linux % rpm -ql kdebase | grep konsole | grep -i keytab /usr/share/apps/konsole/README.KeyTab /usr/share/apps/konsole/default.Keytab <-- capital 'K' /usr/share/apps/konsole/linux.keytab /usr/share/apps/konsole/vt100.keytab /usr/share/apps/konsole/vt420pc.keytab /usr/share/apps/konsole/x11r5.keytab % cp /usr/share/apps/konsole/default.Keytab /usr/share/apps/konsole/default.keytab % strace konsole | & grep -i keytab stat64("/usr/share/apps/konsole/linux.keytab", {st_mode=S_IFREG|0644, st_size=3306, ...}) = 0 stat64("/usr/share/apps/konsole/vt100.keytab", {st_mode=S_IFREG|0644, st_size=3276, ...}) = 0 stat64("/usr/share/apps/konsole/vt420pc.keytab", {st_mode=S_IFREG|0644, st_size=4498, ...}) = 0 stat64("/usr/share/apps/konsole/x11r5.keytab", {st_mode=S_IFREG|0644, st_size=1824, ...}) = 0 stat64("/usr/share/apps/konsole/default.keytab", {st_mode=S_IFREG|0644, st_size=1833, ...}) = 0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OK ---- snip
Nope, it's still a problem. Although the strace shows "default.keytab" is loaded, it is not taking effect as the 'default'. So the original bug seems to be valid; the default.Keytab is the correct name, and is not being loaded.
No, I'd say the problem is indeed in packages, in particular in this patch RedHat applies: --- kdebase-3.0.0/konsole/other/default.Keytab.old Wed Apr 17 17:06:25 2002 +++ kdebase-3.0.0/konsole/other/default.Keytab Wed Apr 17 17:07:11 2002 @@ -1,20 +1,4 @@ -# [default.Keytab] Buildin Keyboard Table - -# -------------------------------------------------------------- -# -# This file is used to create the buildin keyboard table. -# It is included for reference purpose with the *.keytab -# files that are loaded dynamically. -# -# Modifying it does not have any effect (unless you -# derive the default.keytab.h and recompile konsole). -# -# To customize your keyboard, copy this file to something -# ending with .keytab and change it to meet you needs. -# Please read the README.KeyTab and the README.keyboard -# in this case. -# -# -------------------------------------------------------------- +# [default.Keytab] Keyboard Table for Red Hat Linux <snip the rest> Get the picture? (I'll leave it to the konsole devels to decide what to do with the report)
> [re: Redhat modifications] > Get the picture? The picture seems to be there's no way to modify the default behavior short of recompiling, which is unfortunate. To need to recompile the app to make changes to the default would seem a short coming of the app, from an administrative point of view. As a systems administrator, it is common for us to have to modify the linux machines on our network to make the Backspace really generate backspace, eg. when communicating to non-linux machines or dumb devices (modems, firewalls) via telnet/ssh/cu from within terminal applications such as konsole. I know we have Linus and DEC legacies to thank for that one, but often it's the sysadmins that are left to unravel these idiosyncrasies, and we hope/pray for config files to implement workarounds to adjust the defaults. I guess this is turning into a wish list item. :/
You can try modifying the other keytab files. I'm not familiar with konsole code, but I'm guessing the default keytab is built into the program for the situations in which no keytab can be found. And as it's included as reference, it's renamed to default.Keytab with capital K. If you wish to modify the behaviour of a keytab, you need to modify the keytab being used. Checking my konsoles, in Settings | Keyboards, there's no "default" entry. So no matter what, a keyboard description file will be loaded. By the way, I believe a better solution for your problem would be to create or use another keytab. Obviously the keys your equipment wants are not in sync with the default keytab, which is xterm from XFree86 4.
Something else I noticed; if I do make a new keytab file, e.g. 'default.keytab', konsole will show it in the menu, but won't let me select it, so that it stays in effect through restarts of konsole. 1) Create /usr/share/apps/konsole/default.keytab, change the keyboard line to read: keyboard "default" 2) Start konsole, choose the new 'default' option in the menu under: Settings | Keyboard | default Things will now work based on the settings in that file. 3) Hit Settings | Save Settings 4) Exit konsole, restart 5) Check Settings | Keyboard, and it went back to the system default of Xterm (Xfree 4.x.x).
Simply use a different file name such mykeyboard.keytab. And then select that file name under Settings->Keyboard (or use --keytab mykeyboard). Hit the Settings->'Save as default' if you want it to be your default. default.Keytab is not there to be edited; it is just a reference file for people to create a new keytab file. From the top of default.Keytab: # This file is used to create the buildin keyboard table. # It is included for reference purpose with the *.keytab # files that are loaded dynamically. # # Modifying it does not have any effect (unless you # derive the default.keytab.h and recompile konsole). # # To customize your keyboard, copy this file to something # ending with .keytab and change it to meet you needs. # Please read the README.KeyTab and the README.keyboard # in this case. #
> default.Keytab is not there to be edited Yes, pointed out in comment #3, and my opinion on that in #4, where I question that as a design decision. Basically, I think the decision to have the defaults.keytab ignored during startup should be revisited; why not have it load the defaults.keytab file if it exists? This way a sysadmin for a large facility can customize the default behavior of the app to fit a local hybrid environment, without having to recompile the vendor binaries.