Need your help with testing new cool addon

— one of the latest Haiku nightly builds;
— keyboard with VolumeUp, VolumeDown and VolumeMute keys.

What need to do:
— clone this hg repo to your system —;
— it contains Palladin project. Open and build it;
— put resulted MediaKeysHandler in /boot/system/non-packaged/add-ons/input_server/filters;
— try to adjust volume on your Haiku with media keys on keyboard;
— reboot and try to change volume again in that way;
— write here your keyboard model, how this addon works and all errors you see.

What is it:
— a simple input filter addon, which makes Haiku little more closely to user-friendly systems.

— it’ll be more easily if you’ll place replicant of volume gain slider on your desktop first.

After testing I’ll make package for Depot.
Licence is MIT.
Thank’s for any help.

I may be willing to help. I’ll see if I can get the latest Haiku nightly installed and I’ll rock through your instructions.

You can use updater if your installed haiku not too old. Or maybe live usb will be enough if it’ll handle addon.

Also good to have bootable USB flash with Haiku to remove addon if smth fails.

Hi armanx64,

do you have the code shared on github or somewhere so people can build it themselves?


Still doing some fixes (trying to optimize, but it fails) and then will share on bitbucket.
Have any suggestions?

Looks neat! I’d actually like to see keyboard audio control merged into Haiku if it isn’t already.

A side note. Installing random binaries from the wild internet without source code can be extremely dangerous (even on Haiku!). In theory input plugins can skim keyboard input to a random server somewhere… potentially stealing passwords and other important stuffs.

MOD EDIT: I’ve actually censored the link to the binaries. Posting binaries of input plugins can be extremely risky. The potential for abuse is there. I’m not sure what these input plugins could do… and the post is vague enough to raise concern. Please post the sources when you can.

Thanks armanx64! Great work so far btw! This honestly wasn’t your fault. As a community we need to define some guidelines around posting binaries to forums, especially as we get closer to a release. Pulkomandy pointed out that any binary could be malicious which is completely true.

You don’t even need an input server plugin to implement a keylogger on Haiku. Any app with a BWindow can intercept keystrokes at a system wide level.

Thank you and sorry about delay with posting sources.

That’s good approach for certain apps like mediaplayer (does it handle forward/backward mediakeys? Looks like still no), but we’re talking about system component, so there must be full-functional input addon I think.

Thanks for handling the privacy paranoia for me ! I used to just think it was me, I suppose I was wrong !

A little offtop, guys.
Do builtin Mediaplayer (which I’m found good for listening music due to simple design) need a mediakeys support too?
I’m interested in track switching using Page_Next/Track_Next and Page_Previous/Track_Previous ?
(It usually done using Track_XXX buttons, but my keyboard have only navigation ones, which can be remapped under Windows and can’t under Haiku.)

Also I’m interesting in little input filter for mouse, which will allow to scroll using my logitech marble trackball. Under Windows I’m using old and laggy MarbleScroll, but I’m think I can write something better for Haiku.

The only one problem is that I’m on C++ only near one week; before I’ve been C# dev few years.

Great Work! I suggest to integrate it into the MixerControl replicant and submit a patch so that it can be integrated in Haiku. A complete input addon isn’t necessary in this case, and I doubt we will ever include it in Haiku as it could potentially lead to disaster.

You can do that easily using a BMessageFilter, the final implementation will be not much different than what you’ve already done except it will be handled directly in the replicant. Feel free to assign the ticket to me if you’re interested in having your work included in Haiku.

How it usually done? I must download Haiku srcs, make changes in replicant, build it, replace on my system to test and make pull-request on success?

Sorry for delay, I’m having troubles with connection.

Yes. Only submit as a patch in a new ticket at the bugtracker instead. Read the wiki on how to format and create the patch exactly. Also follow the coding guidelines.


I still not received confirmation email on bugtracker. I’ve tried first few month ago and from then still no luck.

If you have trouble with the confirmation email, I should be able to manually validate your account. I need to know your login/email and approximate registration date.

How system binaries can be replaced? I can’t replace desklink with modified one to test — it says that “Files cannot be moved or deleted from readonly volume”.