Here a version now with vowels added.
The input method was created based on, but not following any of, the mentioned systems, as they are made for romanization and not transliteration. I have tried to find for every arabic character a character that is both commonly used to write it (including in chat, because most people who write arabic without an arabic keyboard are aware of this way to write it, plus the numbers used are mnemonic of the form of the letters), reduced to one letter, one letter with preceding dot for disambiguation (again, mnemonic with the actual letter forms), or sometimes a dot before an already dotted number (non-dotted number is the number itself) for their derivatives. As such the system should be reasonably easy to use to input the language after a little training, instead of having to learn all of the keyboard by heart, but by all means, this is a compromise system.
If any better transliteration system comes around (e.g. a formal standard like inscript for indian languages), a transliteration based input method should probably start using that, but as such a system does not yet exist, this is my working first version of such a system.