Summary: |
[patch] x11-servers/xorg-server: fix terminal initialization in absence of xf86-input-keyboard driver |
Product: |
Ports & Packages
|
Reporter: |
Vladimir Kondratyev <wulf> |
Component: |
Individual Port(s) | Assignee: |
freebsd-x11 (Nobody) <x11> |
Status: |
Closed
FIXED
|
|
|
Severity: |
Affects Some People
|
CC: |
o.hushchenkov, rezny, zeising
|
Priority: |
---
|
Keywords: |
patch |
Version: |
Latest | Flags: |
bugzilla:
maintainer-feedback?
(x11)
|
Hardware: |
Any | |
|
OS: |
Any | |
|
See Also: |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678
|
Bug Depends on: |
|
|
|
Bug Blocks: |
196678
|
|
|
Attachments: |
|
Created attachment 184182 [details] x11-servers.xorg-server.patch Xorg-server is the program that shares framebuffer with the kernel terminal emulator. To avoid interference it must disable terminal output on start and restore on finish. Currently it is done partially by xorg-server itself, partially by and xf86-input-keyboard driver. Switching to xf86-input-evdev or xf86-input-libinput as keyboard events source disables xf86-input-keyboard and broke terminal handling. Attached patch fixes terminal initialization with copy-pasting missing chunks of code from xf86-input-keyboard to xorg-server. Similar changes are already done in Linux-specific parts of xorg-server (See hw/xfree86/os-support/linux/lnx_init.c). Attached patch: 1. Disables processing of special keys (CTRL-C, ALT-Fn) by switching terminal keyboard to K_RAW mode. 2. Turns off annoying bell on input queue overflow. 3. Disables terminal echoing. It is believed that switching terminal to KD_GRAPHICS mode should do #3, but that is wrong at least on VT consoles.