标签: xorg

无需 xmodmap 或任何 X 工具即可重新映射键

由于咖啡事故,我的笔记本电脑键盘的一些数字停止工作。我曾经xmodmap使用F1,F2等作为替换并将配置保存到~/.Xmodmap.

然而,这导致了一些问题。

  1. 我并不总是在这台计算机上使用 X,并且不启动 Xxmodmap不适用。

  2. 这会导致 X 需要更多时间来启动。

  3. 出于某种原因,它导致与更改的任何键无关的 XFCE 键盘快捷键xmodmap停止工作(实际上,所有键盘快捷键都停止工作,除了窗口管理器快捷键)。自从我启动 X 几分钟后,XFCE 快捷方式又开始正常工作了!这种滞后不是很烦人,但也是一个问题。

我想在 X 启动之前操作系统会读取某种映射。没有办法改变那个映射吗?是否可以使用 X 工具更改键盘映射而不使用 X 工具?我使用 Debian 稳定版。

PS:很明显,文件的调用xmodmap .Xmodmapstartx/etc/xdg/xfce4/xinitrc。它的内容可以在这里找到。

linux keyboard xorg xfce keymap

16
推荐指数
2
解决办法
3万
查看次数

如何正确地将键盘键映射到鼠标按钮?

问题摘要:我希望Super_LX11将我的鼠标按钮之一注册为 Windows 左按钮。


在我的窗口管理器中,我可以通过按住“Windows 左键”(Left Super)并用鼠标左键拖动窗口来移动窗口。我希望能够在不触摸键盘的情况下做到这一点,所以我想将左超级键映射到鼠标按钮 11,这样我就可以按住鼠标按钮 11 并单击+拖动窗口。

最明显的解决方案是像这样使用 xbindkeys 和 xte ( .xbindkeysrc):

"xte 'keydown Super_L'"
  b:11

"xte 'keyup Super_L'"
  b:11 + release
Run Code Online (Sandbox Code Playgroud)

这像这样工作:

  • 当我按下鼠标按钮 11 时,Super_L也被按下
  • 当我释放鼠标按钮 11 时,Super_L也被释放

但是有一个问题:如果我还按住另一个鼠标按钮(例如鼠标按钮 11),我将无法使用Super_L+移动窗口Mouse1。使用上面的解决方案,鼠标按钮 11 仍然被注册为按下和释放,因此没有窗口管理器操作工作。

我一直在使用这两种桂皮和真棒WM,并尝试这个绝对没有的的Super_L同时鼠标左键10或11键盘组合工作被按下。

一个低于标准的黑客

我目前正在通过使鼠标 11 单击按住Super_L按钮一段时间来解决此问题。这样我就可以点击鼠标按钮,然后在短时间内拖动东西:

"xte 'keydown Super_L' 'usleep 250000' 'keyup Super_L'"
  b:11
Run Code Online (Sandbox Code Playgroud)

另一种尝试

按照 totti 的建议,我尝试了以下xbindkeys配置:

"xte 'mouseup 10' 'keydown Super_L'" …
Run Code Online (Sandbox Code Playgroud)

linux mouse keyboard xorg xbindkeys

16
推荐指数
2
解决办法
1万
查看次数

我的 X11 使用 Ctrl-Period 做什么?如何禁用它?

如何禁用任何 X-window-system-wide 设置拦截 Ctrl-Period 以获取某种特殊的输入弹出窗口?

更多细节:我正在尝试将 emacs 命令绑定到 Ctrl-句点 (C-.),该命令在以前的系统上运行良好。在这台新计算机上,X 级别(xinput?xkb?)似乎发生了一些事情,它拦截了击键,因此 emacs(或大多数其他应用程序)根本看不到它。

相反,当我在按住 Ctrl 的同时按句点时,会出现一个带下划线的小“e”,当我在图形窗口中时,它会内嵌,或者在终端或 emacs 窗口上作为弹出窗口显示(参见下图)。如果我输入更多字符,它们会显示在带下划线的“e”之后,也带下划线。后面的字符可以退格,但“e”不能退格,并且会一直保留,直到我按 Enter、Esc 或第二个 Ctrl-句点。在后两种情况下(第二个 C-. 或 Esc),所有下划线字符都会消失,没有其他效果,而在前一种情况下 (Enter),它们会消失,但会立即发送以下击键。

这显然发生在窗口系统级别,因为如果我按 C-。在一个应用程序中,然后将光标移动到另一个应用程序中进行输入,弹出窗口会在窗口之间跳转到具有焦点的窗口(有时会产生奇怪的副作用)。

最后,某些应用程序确实看到击键:如果我向 Chrome 中的空白网页添加按键事件侦听器,只要我没有聚焦输入元素,按键事件就会完全按照我的预期发出。但是,如果我聚焦了一个输入元素,那么当显示下划线“e”时,就会发出奇怪的“未识别”键。

浏览器位置栏中的 ctrl-period(后跟“123”)的结果:1

在终端、emacs 中 ctrl-period (后跟“456”)的结果类似:2

linux keyboard-shortcuts xorg xkb xinput

16
推荐指数
1
解决办法
2853
查看次数

什么 XMonad 配置最能复制默认的 Ion3 行为和功能集?

