It shouldn't be too hard to check the writing direction of the text underneath point and reverse the arrow key mapping accordingly, but I'm not sure how you'd handle the boundaries between different writing directions.
I hope you can forgive me.
>the quickest solution I can find is a rust crate
>spin up a simple cargo project that literally just uses signed-distance-field and image, it's 10 lines of code
>
cargo run
>it downloads 30 crates
>target folder is 368.8 F U C K I N G MiB
>mfw
<sarcasm>What a well-designed language!</sarcasm>
Anyways, here's the current layout for the custom keyboard I want to make eventually:
I tried to optimize the symbol placement for writing Lisp code, while sticking to QWERTY since it's too deeply entrenched into my brain. ...And then I decided to do the cursed thing with the arrow keys and essentially turn it into a split keyboard minus the benefits of a split keyboard. I don't remember what inspired that, but as horrible as it looks, I feel like it might actually work.