xfce4 vncviewer 修改器按钮 1 未发送

xfce4 vncviewer 修改器按钮 1 未发送

我担心这要么是重复的,要么是难以解释的情况,拭目以待。

我有一个远程遗留系统,在“旧”xwindow 系统上运行,上面有一个“旧”vnc 服务器。在那里,我得到了一个运行良好的 xemacs,几十年来一直如此。xemacs 的设置使得 Shift_L+Button1 Control_L+Button1 Alt_L+Button 都映射到 xemacs 函数,并且所有这些都可以在本地或通过 man other dsitro linux 版本 vnclient 到这个 vncserver 上工作。正常工作意味着我的所有 vnclient 都会发送任何使那些 Modifier+Button1 工作所需的信息

现在在 1 个节点上我安装了 ubuntu 服务器 16.04 并安装了 xfce4。

在 xfce4 上,我得到了所有我知道的可能的键盘快捷键(我可能错过了一些?)以便不使用任何快捷方式。

设置->键盘->应用程序快捷方式为空

设置->键盘->布局是系统默认设置(我测试了 gebneric 101 键 PC,没有修复)

设置->窗口管理器->键盘全部清除

设置->窗口管理器调整->辅助功能->抓取和移动窗口的键->无

我尝试删除所有可以拦截 shift/alt/ctrl 修饰键的快捷方式。

然后我用 xev 检查了我的 xserver 并看到了这个

Alt_L+Button1 KeyPress 事件,序列 33,合成 NO,窗口 0x2800001,根 0x49f,subw 0x0,时间 7015251,(14,146),根:(885,667),状态 0x0,键码 64(keysym 0xffe9,Alt_L),same_screen YES,XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False

ButtonPress event, serial 36, synthetic NO, window 0x2800001,
    root 0x49f, subw 0x0, time 7016124, (14,146), root:(885,667),
    state 0x8, button 1, same_screen YES

ButtonRelease event, serial 36, synthetic NO, window 0x2800001,
    root 0x49f, subw 0x0, time 7017228, (14,146), root:(885,667),
    state 0x108, button 1, same_screen YES

KeyRelease event, serial 36, synthetic NO, window 0x2800001,
    root 0x49f, subw 0x0, time 7017843, (14,146), root:(885,667),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Control_L+Button1 KeyPress 事件,序列 36,合成 NO,窗口 0x2800001,根 0x49f,subw 0x0,时间 7093556,(5,153),根:(937,652),状态 0x0,键码 37(keysym 0xffe3,Control_L),same_screen YES,XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False

ButtonPress event, serial 36, synthetic NO, window 0x2800001,
    root 0x49f, subw 0x0, time 7094508, (5,153), root:(937,652),
    state 0x4, button 1, same_screen YES

ButtonRelease event, serial 36, synthetic NO, window 0x2800001,
    root 0x49f, subw 0x0, time 7095420, (5,153), root:(937,652),
    state 0x104, button 1, same_screen YES

KeyRelease event, serial 36, synthetic NO, window 0x2800001,
    root 0x49f, subw 0x0, time 7096076, (5,153), root:(937,652),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

我的修饰符 Tc$ xmodmap -pm xmodmap: 每个修饰符最多 4 个键,(括号中为键码):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_L (0x42),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2      
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

当使用 xemacs 对我的旧式 x11 服务器执行 xvncviewer 时,执行 ie decrive-key 并且执行 + xemacs 时仅收到无修饰符。

由于远程 vncservers 可以从其他客户端很好地运行,因此我将其删除(此外它已经运行了几十年)。

由于我的所有其他 vnclient(Ubuntu 14.04、debian、redhat)都运行正常,因此我将它们划掉。

只有这个 Ubuntu 16.04 + xfce4 似乎有问题。

不知道下一步该看什么。

干杯,Phi

相关内容