Commit Graph

941 Commits

Author SHA1 Message Date
Bananymous 24d91eee90 Kernel/LibInput: Rework Joystick handling
Joystick axis and buttons are now named to standard values, this allows
interfacing multiple different controllers (only DS3 is supported)

Add ioctl calls for userspace to set joystick player leds and rumble

Only use DS3 code paths when we detect that the attached device is
actually an DS3 controller

update test-joystick program to the new interface and add support to
control rumble and player leds
2026-01-07 19:01:07 +02:00
Bananymous a5318448f5 userspace: Add audioctl utility to configure audio server 2026-01-06 22:26:11 +02:00
Bananymous b7c40eeb57 AudioServer: Handle multiple audio devices with multiple pins
This makes audio server configurable during runtime!
2026-01-06 22:26:11 +02:00
Bananymous e7c9be1875 AudioServer: Increase send buffer size and hardcode volume to 20% 2026-01-06 22:26:11 +02:00
Bananymous 8f1b314802 Kernel: Add ioctls to select audio device's output pin 2026-01-06 22:26:11 +02:00
Bananymous e926beba5a test-mouse: Fix mouse fd cleanup
I was creating a local variable shadowing the global one. This prevented
cleanup to close it. (this is not really necessary as the program dies
anyway)
2026-01-06 21:58:56 +02:00
Bananymous 3ad053cf6d image: Add option to change resize algoritm
Also benchmark timing is now done cpu clock, not monotonic one
2026-01-06 21:58:56 +02:00
Bananymous bc11469a0b mkdir: Fix mkdir error handling 2026-01-06 21:58:56 +02:00
Bananymous a00695bdac LibC: Add stubs that I have locally
I'm not sure if these are used by anything but I would assume so as I
have added them :D

functions added:
- getprotobyname
- open_memstream
- munlock
- lockf
- nice
- crypt
- getsid
- wcstoul
2026-01-06 21:58:56 +02:00
Bananymous 89959b800c LibC: Implement random and srandom 2026-01-06 21:58:56 +02:00
Bananymous 3e19c3b62e LibC: Fix timeradd and timersub overflow/underflow 2026-01-06 21:58:56 +02:00
Bananymous d970debb4d LibC: Define MAXPATHLEN in sys/param.h
This file is not POSIX, but some software seems to rely on it
2026-01-06 21:58:56 +02:00
Bananymous d0ba52073f LibC: Add stubs for shm_* functions 2026-01-06 21:58:56 +02:00
Bananymous 943e3b6f51 LibC: Define IN_CLASS* macros
These are not POSIX but some software seems to rely on them
2026-01-06 21:58:56 +02:00
Bananymous 25d43682aa LibC: Bump FOPEN_MAX 16->64 2026-01-06 21:58:56 +02:00
Bananymous 60ec5d30fd init: Start Clipboard server on startup
I had forgotten to commit this when I added the clipboard server :D
2026-01-06 21:58:56 +02:00
Bananymous 7667fe6ca5 LibC: Implement sem_timedwait 2026-01-06 21:58:56 +02:00
Bananymous 7964698ae5 userspace: Add simple joystick test app 2026-01-03 20:42:42 +02:00
Bananymous 65664b0d65 Kernel: Add support for DualShock 3 controllers
This driver accepts any HID joystick devices but button and axis
mappings will only work on a PS3 controller
2026-01-03 20:07:08 +02:00
Bananymous 50ba743faf Terminal: Cleanup CSI handling and add =c,>c,c,E,F 2026-01-02 17:13:46 +02:00
Bananymous 2efd6f92b2 rm: add -f and -i options
rm *should* now be posix compatible
2025-12-31 19:28:55 +02:00
Bananymous 0421fbdc25 LibC: Implement sem_getvalue 2025-12-28 15:29:37 +02:00
Bananymous 6fbf1469aa LibC: define static_assert in assert.h
This is needed from C11 until C23
2025-12-28 00:12:03 +02:00
Bananymous 280d3fd919 LibC: Fix assert.h include guard 2025-12-28 00:12:03 +02:00
Bananymous 40ce95b87f LibC: Add definition for TCP_MAXSEG
This is not implemented yet
2025-12-27 23:37:03 +02:00
Bananymous e7d644b874 AudioServer: Fix rounding the number of samples when resampling
If client tried to play a single sample at lower frequency as the
kenrel, audio server would never play it leading to the client hanging

