You are not logged in.
Hello!
I have been trying to get the Tamil 99 keyboard layout on my Arch system for quite a while now. Today, I decided to revisit it as I could never get it working previously.
I first tried using fcitx5. I was almost successful, however there was an issue: the keymap was jumbled. For example, a character which is at the same position as D on a QWERTY keyboard went to H (because my system is configured to use Dvorak).
I then tried using ibus, but the ibus-daemon would not start. Running ibus start, then attempting to use the keyboard shortcut I set results in nothing. Running ibus start again results in the system insisting that the ibus daemon is already running.
In both attempts, the correct environment variables were set both in my ~/.profile and my Qtile configuration (I am also using Wayland if that helps).
What would be the simplest solution to get the keybindings correct and get the layout working correctly?
Thanks!
Last edited by thesupertechie (2026-03-09 01:16:59)
Offline
There're tamil layouts in the in an lk xkb definitions, you should™ not require an IME if you're willing/intending to just switch layouts between latin and tamil
Not sure how this plays into your dvorak layout, though - there's no dvorak layout for tamil and that probably wouldn't make any sense either
https://bbs.archlinux.org/viewtopic.php?id=299313
Does yuour keyboard look somewhat like https://en.wikipedia.org/wiki/Tamil_99# … yboard.jpg ?
Offline
Unfortunately those aren't the same layouts. The one XKB appears to be TamilNet 99, which apparently is a different layout.
Sorry if I wasn't clear. When typing in English, I type in Dvorak (US). When typing in Tamil, I type in Tamil99 (not TamilNet99) which isn't in XKB, hence I tried to use both IBus and Fcitx5 to varying success.
Which would be easier in this case, trying to get Fcitx5 or IBus to work?
EDIT: Not sure if this'll help, but my keyboard is a standard ANSI keyboard with English QWERTY on it.
Last edited by thesupertechie (2026-03-07 21:48:18)
Offline
The one XKB appears to be TamilNet 99, which apparently is a different layout.
Are you sure about that? I'm not gonna argue w/ someone who can actually read that but google thinks it's the same (TamilNet being some conference that cooked up the design)
There's however discussion about discrepancy in https://forum.mxlinux.org/viewtopic.php?t=81395 - the layout might just be buggy.
The lk/in separation is just a national pride thing, lk/tam_unicode is equivalent to in/tamilnet, QWERTY Q would become ஞ, shift+Q ஶ (I hope the board resolves this correctly, I don't have a tamil font installed)
As for the IMEs, there are m17n plugins for fcitx5 in the repo and for ibus in the AUR
https://wiki.archlinux.org/title/Input_ … od_editors
Do you have installed either?
For fcitx5 on wayland see https://wiki.archlinux.org/title/Fcitx5#Wayland and https://wiki.archlinux.org/title/IBus#Integration respecitvely - from what I understand IME on wayland is largely still "not fun"
Offline
Unfortunately, they're not the same. On QWERTY Q on Tamil 99, you would instead get ஆ.
In fact, I have never ever seen the TamilNet layout you mention before. It looks completely made up, if I'm being honest, whereas Tamil99 is the actual government standard for Tamil in India.
I tried the m17n plugin, but that created the jumbled mess I stated in my first post as I think it's trying to treat the Dvorak keymap the same as QWERTY.
I tried to add Tamil99 (not TamilNet), but the key problem is the fact that, from my understanding, XKB doesn't support conditional mapping. For instance, QWERTY Q should be ஆ at the first letter of a sentence but a different combining character if not. Do you know if XKB supports conditional mappings like this? If so my time may be better spent fixing the layout in XKB proper.
Last edited by thesupertechie (2026-03-08 22:18:36)
Offline
Do you know if XKB supports conditional mappings like this? If so my time may be better spent fixing the layout in XKB proper.
xkb is context unaware and only maps keycodes to symbols - so unless "first letter of a sentence" equates to "when I hold shift" that distinction won't happen.
I think it's trying to treat the Dvorak keymap the same as QWERTY.
If it works w/ the qwerty layout you could switch to that, but afaiu it's a phonetic input ie you'd enter a latinized version of the letter to get the tamil utf8?
In that case the keyboard layout should™ not matter at all - have you tested the behavior on X11?
Offline
Thanks for that. Do you know if it can do two keys in succession instead? So "ke" makes மூ.
My biggest concern with switching to the QWERTY layout is that some places like the terminal will use QWERTY which I'm not very fluent in.
Offline
https://wiki.archlinux.org/title/Xorg/K … ompose_key - capslock is usually an excellent candidate for the compose key.
This should™ work w/ fcitx5 and qtile will probably interpret the compose key option in /etc/X11/xorg.conf.d/00-keyboard.conf but you'd most likely have to write a complete XCompose yourself unless there's a sane one in /usr/share/X11/locale/*/Compose but afaict there's only
/usr/share/X11/locale/en_US.UTF-8/Compose:<Multi_key> <U0BD7> <U0B92> : "ஔ" U0B94 # TAMIL LETTER AU
/usr/share/X11/locale/en_US.UTF-8/Compose:<Multi_key> <U0BC6> <U0BBE> : "ொ" U0BCA # TAMIL VOWEL SIGN O
/usr/share/X11/locale/en_US.UTF-8/Compose:<Multi_key> <U0BC7> <U0BBE> : "ோ" U0BCB # TAMIL VOWEL SIGN OO
/usr/share/X11/locale/en_US.UTF-8/Compose:<Multi_key> <U0BC6> <U0BD7> : "ௌ" U0BCC # TAMIL VOWEL SIGN AU
/usr/share/X11/locale/en_US.UTF-8/Compose:<dead_currency> <o> : "௹" U0BF9 # TAMIL RUPEE SIGNOffline
So there really isn't a way to combine letters within the layout file itself is what I'm understanding? I need to use XCompose? That might be a bit of a problem for other Tamil Linux users who are used to it just working.
Last edited by thesupertechie (2026-03-08 22:44:39)
Offline
You could have a layout full of dead_* keys and then use the Compose file to make <dead_k> <dead_e> combine to மூ
You'd want to test that before wasting hours to write a complete layout and Compose list and you'll lose the latin letters while using that layout.
Offline
Thank you for your patience in this matter. It turns out that Qtile on Wayland doesn't implement text_input. I will try another compositor like Sway and see how far my mileage goes with IBus and Qtile. Thank you for your help! I'll report back if I find anything interesting there.
Offline
I got it working on Sway. I set my keyboard layout to QWERTY, and since the IME also works in the terminal, it works flawlessly.
Thank you for your help! I'll be updating this to solved.
EDIT: The issue was solely in Qtile. It works flawlessly as described above in Sway.
EDIT 2: There are still some issues in Sway, but I've reported them to fcitx5's developers.
EDIT 3: To see the fix that helped after chatting with Fcitx5's devs, go here: https://github.com/fcitx/fcitx5/issues/1524
Last edited by thesupertechie (2026-03-11 02:16:25)
Offline