8 linux keyboard-shortcuts x11 xkb console
我最近遇到了一个我以前从未见过的 Linux 功能,按下PrntScr键盘上的按钮会打印一张包含控制台内容的物理纸。
我真的需要找出如何禁用它。它让我发疯。
我遵循了创建自定义键盘映射的指南,我尝试将其重新映射到Esc并加载我的自定义键盘映射,但它似乎不起作用。通过禁用,我的意思是我希望密钥根本不发送任何输入,理想情况下我希望允许 CUPS 继续运行。
究竟是什么控制了这种行为?是否有任何特定的手册页我可以阅读?
编辑:我应该提供一些额外的信息:我在登录 TTY 而不是使用 DM 后启动 Openbox。我正在寻找一种即使我在 TTY 上也能禁用打印的解决方案,因为也PrntScr可以从 TTY 打印。
您应该能够PrntScr使用自定义在控制台上禁用keymap。在 archlinux 上的过程如下(其他发行版应该类似):
cd /usr/share/kbd/keymaps/i386/qwertycp us.map.gz personal.map.gz gunzip personal.map.gz使用您最喜欢的编辑器进行编辑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
gzip personal.map然后运行loadkeys personal加载自定义键盘映射,然后点击PrntScr测试新的键盘映射。/etc/vconsole.conf:替换KEYMAP=us为KEYMAP=personal.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。