键盘设置为“猫模式”

psi*_*tae 138 keyboard-shortcuts keyboard

我是一个养猫的人,也是一个爱猫的人。但是我不喜欢我的猫坐在我的键盘上按随机键并把所有东西弄得一团糟。

我有一个可以关闭键盘的功能键(一个特殊组合键除外)的想法。我知道已经有Ctl- S,但这会冻结键盘并跟踪输入,直到键盘解锁。

除了一个难以按下的意外组合键之外,有没有办法让键盘忽略所有输入?

加分项:有没有办法在 Windows 中做同样的事情?

cas*_*cas 228

在屏幕上的某处打开一个小终端窗口并cat在其中运行。

每当您想保护系统免受猫的侵害时,请将焦点移至该窗口。

没有多少人知道这一点,但此功能是该cat程序的一个重要设计目标:)。不幸的是,真正聪明的猫(比如我的邪恶野兽)知道 Ctrl-C 是什么。

如果您的猫足够聪明,可以找出Ctrl-C, Ctrl-D,Ctrl-\Ctrl-Z,请cat使用此 sh 脚本包装器 ( /usr/local/bin/toodamnsmartcat.sh) 运行:

#!/bin/sh

trap "" TSTP INT QUIT
stty raw -echo

while true; do
  cat -v
