uname -r
如果返回大于 5.9 的 Linux 版本,则停止读取,因为回滚已被简单地删除(1,2)。
我的键盘没有单独的 PgUp 和 PgDown 键。它们位于数字键盘中,与 KP_9 和 KP_3 共享位置。
Shift+Pg{Up,Down}
无论 Numlock 打开或关闭,都无法滚动终端。
由于我不关心键盘数字,但非常关心滚动,因此我已成功地将它们在 X11 中重新映射到“上一个”和“下一个”,无论 Numlock 状态如何,现在Shift+{PgUp,Down}
两者都可以在 Xterm 中使用。
但是,我无法在 TTY 中实现相同的目标。例如,使用其他具有专用页面键的键盘,我可以在读取大文件Shift+PgUp
后向后滚动。cat
原始键码
作为showkeys
:
KP_3/KP_PgUp = 73
KP_9/KP_PgDown = 81
Slash = 89
Right Shift = 54
作为dumpkeys
:
PgUp = 104
PgDown = 109
斜杠和右移也被列出,因为我也将交换它们只是为了测试。
尝试
完全修改
/etc/console-setup/remap.inc
为这样:keycode 73 = Prior shift keycode 73 = Scroll_Backward shift shiftl keycode 73 = Scroll_Backward shift shiftr keycode 73 = Scroll_Backward shift shiftl shiftr keycode 73 = Scroll_Backward shift ctrll keycode 73 = Scroll_Backward shift shiftl ctrll keycode 73 = Scroll_Backward shift shiftr ctrll keycode 73 = Scroll_Backward shift shiftl shiftr ctrll keycode 73 = Scroll_Backward keycode 81 = Next shift keycode 81 = Scroll_Forward shift shiftl keycode 81 = Scroll_Forward shift shiftr keycode 81 = Scroll_Forward shift shiftl shiftr keycode 81 = Scroll_Forward shift ctrll keycode 81 = Scroll_Forward shift shiftl ctrll keycode 81 = Scroll_Forward shift shiftr ctrll keycode 81 = Scroll_Forward shift shiftl shiftr ctrll keycode 81 = Scroll_Forward keycode 89 = Shift keycode 54 = slash shift keycode 54 = question altgr keycode 54 = degree shift altgr keycode 54 = questiondown
按照以下说明进行操作如何更改 Linux 中的控制台键盘映射?。
dumpkeys > pageupdown
然后交换了
keycode 73 keycode 104 keycode 81 keycode 109 keycode 54 keycode 89
在该文件中并发布
loadkeys -s pageupdown
。
结果
在这两个实验中,
尽管两个键盘按键不再打印数字并且仍然可以根据需要
PgUp
工作(它会滚动),但不会滚动 TTY。less
Shift+PgUp
右移和斜杠已正确交换。
补充笔记
切换 Numlock 对任何配置都没有帮助。 Fn 键对这些键也没有任何作用。
我还尝试将更普通的键(即
l
和p
)映射到页面操作,但没有成功。如果有任何帮助的话,这是在 X 会话中工作的 XKB 映射:
partial keypad_keys xkb_symbols "noKPNumbers" { key <KP9> { [ Prior, Prior ] }; key <KP3> { [ Next, Next ] }; };
Shift+Pg{Up,Down}
如何以滚动 TTY 缓冲区的方式映射键盘 PgUp 和 PgDown 键?有可能吗?
答案1
它不起作用的原因是您试图将表单控件添加到无表单的输出中。没有可滚动的缓冲区。
这似乎不太合理,所以让我解释一下。 TTY 是控制台输出到实际 TTY 或 TeleTYpe 设备时的历史工件。它是一个串行终端打印机,例如从 DEC 搜索 LA120。实际上,您仍然可以将行式打印机挂接到 /dev/tty 中。某些服务器硬件还允许您在 BIOS 级别将此输出重定向到串行设备。如果您知道如何在绝对最坏的硬件故障排除场景中使用它,那么它会非常方便。
TTY 打印机会按原样打印每一行,然后纸张堆积在操作室的地板上。屏幕上的内容正是屏幕缓冲区中打印的内容。不过没有其他保留的信息可以滚动。
Console TTY 是为了保留某种日志而做出的最后努力,即使其他一切都搞砸了。它显示磁盘已满消息或导致系统停止的段故障,为实际操作员提供一些线索,说明为什么系统正在用电,但没有其他用处。