Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

How to easy type in Full-width alphanumeric way in Ubuntu? Full-width characters are those from U+FF00 to U+FFEF

Is it possible by using IBUS or Japanese keyboard layout?

share|improve this question
    
I think you need to supply more information. –  coteyr Dec 3 '12 at 22:36
    
Added link to Unicode chart ;) –  Marqin Dec 3 '12 at 23:40

3 Answers 3

up vote 1 down vote accepted

It is possible to accomplish this by adding either a new xkb layout or layout variant. Here's what I did to add a new full width character keyboard layout variant (for the US keyboard layout):

  1. Make a backup of /usr/share/X11/xkb/symbols/us, /usr/share/X11/xkb/rules/evdev.xml and /usr/share/X11/xkb/rules/evdev.lst

  2. Add the layout variant to the end of /usr/share/X11/xkb/symbols/us

    partial alphanumeric_keys
    xkb_symbols "fullwidth" {
    
        name[Group1]= "English (US, fullwidth)";
    
        key <TLDE> {    [     UFF40,    UFF5E       ]   };
        key <AE01> {    [     UFF11,    UFF01       ]   };
        key <AE02> {    [     UFF12,    UFF20       ]   };
        key <AE03> {    [     UFF13,    UFF03       ]   };
        key <AE04> {    [     UFF14,    UFF04       ]   };
        key <AE05> {    [     UFF15,    UFF05       ]   };
        key <AE06> {    [     UFF16,    UFF3E       ]   };
        key <AE07> {    [     UFF17,    UFF06       ]   };
        key <AE08> {    [     UFF18,    UFF0A       ]   };
        key <AE09> {    [     UFF19,    UFF08       ]   };
        key <AE10> {    [     UFF10,    UFF09       ]   };
        key <AE11> {    [     UFF0D,    UFF3F       ]   };
        key <AE12> {    [     UFF1D,    UFF0B       ]   };
    
        key <AD01> {    [     UFF51,    UFF31       ]   };
        key <AD02> {    [     UFF57,    UFF37       ]   };
        key <AD03> {    [     UFF45,    UFF25       ]   };
        key <AD04> {    [     UFF52,    UFF32       ]   };
        key <AD05> {    [     UFF54,    UFF34       ]   };
        key <AD06> {    [     UFF59,    UFF39       ]   };
        key <AD07> {    [     UFF55,    UFF35       ]   };
        key <AD08> {    [     UFF49,    UFF29       ]   };
        key <AD09> {    [     UFF4F,    UFF2F       ]   };
        key <AD10> {    [     UFF50,    UFF30       ]   };
        key <AD11> {    [     UFF3B,    UFF5B       ]   };
        key <AD12> {    [     UFF3D,    UFF5D       ]   };
    
        key <AC01> {    [     UFF41,    UFF21       ]   };
        key <AC02> {    [     UFF53,    UFF33       ]   };
        key <AC03> {    [     UFF44,    UFF24       ]   };
        key <AC04> {    [     UFF46,    UFF26       ]   };
        key <AC05> {    [     UFF47,    UFF27       ]   };
        key <AC06> {    [     UFF48,    UFF28       ]   };
        key <AC07> {    [     UFF4A,    UFF2A       ]   };
        key <AC08> {    [     UFF4B,    UFF2B       ]   };
        key <AC09> {    [     UFF4C,    UFF2C       ]   };
        key <AC10> {    [     UFF1B,    UFF1A       ]   };
        key <AC11> {    [     UFF07,    UFF02       ]   };
    
        key <AB01> {    [     UFF5A,    UFF3A       ]   };
        key <AB02> {    [     UFF58,    UFF38       ]   };
        key <AB03> {    [     UFF43,    UFF23       ]   };
        key <AB04> {    [     UFF56,    UFF36       ]   };
        key <AB05> {    [     UFF42,    UFF22       ]   };
        key <AB06> {    [     UFF4E,    UFF2E       ]   };
        key <AB07> {    [     UFF4D,    UFF2D       ]   };
        key <AB08> {    [     UFF0C,    UFF1C       ]   };
        key <AB09> {    [     UFF0E,    UFF1E       ]   };
        key <AB10> {    [     UFF0F,    UFF1F       ]   };
    
        key <BKSL> {    [     UFF3C,    UFF5C       ]   };
    
        key <SPCE> {    [     U3000,    U3000       ]   };
    };
    
  3. Add the entry for the variant layout to /usr/share/X11/xkb/rules/evdev.xml and /usr/share/X11/xkb/rules/evdev.lst

    In evdev.xml, search for <description>English (US)</description>, scroll down to the last <variant> block for the us layout, and insert the following after that:

             <variant>
               <configItem>
                 <name>fullwidth</name>
                 <description>English (US, fullwidth)</description>
               </configItem>
             </variant>
    

    In evdev.lst, search for us:, scroll down to the last entry with us: and insert the following after that:

      fullwidth       us: English (US, fullwidth)
    
  4. Remove the previously compiled keymaps:

    # rm /var/lib/xkb/*.xkm
    
  5. Logout and login

The new layout should show up in the Text Entry settings menu as English (US, fullwidth), which you can add into your input sources.

share|improve this answer
1  
Great, thanks :D –  Marqin Apr 8 at 21:39

Fixed width is a property of the font, not the letters. You need to choose a fixed width font to display the characters, not type anything special.

share|improve this answer
    
No. Those are special Unicode characters. –  Marqin Dec 3 '12 at 23:36

This article may help. And then theres This entry. And finally a big table

I do not think any of these are as easy as you would like them to be however.

You may be able to map your own composekey shortcuts. Sorry I can't be of more help, but I have not seen anyone try to do that, that didn't just end up using a font.

share|improve this answer
    
It looks as the best way atm. –  Marqin Dec 4 '12 at 17:24

Your Answer

 
discard

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.