Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Dnes jsem měl konečně čas se podívat na zoubek konfiguraci vstupních zařízení u nových X. Ta nabízejí dvě základní možnosti: buď klasickou "statickou" v xorg.conf
, nebo dynamickou pomocí HAL. Mě už dlouho zajímala dynamická konfigurace, především protože právě díky ní lze mít na notebooku opravdu dobře (TM) fungující hlodavce
Dřívější X servery totiž s možností mobilních zařízení vůbec nepočítaly. V době sériových a PS/2 myší to totiž ani nebylo potřeba. Všechny myši uměly to stejné (tři tlačítka a později kolečko) a připojovaly se přes stejné rozhraní, takže se na koncepci X serveru "načti zařízení při svém startu" nemuselo nic měnit. S nástupem USB myší, event rozhraní a udevu se toto vše ale zbortilo. Myši se začaly chovat každá jinak a připojovat se pokaždé přes jiné zařízení. "Vyřešilo" se to hackem v podobě zařízení /dev/input/mice
, do kterého se slévaly události ze všech myší, o kterých jádro vědělo. Ani to ale nebylo ideální. Jednak se u všech USB myší připojovaných za běhu daly využít jen základní vlastnosti, ale to nebylo to nejhorší. Opravdu nepříjemná byla duplikace signálů od Touchpadu (která se dala dalším hackem potlačit) a nemožnost nastavit Option "EmulateWheel" "true"
pouze pro trackpoint (to už nijak obejít nešlo).
X.org 1.5 umí všechny tyto neduhy řešit pomocí dynamické konfigurace zařízení přes HAL. To s sebou ale bohužel nese opuštění staré dobré přehledné syntaxe xorg.conf
, na druhou stranu ovšem stačí konfigurovat nezbytné minimum. Na svém počítači používám 4 vstupní zařízení: klávesnici, trackpoint, touchpad a USB myš Logitech RX300. Z toho mi ubuntí HAL s X rozpoznávají USB myš a touchpad, ale trackpoint a klávesnice ještě potřebují "nakopnout", aby odpovídaly mé oblíbené konfiguraci:
# klávesnice Section "InputDevice" ... Option "XkbLayout" "us,cz" Option "XkbOptions" "grp:shift_toggle,grp:switch,lv3:ralt_switch" EndSection # trackpoint Section "InputDevice" ... Option "EmulateWheel" "true" Option "EmulateWheelTimeout" "200" Option "EmulateWheelButton" "2" ... EndSectionTedy ne, že by je nerozpoznaly vůbec, pouze u klávesnice nastaví natvrdo českou klávesovou mapu a u trackpointu se snaží emulovat kolečko při stisku neexistujícího tlačítka "4". Takže je vlastně potřeba přepsat výše zmíněný konfigurák tak, aby mu porozuměl HAL:
<?xml version="1.0" encoding="UTF-8"?> <deviceinfo version="0.2"> <device> <match key="info.product" string="TPPS/2 IBM TrackPoint"> <merge key="input.x11_options.EmulateWheel" type="string">true</merge> <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge> <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> </match> <match key="info.capabilities" contains="input.keys"> <merge key="input.x11_options.XkbLayout" type="string">us,cz</merge> <merge key="input.x11_options.XkbOptions" type="string">grp:shift_toggle,grp:switch,lv3:ralt_switch</merge> </match> </device> </deviceinfo>Toto XML je pak potřeba pojmenovat a dát do míst, kde HAL hledá svou konfiguraci - v mém případě je to soubor
/etc/hal/fdi/policy/10-x11-input.fdi
. Potom už všechny myši krásně myšují i lidem, co notebooky používají opravdu jako notebooky.
Tiskni Sdílej:
Option "AutoAddDevices" "false"
(II) config/hal: Adding input device TPPS/2 IBM TrackPoint (**) TPPS/2 IBM TrackPoint: always reports core events (**) TPPS/2 IBM TrackPoint: Device: "/dev/input/event5" (II) TPPS/2 IBM TrackPoint: Found x and y relative axes (II) TPPS/2 IBM TrackPoint: Found mouse buttons (II) TPPS/2 IBM TrackPoint: Configuring as mouse (II) XINPUT: Adding extended input device "TPPS/2 IBM TrackPoint" (type: MOUSE) (**) Option "Emulate3Buttons" "true" (II) TPPS/2 IBM TrackPoint: Forcing middle mouse button emulation. (II) config/hal: Adding input device AT Translated Set 2 keyboardVeci ako scrollovanie trackpoinotm úplne ignoruje. Treba na to nejaký špeciálny software?
$ hal-device /org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' input.x11_options.Emulate3Buttons = 'true' (string) input.x11_options.YAxisMapping = '4 5' (string) linux.sysfs_path = '/sys/class/input/input4/event4' (string) info.category = 'input' (string) input.device = '/dev/input/event4' (string) info.subsystem = 'input' (string) input.x11_options.XAxisMapping = '6 7' (string) info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) info.capabilities = { 'input', 'input.mouse' } (string list) info.product = 'TPPS/2 IBM TrackPoint' (string) input.product = 'TPPS/2 IBM TrackPoint' (string) input.x11_options.EmulateWheelTimeOut = '200' (string) info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.device_file = '/dev/input/event4' (string) input.x11_driver = 'evdev' (string) input.x11_options.EmulateWheel = 'true' (string) input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) input.x11_options.EmulateWheelButton = '2' (string) input.x11_options.ZAxsisMapping = '4 5' (string)
Takže presne to nastavenie mám. Z logu:
(II) XINPUT: Adding extended input device "TPPS/2 IBM TrackPoint" (type: MOUSE) (**) Option "Emulate3Buttons" "true" (II) TPPS/2 IBM TrackPoint: Forcing middle mouse button emulation.
vyplýva, že jediné nastavenie ktoré z hal použilo je emulácia 3 gombíkov (nie scrollovanie).
Z výpisu hal-device:
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' input.x11_options.Emulate3Buttons = 'true' (string) input.x11_options.YAxisMapping = '4 5' (string) linux.sysfs_path = '/sys/class/input/input4/event4' (string) info.category = 'input' (string) input.device = '/dev/input/event4' (string) info.subsystem = 'input' (string) input.x11_options.XAxisMapping = '6 7' (string) info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) info.capabilities = { 'input', 'input.mouse' } (string list) info.product = 'TPPS/2 IBM TrackPoint' (string) input.product = 'TPPS/2 IBM TrackPoint' (string) input.x11_options.EmulateWheelTimeOut = '200' (string) info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.device_file = '/dev/input/event4' (string) input.x11_driver = 'evdev' (string) input.x11_options.EmulateWheel = 'true' (string) input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) input.x11_options.EmulateWheelButton = '2' (string) input.x11_options.ZAxsisMapping = '4 5' (string)
vyplýva, že systém hal má správne informácie o trackpointe (alebo sa mýlim)?
Potrebujem teda vedieť čo mám zlé. Najlepšie nejaká referenčná dokumentácia s voľbami, požiadavkami, napr. xorg-server >=, hal .. proste aký software k tomu potrebujem ...
No a k verziám:
x11-base/xorg-server-1.5.2 x11-proto/inputproto-1.4.4 x11-drivers/xf86-input-evdev-2.0.7 x11-drivers/xf86-input-mouse-1.3.0 x11-drivers/xf86-input-keyboard-1.3.1 sys-apps/hal-0.5.11-r1 sys-apps/dbus-1.2.3-r1
Xorg.0.log
sleduj i výpisy daemon.log
. Pokud máš v konfiguraci chybu, stěžuje si tam.