Nejnovější X.Org X server 21.1.22 a Xwayland 24.1.10 řeší 5 bezpečnostních chyb: CVE-2026-33999, CVE-2026-34000, CVE-2026-34001, CVE-2026-34002 a CVE-2026-34003.
Po roce vývoje od vydání verze 1.28.0 byla vydána nová stabilní verze 1.30.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.30.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2026-04-13. Přehled novinek poznámkách k vydání. Nově ve výchozím nastavení příkaz sudo vyžaduje heslo.
Společnost Blackmagic Design oznámila vydání verze 21 svého proprietárního softwaru pro editování videí a korekci barev DaVinci Resolve běžícího také na Linuxu. Z novinek je nutno vypíchnout možnost editování fotografií. Základní verze DaVinci Resolve je k dispozici zdarma. Plnou verzi DaVinci Resolve Studio lze koupit za 295 dolarů.
Multipatformní renderovací jádro webového prohlížeče Servo je na crates.io. S vydáním verze 0.1.0 (LTS).
Nadace FreeBSD Foundation před týdnem oznámila projekt Laptop Integration Testing. Vyzvala dobrovolníky, aby pomocí nástroje otestovali podporu FreeBSD na svých zařízeních a výsledky odeslali vývojářům. Vznikla stránka Nejlepší notebooky pro FreeBSD.
Na začátku srpna vstoupí v účinnost nová evropská pravidla transparentnosti pro umělou inteligenci (AI). Zavádějí povinnost jakýkoli AI obsah označit, informovat o takzvaných deepfakes a upozornit uživatele, že komunikuje s umělou inteligencí. Cílem opatření je omezit šíření manipulativního či klamavého obsahu, zvýšit důvěru v digitální prostředí a chránit uživatele.
Connor Byrne z USA používal pro přihlašování na svůj iPhone 13 s iOS 18 heslo obsahující háček. Po aktualizaci na iOS 26.4 se už ale do telefonu nepřihlásí. Při přihlašování nelze tento háček zadat. Apple jej prostě odstranil [The Register].
Linus Torvalds vydal jádro Linux 7.0. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).
Na čem aktuálně pracují vývojáři GNOME? Pravidelný přehled novinek v Týden v GNOME. Vypíchnout lze novou verzi 2026.1 přehrávače hudby Amberol (Flathub).
const char *dev = "/dev/input/by-id/usb-Gaming_KB_Gaming_KB-event-kbd";
fd = open(dev, O_RDONLY);
while (1) {
n = read(fd, &ev, sizeof ev);
if (ev.type == EV_KEY) {
// nějaké zpracování
}
}
Chtěl bych něco takovéhoto (pro libovolný, při spuštění daný, počet klávesnic, čili místo dev1, dev2 by byl nějaký seznam, nebo Vector, nebo tak něco, ale to už taky zvládnu)
const char *dev = "/dev/input/by-id/usb-Gaming_KB_Gaming_KB-event-kbd";
const char *dev2 = "/dev/input/by-id/usb-neco-jineho-event-kbd";
fd = open(dev, O_RDONLY);
fd2 = open(dev2, O_RDONLY);
while (1) {
n = read(fd, &ev, sizeof ev);
n2 = read(fd2, &ev2, sizeof ev2);
if (n1) {
if (ev.type == EV_KEY) {
// nějaké zpracování
}
}
if (n2) {
if (ev2.type == EV_KEY) {
// nějaké podobné zpracování
}
}
}
ale dělat to naráz (neblokující), nečekat zablokovaný na jedné z klávesnic ....
nebo ještě lépe blokovat, dokud nebude aspoň jedna stisknutá, abych se zbytečně nemotal ve smyčce a nepožíral planě výkon
Asi bych to zvládnul nějak přez vlákna, ale to mi přijde s kanonem na vrabce
Řešení dotazu:
poll() nebo select()? Zdá se mi, že obě dokážou číst z více file descriptorů naráz, ale už jsem je dlouho nepoužil.
Druhá možnost je std::thread pro každou klávesnici. (Ale pro use case shift na jedné a písmeno na druhé je mnohem lepší poll().)
Tiskni
Sdílej: