mirror of boredos
Find a file
Lluciocc 915e33434e
feature(input): implement keyboard layouts and utf-8 input subsystem
* Adding keyboard layout (backend)

* Update settings.c with new keyboard tab

* Fixing keyboard icon && Fixing long loading time in settings.c

* Refactor of key handling for a larger compatibility with the keyboard layout

* Adding keyboard handler

* Udating ps2.c with the new logic

* Updating WM/kernel/userland with the new input system

* Fixing keycode range && Updating dead keys handling

* Add comments for explanation

* Update notepad & vm.c to parse utf-8

* Adding utf-8 parsing utils in libc && Update notepad.c

* Adding icon for icon settings

* Fixing a warning with double definition

* Adding new kb kayout: QWERTZ and DVORAK && Update new layout instrauction

* Add documentation for keyboard input subsystem

This document outlines the architecture and design of the input subsystem, focusing on keyboard input processing, driver responsibilities, keycode representation, and keymap functionality.

---------

Co-authored-by: boreddevnl <chris@boreddev.nl>
2026-04-23 21:31:52 +02:00
.github/workflows workflow: added a daily nightly build 2026-04-20 00:02:12 +02:00
docs feature(input): implement keyboard layouts and utf-8 input subsystem 2026-04-23 21:31:52 +02:00
src feature(input): implement keyboard layouts and utf-8 input subsystem 2026-04-23 21:31:52 +02:00
tools feature: Add ELF metadata support 2026-04-21 00:29:39 +02:00
.gitignore FEAT: VFS overhaul 2026-04-12 17:53:31 +02:00
boredos.svg Tweak: Updatedscreenshot.jpg and fixed boredos.svg alignment 2026-03-16 15:59:37 +01:00
disk.img VER: 26.4.2 --> 26.4.2.1 2026-04-17 11:25:45 +02:00
LICENSE update LICENSE 2026-03-16 15:21:17 +01:00
limine.conf enable verbose by default 2026-04-15 10:59:44 +02:00
linker.ld Fancier limine and WAY faster boot 2026-02-26 22:11:46 +01:00
Makefile feature(input): implement keyboard layouts and utf-8 input subsystem 2026-04-23 21:31:52 +02:00
NOTICE READ THIS!!! 2026-02-28 00:05:57 +01:00
README.md doc: Add total downloads in README.md 2026-04-21 00:24:28 +02:00
screenshot.jpg doc: update screenshot in README.md 2026-04-20 20:04:52 +02:00
splash.jpg limine update 2026-03-01 18:51:54 +01:00

BoredOS

BoredOS Logo

A modern x86_64 hobbyist operating system built from the ground up.

License: GPL v3 Platform: x86_64 Status: Active GitHub all releases


BoredOS is a x86_64 operating system featuring a custom Desktop Environment (DE), a dedicated Window Manager (BoredWM), and a FAT32 filesystem. It balances low-level kernel exploration with a surprisingly capable userspace.

Screenshot

Note

The screenshot above may represent a previous build and is subject to change as the UI evolves.


Features

System Architecture

  • 64-bit Long Mode: Fully utilizing the x86_64 architecture.
  • Symmetric Multi-Processing (SMP): Full support for multi-core CPUs via Limine SMP.
  • LAPIC & IPI Scheduling: Advanced interrupt handling and inter-processor communication for task distribution.
  • SMP-Safe Spinlocks: Robust kernel-wide synchronization for VFS, process management, and the GUI.
  • Multiboot2 Compliant: Bootable on real hardware and modern emulators.
  • Kernel Core: Interrupt Descriptor Table (IDT) management and a robust syscall interface.
  • Filesystem: Full FAT32 support for persistent and in-memory storage.
  • Networking: Includes the lwIP networking stack and a basic web browser.

Graphical User Interface

  • BoredWM: A custom Window Manager with drag-and-drop, mouse-centered interaction.
  • Customization: Adjustable UI to suit your aesthetic.
  • Media Support: Built-in image decoding. (PNG, GIF, JPEG, TGA, BMP)

Included Applications

  • Productivity: GUI Text Editor calculator, Markdown Viewer, a simple browser and BoredWord.
  • Creativity: A Paint application.
  • Utilities: Terminal, Task Manager, File Explorer, Clock and a (limited) C Compiler.
  • Games: Minesweeper and DOOM.

📚 Documentation

Explore the internal workings of BoredOS via our comprehensive guides in the docs/ directory.


Support the Journey

If you find this project interesting or helpful, consider fueling the development with a coffee!

Buy Me A Coffee

Project Disclaimer & Heritage

BoredOS is the successor to BrewKernel, a project initiated in 2023.

While BrewKernel served as the foundational learning ground for this OS, it has been officially deprecated and archived. It no longer receives updates, bug fixes, or pull request reviews. BoredOS represents a complete architectural reboot, applying years of lessons learned to create a cleaner, more modular, and more capable system.

Important

Please ensure all issues, discussions, and contributions are directed to this repository. Legacy BrewKernel code is preserved for historical purposes only and is not compatible with BoredOS.


Contributors

  • BoredDevNL — Project creator and lead maintainer.
  • Lluciocc — Contributor.

License

Copyright (C) 2023-2026 boreddevnl

Distributed under the GNU General Public License v3. See the LICENSE file for details.

Important

This product includes software developed by Chris ("boreddevnl"). You must retain all copyright headers and include the original attribution in any redistributions or derivative works. See the NOTICE file for more details.