This makes calculations round the number of samples always up to fix
this
2025-12-18 16:05:28 +02:00
Bananymous c64159d5c3 AudioServer: Fix resampling math
This caused resampled audio to freeze the whole audio system after few
minutes of playing (like doom)
2025-12-18 14:59:55 +02:00
Bananymous 2af6066ee3 LibC: Fix sysconf(_SC_OPEN_MAX) 2025-12-16 05:20:18 +02:00
Bananymous fc16b5331c LibC: Fix backtrace compilation
Also dump backtrace on SIGABRT
2025-12-16 05:20:00 +02:00
Bananymous b2723a0c5f aoc2025: Implement day12 solution 2025-12-15 19:06:17 +02:00
Bananymous 01042a24f0 aoc2025: Implement day11 solution 2025-12-15 17:57:45 +02:00
Bananymous f9643b3881 aoc2025: Implement day10 solution 2025-12-15 14:42:03 +02:00
Bananymous d2d18bea5d aoc2025: Implement day9 solution 2025-12-13 03:09:15 +02:00
Bananymous 87e595b83e aoc2025: Implement day8 solution 2025-12-12 22:37:03 +02:00
Bananymous 08031b1227 aoc2025: Implement day7 solution 2025-12-12 21:15:22 +02:00
Bananymous 9a87c1f734 aoc2025: Implement day6 solution 2025-12-12 20:17:12 +02:00
Bananymous edeb667ead aoc2025: Implement day5 solution 2025-12-12 06:30:03 +02:00
Bananymous db2aa495b8 aoc2025: Implement day4 solution 2025-12-12 06:08:00 +02:00
Bananymous ddfb591094 aoc2025: Implement day3 solution 2025-12-12 04:34:40 +02:00
Bananymous e8f1ba3722 aoc2025: Implement day2 solution 2025-12-12 02:49:33 +02:00
Bananymous 19c4f34ccb aoc2025: Implement day1 solution 2025-12-12 02:49:10 +02:00
Bananymous 5d9e9c021a aoc2025: Prepare programming environment 2025-12-12 02:48:40 +02:00
Bananymous c72b351bba LibC: Implement glob{,free} 2025-11-23 05:33:44 +02:00
Bananymous 1f9b296ae7 cp: Add -r/--recursive flag 2025-11-23 02:25:05 +02:00
Bananymous e3e2e7b4df userspace: Implement mv utility 2025-11-23 02:24:52 +02:00
Bananymous 4ec8f4a4bf Kernel/LibC: Implement rename{,at} 2025-11-22 23:55:10 +02:00
Bananymous db7ffcf9d5 Kernel/Terminal: Add support for bracketed paste mode
This gets rid of annoying warnings when running some programs like bash
2025-11-18 05:40:36 +02:00
Bananymous 8f6cb9c057 Terminal: Add selection and clipboard support
text can now be copied with ctrl+shift+c and pasted with ctrl+shift+v
2025-11-18 05:40:36 +02:00
Bananymous 291f298d19 userspace: Implement LibClipboard and ClipboardServer
programs can now connect to the clipboard server using libclipboard and
get and set the clipboard of the current user
2025-11-18 05:40:36 +02:00
Bananymous d60f12d3b8 Kernel: Add support for SCM_CREDENTIALS and fix recvmsg
recvmsg was broken when receiving into more than a single iovec
2025-11-18 05:40:36 +02:00