4

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?

2
  • I think you need to supply more information.
    – coteyr
    Dec 3, 2012 at 22:36
  • Added link to Unicode chart ;)
    – Marqin
    Dec 3, 2012 at 23:40

3 Answers 3

2

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.

0
1

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.

1
  • It looks as the best way atm.
    – Marqin
    Dec 4, 2012 at 17:24
0

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.

1
  • 1
    No. Those are special Unicode characters.
    – Marqin
    Dec 3, 2012 at 23:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .