2

I am new to emacs. I am using two keyboard layouts Arabic & English. I need a way to execute key combinations without the need to change to English layout. Right now I got something like this:

C-ء is undefined

I need something like key-translation-map but for all emacs key combinations using arabic characters.

  • 1
    Apart from switching to English keyboard layout and using an input method in Emacs, I'm not sure there's a simple solution to this. This question on Stack Overflow describes some solutions for the corresponding situation with a Russian keyboard layout. – legoscia Feb 20 '16 at 19:33
1

You are probably looking to select an input method.

By default, C-\ will toggle your input method, which has the practical effect that, with an English keyboard layout, you can input text in Arabic, but the keybindings for other commands will be unaffected.

You can set the default-input-method to Arabic with:

(setq-default default-input-method "arabic")

The docstring for default-input-method says that:

Documentation: Default input method for multilingual text (a string). This is the input method activated automatically by the command toggle-input-method (C-\).

  • Does this really do what the question asks? I thought input methods only influenced inserting text, not Ctrl or Meta key chords. – Gilles Feb 20 '16 at 19:06
  • @Gilles : OP can set an English layout (say, qwerty) at the OS level so that keychords work appropriately, and then toggle between English and Arabic within Emacs for entering text in either alphabet. It's probably the simplest solution as it avoids the need to remap all the commands to Arabic characters. – Dan Feb 21 '16 at 0:59
  • Thanks, it works at least within Emacs. I will keep my remap the frequent commands to Arabic characters in case I forget to switch to English layout. – Fahad Al-Saidi Feb 21 '16 at 11:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.