AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 749660
Accepted
Costales
Costales
Asked: 2016-03-25 03:12:11 +0800 CST2016-03-25 03:12:11 +0800 CST 2016-03-25 03:12:11 +0800 CST

如何在 Ubuntu 16.04 中持续重新映射键?

  • 772

这适用于当前会话:

costales@dev:~/Desktop$ xmodmap -e "keycode 166 = less"
costales@dev:~/Desktop$ xmodmap -e "keycode 167 = greater"

然后我创建了这个配置文件:

costales@dev:~/Desktop$ cat ~/.Xmodmap 
keycode 166 = less
keycode 167 = greater
costales@dev:~/Desktop$ 

但是重启后就不行了。我怎么能强制重新映射在重新启动后继续存在?

keyboard
  • 9 9 个回答
  • 38975 Views

9 个回答

  • Voted
  1. Best Answer
    Oli
    2016-03-25T03:23:28+08:002016-03-25T03:23:28+08:00

    我一直在使用 16.04,它似乎使用 sddm 作为其桌面管理器。在此之前它曾经是 LightDM 和 GDM。它的两个前身都被记录为自动加载~/.Xmodmap,但我找不到任何明确说明 sddm 的东西。

    因此,建议只强制它加载新脚本。你只需要运行xmodmap ~/.Xmodmap,你可以通过多种方式做到这一点:

    • 通过图形启动工具添加它
    • 编辑~/.xinitrc运行它。
    • 在中添加新.desktop配置~/.config/autostart/

    可能有几十种其他方法来管理这个,基本上做同样的事情。

    • 19
  2. GilbertS
    2019-07-30T02:13:10+08:002019-07-30T02:13:10+08:00

    根据我在 Ubuntu中重新映射密钥的长期经验,永久的解决方案是修改一个名为evdev./usr/share/X11/xkb/keycodes

    在命令提示符下运行此命令。

    sudo gedit /usr/share/X11/xkb/keycodes/evdev

    请记住 gedit 是一个 Ubuntu 文本编辑器,因此您可以使用 nano 或 vim 代替 gedit。

    该文件的格式为:别名:代码。您可以通过交换不同键的代码来交换按钮。例如,要将 RCONTROL 与 RETURN 交换,请将 evdev 中的两行编辑为:

    <RTRN> = 105;

    <RCTL> = 36;

    要知道xev终端上运行的按钮的数字代码。

    • 19
  3. Stuart K. Smith
    2016-07-25T13:51:07+08:002016-07-25T13:51:07+08:00

    我添加了一个/etc/X11/Xsession.d/80_xmodmap包含以下内容的文件:

    #!/bin/sh
    # Set custom keycodes
    #
    # This file is sourced by Xsession(5), not executed.
    # The "|| true" is to ensure that the Xsession script does not terminate on error
    
    USRMODMAP="$HOME/.Xmodmap"
    
    if [ -x /usr/bin/xmodmap ]; then
            if [ -f "$USRMODMAP" ]; then
                    /usr/bin/xmodmap "$USRMODMAP" || true
            fi
    fi
    

    这每次都有效。

    • 8
  4. eexpress
    2016-11-09T06:43:54+08:002016-11-09T06:43:54+08:00

    打开 gnome 会话属性。添加命令和名称。desktop 文件将在 ~/.config/autostart 中创建。

    记住:使用绝对路径,例如 /home/xxx/.Xmodmap。永远不要使用 '~' 作为你的主目录。

    • 5
  5. Sanalgorithm
    2018-09-01T05:48:08+08:002018-09-01T05:48:08+08:00

    在谷歌上搜索后,我能够解决我的笔记本电脑错误的键重新映射问题。我的 Thinkpad T400 上的所有故障键在重新映射后都可以正常工作。此外,它是永久性的,不会对 CPU 内核造成额外负载。

    • 首先使用以下命令找到您的键盘布局或键码。

      xev -event keyboard 
      
    • 例如,在我的 Thinkpad T400 上找到如下键码:

      Keycode of "z" key is 52
      Keycode of "x" key is 53
      Keycode of "c" key is 54
      Keycode of "v" key is 55
      Keycode of "F6" key is 72
      Keycode of "F10" key is 76
      Keycode of "F11" key is 95
      Keycode of "F12" key is 96 
      
    • 通过分配功能键“F6”“F10”“F11”“F12”重新映射字符键“z”“x”“c”“v”。

    • 如下修改行(在进行任何更改之前备份文件以在出现问题时轻松回滚)。

      sudo vi /usr/share/X11/xkb/keycodes/evdev
      
    • 找到以下行并更改值:

      <AB01> = 72;
      <AB02> = 76;
      <AB03> = 95;
      <AB04> = 96;
      
    • 注释这些行或删除这些行:

      //  <FK06> = 72;
      //  <FK10> = 76;
      //  <FK11> = 95;
      //  <FK12> = 96;
      
    • 保存并退出。

    要重新映射特殊键:

    • 如果出现问题,请在更改回滚之前备份文件。

      cd /usr/share/X11/xkb/symbols/
      
      sudo vi pc
      
    • 在函数 "xkb_symbols "editing" {" 中添加或修改以下行

      key [SCLK] {    [  Prior        ]   };
      key [PAUS] {    [  Next         ]   };
      
    • 保存并退出。

    • 清除缓存。

      sudo rm -rf /var/lib/xkb/*
      
    • 重启。

    • 3
  6. quaeched
    2017-11-27T05:12:08+08:002017-11-27T05:12:08+08:00

    导航

    /usr/share/X11/xkb/symbols
    

    使用 sudo 权限,在编辑器中打开您想要编辑的布局。替换值。

    重新启动后,将应用更改。


    这是一个由于键盘硬件问题而用于重新映射键盘的示例。

    键盘重映射示例

    • 2
  7. Ghulam Hassan
    2020-12-04T22:13:44+08:002020-12-04T22:13:44+08:00

    转到启动应用程序并使用以下屏幕截图中显示的内容创建一个新条目:

    添加新的启动应用程序(命令)

    它每次都有效。

    • 2
  8. Jonathan
    2019-08-30T08:18:25+08:002019-08-30T08:18:25+08:00

    图形编辑器

    gnome-tweaks> 键盘和鼠标 > 其他布局选项

    键映射

    • 1
  9. u2n
    2016-12-10T08:48:21+08:002016-12-10T08:48:21+08:00

    因为 .Xmodmap 文件比 xkb 更容易编辑,所以我使用 .Xmodmap 作为“源”文件,然后将其转换为 xkb(当前标准)并在启动时使用 .bashrc 方法自动加载。

    这是张贴在这里的几个简单的步骤。

    完美运行,并且在放弃对 .Xmodmap 的支持时使用 xkb 未来证明。

    • 0

相关问题

  • 有哪些有用的键盘快捷键?[关闭]

  • 如何在 Compiz->Commands 中获得超过 12 个命令?[关闭]

  • 输入语言切换键只接受 shift-alt 而不是 alt-shift [关闭]

  • 如何在键盘上映射未映射的键?[关闭]

  • 如何重置我的键盘布局?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve