Bug 220562 - [patch] x11-servers/xorg-server: fix terminal initialization in absence of xf86-input-keyboard driver
Summary: [patch] x11-servers/xorg-server: fix terminal initialization in absence of xf...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-x11 (Nobody)
Keywords: patch
Depends on:
Blocks: 196678
  Show dependency treegraph
Reported: 2017-07-08 15:16 UTC by Vladimir Kondratyev
Modified: 2020-02-21 08:45 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (x11)

x11-servers.xorg-server.patch (2.90 KB, patch)
2017-07-08 15:16 UTC, Vladimir Kondratyev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Kondratyev freebsd_committer 2017-07-08 15:16:10 UTC
Created attachment 184182 [details]

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.
Comment 1 Matthew Rezny freebsd_committer 2017-07-31 04:48:02 UTC
I have integrated this, with improvements (using SYSCALL), into my 1.19 WIP.
Comment 2 Niclas Zeising freebsd_committer 2020-02-21 08:45:18 UTC
This was merged as part of the big xorg-server update in r526589.