Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to make a input method for my conlang zɪ̀ŋ. How would I go about doing this? I made one on my MacBook using ukelele. Might there be a tool like this? I want it to work like this, when I type:

ie1         ɪ̄
ie2         ɪ́
ie3         ɪ̌
ie4         ɪ̀

o1 ō
o2 ó
o3 ǒ
o4 ò

i1 ī
i2 í
i3 ǐ
i4 ì

dz ʣ
ts ʦ
dʒ ʤ
tʃ ʧ
ng ŋ

̤θ θ̤
̤w w̤

and so on. I use a bit of the IPA character in this language

share|improve this question
This question appears to be abandoned and unanswered, could you perhaps add more detail to your question? If this question no longer applies then you can either delete it or answer it yourself if you've solved the problem. Thanks! – Nitin Venkatesh Feb 29 '12 at 17:25
The question is correct but I still have no answer. I was asking how to make a keyboard layout under Ubuntu. – zeitue Feb 29 '12 at 17:57
Cool, I have edited it to push the question to the top of the pile. If it doesn't get an answer in a while, will try and get a bounty on the question as long as you stay active on the site to try the answers that are provided and accept the right one :) – Nitin Venkatesh Feb 29 '12 at 18:02
@nitstorm are you wanting to know the answer to this question also? – zeitue Feb 29 '12 at 18:03
Nope. Not really but more the number of questions on this site are answered, the better :) – Nitin Venkatesh Feb 29 '12 at 18:04
up vote 3 down vote accepted

A quick search on to ukelele led me to Keyboard layout editor whose latest version (although built three years ago almost) is at github here. According to the site,

Keyboard Layout Editor is a pygtk program that helps create or edit XKB keyboard layouts. To run the application, you need the python binding packages for

  • Cairo
  • Pango
  • GObject
  • lxml

and the Antlr 3.1.2 Runtime environment for Python. You grab that at

You need to process the ANTLR grammars in order to generate the necessary Python code. All *.g files should be processed with ANTLR.

You can get the ANTLR 3.1.2 package from Assuming you installed Antlr 3.1.2 in your CLASSPATH, you compile a grammar (*.g) with

  java org.antlr.Tool *.g

Here is a practical example with Antlr 3.1.2.

sudo apt-get install python-setuptools
  sudo easy_install antlr_python_runtime-3.1.2-py2.5.egg
  export CLASSPATH=$CLASSPATH:antlr-3.1.2.jar       
  java org.antlr.Tool *.g

You finally run this program with ./KeyboardLayoutEditor

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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