完全禁用 PrntScr 密钥

8 linux keyboard-shortcuts x11 xkb console

我最近遇到了一个我以前从未见过的 Linux 功能,按下PrntScr键盘上的按钮会打印一张包含控制台内容的物理纸。

我真的需要找出如何禁用它。它让我发疯。

我遵循了创建自定义键盘映射的指南,我尝试将其重新映射到Esc并加载我的自定义键盘映射,但它似乎不起作用。通过禁用,我的意思是我希望密钥根本不发送任何输入,理想情况下我希望允许 CUPS 继续运行。

究竟是什么控制了这种行为?是否有任何特定的手册页我可以阅读?

编辑:我应该提供一些额外的信息:我在登录 TTY 而不是使用 DM 后启动 Openbox。我正在寻找一种即使我在 TTY 上也能禁用打印的解决方案,因为也PrntScr可以从 TTY 打印。

don*_*sti 3

您应该能够PrntScr使用自定义在控制台上禁用keymap。在 archlinux 上的过程如下(其他发行版应该类似):

  1. cd /usr/share/kbd/keymaps/i386/qwerty
  2. 将默认键盘映射复制到新文件:cp us.map.gz personal.map.gz
  3. gunzip 新地图文件:gunzip personal.map.gz
  4. 使用您最喜欢的编辑器进行编辑personal.map
    切换到tty,运行showkey并按PrntScr以获取关键代码。在我的系统上它输出:

    keycode 99 press
    keycode 99 release
    
    Run Code Online (Sandbox Code Playgroud)

    所以PrntScr代码是99. 添加

    keycode  99 = nul
    
    Run Code Online (Sandbox Code Playgroud)

    personal.map

  5. gzip 映射文件: gzip personal.map然后运行loadkeys personal加载自定义键盘映射,然后点击PrntScr测试新的键盘映射。
  6. 通过(如果不存在则创建并)编辑使其永久化/etc/vconsole.conf:替换KEYMAP=usKEYMAP=personal.
  7. 重启

PrntScr以上仅适用于控制台,您还必须在X.
一种方法是在您的文件中将其注释掉X keycodes(与您的键盘对应的文件 - linux 使用/usr/share/X11/xkb/keycodes/evdev)。关键代码是<PRSC>,注释掉(添加//在它前面)例如替换

<PRSC> = 107;
Run Code Online (Sandbox Code Playgroud)

// <PRSC> = 107;
Run Code Online (Sandbox Code Playgroud)

完全禁用PrntScr