不太熟悉 Haskell 并感叹Ion 3现在是废弃软件,我很好奇是否有人找到了一种在XMonad中复制默认 Ion 3 行为和美学的方法。如果我不能在 XMonad 中获得 Ion 3 风格行为的近乎精确的复制品,那么这对我来说至关重要:

  1. 默认情况下为空并生成全屏应用程序的虚拟桌面,这些应用程序可以水平或垂直均匀拆分,留下一个空的相邻窗格。
  2. 装有打开窗口的窗格可以手动调整大小,最好通过键盘进行调整。
  3. 窗格表现出选项卡式行为,这意味着它们可以容纳多个窗口。
  4. Windows 可以通过键盘顺序在窗格/虚拟桌面之间进行标记和移动。
  5. 给定的窗口可以通过键盘序列临时分解为全屏模式。
  6. 每个新的虚拟桌面都以相同的状态开始——即,只有一个窗格。
  7. 每个虚拟桌面可以具有独立于其他虚拟桌面划分的窗格。

根据我的调查,似乎有几种配置提供了#3。尽管我很想花时间熟悉 Haskell,但我只是没有时间。任何建议将不胜感激。据我所知,Ion 没有主窗格或窗口的概念,因此不需要这种行为。

xorg xmonad ion3 haskell

15
推荐指数
1
解决办法
870
查看次数

如何在 Ubuntu 中重新启动冻结的屏幕而不会丢失任何打开的窗口?

我有一台运行 Ubuntu 12.04 LTS 的设备屏幕冻结。通常我只是跳到一个可用的 tty,即Ctrl- Alt-F1并执行命令/etc/init.d/lightdm restartservice lightdm restart. 然而,这会杀死我打开的所有东西。我如何避免这种情况?

linux xorg ubuntu

15
推荐指数
1
解决办法
3万
查看次数

跨 X 个会话“分离”和“重新附加”xterms?

有没有办法保存/分离 xterm(或另一个窗口),并在同一台机器上的不同 X 会话上重新打开/加载/重新附加它?

我想要实现的是在机器上运行的两个 VNC 会话之间“移动”运行 xterm。

不,我不是在寻找屏幕 :)

我不想使用屏幕,因为那样我将需要为每个 xterm 使用单独的屏幕会话。在屏幕中使用多个选项卡对我的情况不起作用,因为我需要一次查看多个 xterm - 而不是在选项卡之间切换。

NX 是另一个出现的选项,但它需要服务器上的权限才能安装软件。我正在寻找一些使用 X 的解决方案,或者直接在其中一个窗口管理器中寻找一些选项。fvwm / xfce / gnome 会很好,但也欢迎其他具有此功能的 WM。

linux vnc unix xorg

14
推荐指数
2
解决办法
1万
查看次数

如何在ubuntu上将鼠标速度设置得非常低

我在 System->Preferences->Mouse 中将鼠标加速度和灵敏度级别设置为最低,但是使用我拥有的新鼠标,即使这些设置也太快了。有没有办法进一步降低速度?鼠标的分辨率似乎比需要的要高得多。有没有办法减少它?鼠标是 Okano A1020 激光鼠标。lsusb -v 说明如下:

    总线 006 设备 002:ID 12cf:0047  
设备描述符:
  b 长度 18
  bDescriptorType 1
  bcdUSB 1.10
  bDeviceClass 0(在接口级别定义)
  bDeviceSubClass 0 
  b设备协议0 
  bMaxPacketSize0 8
  idVendor 0x12cf 
  idProduct 0x0047 
  bcdDevice 51.04
  iManufacturer 1 鼠标中心
  iProduct 2 激光鼠标
  串行 0 
  bNumConfigurations 1
  配置描述符:
    b 长度 9
    bDescriptorType 2
    w 总长度 34
    bNumInterfaces 1
    b配置值 1
    配置 0 
    bmAttributes 0xa0
      (总线供电)
      远程唤醒
    最大功率 100mA
    接口描述符:
      b 长度 9
      bDescriptorType 4
      b接口编号 0
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 3 人机接口设备 …

mouse xorg ubuntu-9.04 ubuntu

14
推荐指数
1
解决办法
3万
查看次数

在 Ubuntu 9.10 上,Karmic Koala 中的 xorg.conf 文件在哪里?

我正在尝试更改xorg.conf我曾经在 Ubuntu 9.04 下修改过的这个文件,以便它可以拥有更高的显示器分辨率。9.04下的显示器不知道,我不得不在文件中输入所有分辨率,虽然在9.10下找到了,但9.10没有我的显示器可以承受的最高分辨率。

我该如何更改这样的设置?是xorg.conf搬家还是换了?

xorg resolution ubuntu-9.10 x-windows ubuntu

14
推荐指数
1
解决办法
5万
查看次数

在 xorg 下启用粘滞键(很棒的桌面管理器)

我想在 archlinux + awesome 下启用“粘性修饰键”,但我没有找到正确的信息。

linux xorg awesome-wm

13
推荐指数
2
解决办法
5605
查看次数

在多座位配置中将 USB 集线器分配给特定座位

在我的基于 debian 的机器上,我有一个有效的multiseat configuration

到目前为止我无法解决的一个烦人的细节是我连接的任何 USB 硬件总是分配给主要座位。

网上搜了下,看来解决这个问题的办法是在机器上接一个USB集线器,把它的“所有权”分配给次席。这样,任何连接到集线器的设备都将被控制到次要座位。但是,我对如何分配所有权有点困惑

lsusb 允许我跟踪集线器的总线位置:

Bus 002 Device 004: ID 1a40:0201 Terminus Technology Inc. Hub
Run Code Online (Sandbox Code Playgroud)

如果有人能从这里引导我,我将不胜感激......

PS:最初我认为我必须调整xorg.conf设置,但阅读 conf.xorg 文档我找不到任何相关的内容。在其他一些帖子中,我也阅读了有关 using 的内容udev,但同样......我没有找到关于如何实现这一点的明确方法。

usb debian xorg multiseat udev

13
推荐指数
1
解决办法
1318
查看次数