done
Run Code Online (Sandbox Code Playgroud)

  • 伯恩的猫没有被提及太多。对于所有相关人员来说,这仍然太令人沮丧了。Brian Kernighan 的宠物 awk 吃了他。 (95认同)
  • 是的,嗯,这是 `cat` 的最初目的 - 防止 Stephen Bourne 的 cat 弄乱第一个 unix 系统。它还可以输出文件内容的事实只是一个副作用,一个快乐的意外发现。而`grep` 实际上是以丹尼斯·里奇的猫命名的。:-p (83认同)
  • 在所有命令中... (72认同)
  • @KingZoingo 在这种情况下,他们会成为出色的 *糟糕的 Perl 程序员*。Perl 难以辨认的这种恼人的想法仅来自 Perl 不强迫您编写干净的代码这一简单事实。它绝对不会阻止您这样做,甚至可以很容易地这样做。只是大多数程序员都很懒惰并且编写了蹩脚的代码,是的,Perl 中的蹩脚代码看起来就像一只猫在你的键盘上行走。(对不起,这里的 Perl 人,我受够了人们认为他们所看到的所有糟糕的 Perl 就是 Perl 的实际情况)。 (19认同)
  • 猫是伟大的 Perl 程序员。即使它看起来像@#${},它也可能做一些有用的事情。 (18认同)
  • 真正的宠物命令名称词源:https://en.wikipedia.org/wiki/Biff (13认同)
  • 这解释了这么多命令......要承受野牛,键盘必须弯曲。 (13认同)
  • 我一生都找不到关于 S. Bourne 的猫的任何信息。相反,我能找到的最好的信息是它是“catenate”的简写,它是 [another](https://english.stackexchange.com/q/125416/115608) [term](http://wikidiff.com /catenate/concatenate) 用于“连接”。不过我还是想了解一下他的猫。 (7认同)
  • 哦,天哪,这就是为什么退出 vim 如此困难的原因吗?那只是……现在的世界是如此不同。 (7认同)
  • 而不是终端,`xev >/dev/null &`怎么样?没有可能的键盘输入_到它显示的窗口_将使其退出。(注意:窗口管理器热键不在保修范围内)。 (4认同)
  • 我不能赞成这个,因为它不会阻止我的猫把事情搞砸,她只会使用鼠标。 (3认同)
  • 如果它学会了 Ctrl+D 怎么办? (3认同)
  • 还有`stty raw -echo; cat -A`(带有一些 `cat`)以防止特殊的键处理,并且仍然可以看到你的猫输入了什么(并保留 `cat` 命令)。 (3认同)
  • 我试过了,我注意到 Ctrl-Z 很容易被意外按下(即使使用 dvorak 键盘)。有没有更强大的东西可以防止随机推送密钥? (2认同)
  • @psitae,德语键盘受 ctrl-Z 保护。 (2认同)
  • 伟大的轶事!不过说真的,`cat` 命令从第一天起就在 Unix 中使用,我相信 Stephen Bourne 直到后来才加入团队。“Ken's cat”更合理,而且 (IMO) 听起来也更好。(并且我假设您知道`grep` 名称来自何处的真实故事。) (2认同)

小智 72

锁定您的计算机。

这是一项您可能已经知道如何使用的功能,而且非常有效。
可以Super-L在大多数 linux 系统上轻松激活它,包括常见的 Debian 变体。

Ctrl-Alt-L 在 Ubuntu 上。

Windows-L 在 Windows 上。

Control-Shift-EjectControl-Shift-Power在 OS X 上。

所有输入(除了特殊的唯一组合)都被阻塞,从而提供有效的猫阻塞。

它可用于大多数计算机系统(包括 Microsoft Windows)。

  • @PaŭloEbermann 不同的 OS/DE 具有不同的键绑定。我知道,SUPER+L 适用于 Fedora/Gnome,CTRL+ALT+L 适用于 Ubuntu/Unity。尝试检查您的设置,锁定桌面/会话的快捷方式是什么。 (16认同)
  • @PaŭloEbermann 这是 Windows/Command 键。 (11认同)
  • 谁误导了决定在 Ubuntu 中窃取 Ctrl-Alt 组合的系统架构师,应该被迫使用像 IntelliJ 这样的现代 IDE,而不能更改快捷方式,直到他们明白为什么这是一个坏主意。然后还有一些。还有几千年! (8认同)

小智 53

打开vim

即使是最聪明的猫也无法退出vim。

  • +1 此解决方案也可以防止大多数人使用您的计算机! (21认同)
  • 然后有一天 Stackoverflow 将帮助一百万只猫 [退出 VIM](https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/).... (7认同)

Pat*_*tin 37

简短回答:

键入CTRL+ ALT+F2AFK,和CTRL+ ALT+ F7`何时到来了。


长答案:

虽然我赞成@cas 提出的解决方案,但我认为打开cat终端有一些缺点:

  • 所述当马虎鼠标选项启用,就足够了猫推动终端的窗口区域的鼠标以外重定向在后台输入到应用程序(或桌面)。结果,该 cat命令变得无用,因为它不再接收任何输入。
  • 一些unix/linux安装带有超级简单的键绑定,可以切换接收来自键盘的输入的前台应用程序,再次使cat命令无用;例如,在我的系统上,SUPER按键打开应用程序菜单

vim按照@DanJab 的建议打开终端会遇到与cat.

按照@BlueWizard 的建议锁定会话的缺点是必须再次输入他/她自己的密码。将计算机长时间无人看管地留在公共场所时,这显然是一种明智的做法,但对于在家中的短暂休息来说,这有点矫枉过正,尤其是当登录密码既长又输入复杂时。

因此,我提出的解决方案是使用组合

CTRL+ ALT+F2

以便暂时将系统切换到登录终端。除非猫找出您自己的登录名和密码,或者在各种可能的情况下无意中按下CTRL+ ALT+ F7,否则您的会话应该是完全安全的。

这适用于我尝试过的任何 Linux 系统,不需要额外的配置/脚本,使用起来非常快且易于记忆。

  • 你意识到,不是吗,你的猫趴在你腿上的一半原因是为了让它们看到你输入密码? (45认同)
  • @cas 哦不,我被发现了! (22认同)

小智 20

另一种选择是购买带有电源开关的键盘和/或鼠标。由于某些奇怪的原因,这在无线设备上更为常见。我更担心家里的幼儿而不是猫,但是在购买输入设备时,“它必须有一个物理电源开关”是我的要求清单。

  • 据推测,无线设备需要电池,所以电源开关是一个方便的功能,有助于延长电池寿命。 (24认同)
  • 键盘可能通常没有电源开关,但其中很多都有带插座的 USB 电缆,当计算机无人看管时,拔掉这些电缆很容易。 (6认同)

小智 18

我的键盘已经有这个功能了。它被称为OFF ON,里面有一个小开关。如果一只猫可以轻弹那个开关,我会印象非常深刻!

OFF ON 键盘开关


stu*_*dog 12

对于奖励积分:

我不敢相信

  1. Pawsense还在
  2. 还没有人提到它

不过,他们似乎没有将其移植到 *nix。


jam*_*lin 11

如果您不使用笔记本电脑,则可以通过拔下键盘来使用硬件解决方案。如果这太不方便,您可以使用带有物理开关的 USB 集线器并将键盘插入其中。可能使集线器远离键盘。然后您可以通过按下集线器上的开关断开/重新连接键盘。

  • 使用带有 USB 集线器的显示器——当显示器关闭时,我的显示器会关闭集线器——所以用一个(相当方便的)开关关闭所有 USB 连接的设备是微不足道的。 (5认同)