KBDD(1)

πŸ‘‘ KBDD(1) β€” the XKB layout switching daemon, but make it a whole vibe

okay bestie, gather round πŸ’– this is the manual page for kbdd, and it lives in section 1 of the manual. yes, section 1, the "user commands" section, the main character section, as it should. the header up top just says XKB layout switching daemon and honestly? that's the whole personality. πŸ’…


✨ NAME ✨

kbdd β€” a simple per-window keyboard layout switching daemon. she switches, she restores, she does it per window. no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

kbdd [ -n | --nodaemon ]
kbdd [ -h | --help ] [ -v | --version ]

that's it, that's the whole command line. she's low maintenance like that. πŸŽ€


πŸ’œ DESCRIPTION πŸ’œ

kbdd is a simple keyboard layout daemon that switches and restores layouts on a per-window basis. so like, your browser can be on one layout and your terminal on another, and she just knows. iconic behaviour, fr fr. ✨

  • -n, --nodaemon β€” run in nodaemon (foreground) mode. she stays right there in front of you, in the terminal, where you can see her. 🫢
  • -h, --help β€” print a short usage summary. the "bestie remind me how to use you" flag. 😭
  • -v, --version β€” print the program version. just so you know which girl you're talking to. πŸ‘‘

🌈 DBUS INTERFACE 🌈

okay so this is the part where she gets social. πŸ¦‹ kbdd registers a dbus interface in order to notify a window manager about layout change, and she also listens on this interface for incoming requests. so yes, it's giving two-way communication. this interface can be used in WM widgets to indicate the current layout β€” so your little panel widget can show off which layout you're on. slay. πŸ’…

the dbus interface has the following methods:

  • getLayoutName( uint32 ) β€” returns a string representing the layout group name. she's handing you the name, spelled out and everything. 🌸
  • set_layout( uint32 ) β€” sets current group. you tell her where to go, she goes. periodt. πŸ’–
  • getCurrentLayout β€” returns current layout group id. the id, not the name. don't get it twisted. πŸ™ˆ
  • next_layout β€” switches to the next keyboard layout. forward, always forward. ⭐
  • prev_layout β€” switches to the previous keyboard layout. back it up, back it up. πŸŽ€

the following events (signals) are available:

  • layoutChanged β€” returns new group number. she pings you when the group flips. πŸ”₯
  • layoutNameChanged β€” returns name for the new group. and she pings you with the name too, because she's thoughtful. πŸ’œ

you can change the layout with the following dbus-send command:

dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout uint32:1

copy that exactly, bestie, every character of it, no improvising. 🧚


πŸ’€ BUGS πŸ’€

some users reported problems with sticking meta-keys (Alt or Meta4). however, at the moment there is not enough information collected to conclude if this is caused by kbdd or not. so like... is it her fault? the jury is still out, we genuinely do not know. no blaming her yet. 😭

newly found bugs may be reported on the project page at github. yes, github, go tell them, they want to hear it. πŸ“


πŸŽ€ AUTORS πŸŽ€

Alexander V. Vershilov

this manual page was updated for the Debian project by Stanislav Maslovski

(and yes, the heading really is spelled AUTORS up there, we are keeping it exactly as it is, no edits, that's her canon. πŸ’…)


πŸ” SEE ALSO πŸ”

you can get more information about kbdd usage on wiki pages of the kbdd project. iykyk. 🌟


ok that's the whole page bestie, every flag, every method, every signal, every name, all of it. nothing dropped, nothing invented. 🫢

and that's a wrap on version 0.6, dated 27 Aug 2011 β€” yeah she's an elder, she's been iconic since 2011 and she's still serving. πŸ’–βœ¨πŸ‘‘ bye bestie, go switch some layouts πŸ’