Qua*_*odo 5 debian tty scrolling console keyboard-layout
如果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
Run Code Online (Sandbox Code Playgroud)
作为dumpkeys
:
PgUp = 104
PgDown = 109
Run Code Online (Sandbox Code Playgroud)
斜杠和右移也被列出,因为我也将交换它们只是为了测试。
完全修改/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
Run Code Online (Sandbox Code Playgroud)
按照如何在 Linux 中更改控制台键盘映射的说明进行操作?。
dumpkeys > pageupdown
Run Code Online (Sandbox Code Playgroud)
然后交换了
keycode 73 keycode 104
keycode 81 keycode 109
keycode 54 keycode 89
Run Code Online (Sandbox Code Playgroud)
在该文件中并发布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 ] };
};
Run Code Online (Sandbox Code Playgroud)
Shift+Pg{Up,Down}
如何以滚动 TTY 缓冲区的方式映射键盘 PgUp 和 PgDown 键?有可能吗?
小智 -1
它不起作用的原因是您试图将表单控件添加到无表单的输出中。没有可滚动的缓冲区。
这似乎不太合理,所以让我解释一下。TTY 是控制台输出到实际 TTY 或 TeleTYpe 设备时的历史工件。它是一个串行终端打印机,例如从 DEC 搜索 LA120。实际上,您仍然可以将行式打印机挂接到 /dev/tty 中。某些服务器硬件还允许您在 BIOS 级别将此输出重定向到串行设备。如果您知道如何在绝对最坏的硬件故障排除场景中使用它,那么它会非常方便。
TTY 打印机会按原样打印每一行,然后纸张堆积在操作室的地板上。屏幕上的内容正是屏幕缓冲区中打印的内容。不过没有其他保留的信息可以滚动。
Console TTY 是为了保留某种日志而做出的最后努力,即使其他一切都搞砸了。它显示磁盘已满消息或导致系统停止的段故障,为实际操作员提供一些线索,说明为什么系统正在用电,但没有其他用处。
归档时间: |
|
查看次数: |
4426 次 |
最近记录: |