Skip to Content

เพิ่มปุ่ม ~ Grave ให้คีย์บอร์ดสลับภาษาได้

หลังจากออก KDE4 มาก็ไม่มีปุ่มสลับภาษา Grave หรือ "~" มาให้ ก็ต้องเพิ่ม grave_toggle ให้กับคีย์บอร์ดเอง ให้แก้ไขเพิ่มเติมดังนี้

โดยให้แก้ไขในสถานะ root เท่านั้น
1. แก้ไขไฟล์ /usr/share/X11/xkb/rules/base

โดยเพิ่มแทรกบรรทัดนี้ลงไป
  grp:grave_toggle    =    +group(grave_toggle)

2. แก้ไขไฟล์ /usr/share/X11/xkb/rules/base.lst

โดยเพิ่มแทรกบรรทัดนี้ลงไป
  grp:grave_toggle     Grave changes group.

3. แก้ไขไฟล์ /usr/share/X11/xkb/rules/base.xml

โดยเพิ่มแทรกบรรทัดนี้ลงไป
      <option>
        <configItem>
          <name>grp:grave_toggle</name>
          <description>Grave changes group.</description>
        </configItem>
      </option>

4. แก้ไขไฟล์ /usr/share/X11/xkb/symbols/group
โดยเพิ่มแทรกบรรทัดนี้ลงไป
partial modifier_keys
xkb_symbols "grave_toggle" {
    virtual_modifiers AltGr;
    key <TLDE>    {    
    symbols[Group1]= [    ISO_Next_Group    ],
    symbols[Group2]= [    ISO_Prev_Group    ],
    virtualMods= AltGr
    };
};

แล้วเปิด KDE Control Center เพื่อตั้งค่าดังรูป

<a href='http://www.uppic.net/show/6f2bda87444bc7afb3b386c28a4c5ad3'  target="_blank"><img border="0" src="http://www.uppic.net/tg/gravechangesgroup.jpg"></a>

Comments

PCLinuxOS 2010 beta1

สำหรับ PCLinuxOS 2010 beta1 ต้องแก้ไขใน 3 ไฟล์ นี้ด้วย

evdev

evdev.lst

evdev.xml

 

อย่าลืมนะครับ

superWin+Shift+Grave

ถ้าอยากจะใช้ตัวอักษร grave (~) ก็ให้กด 3 ปุ่มนี้พร้อมกันครับ superWin+Shift+Grave แต่ใน firefox พิมพ์ไม่ได้ ไม่รู้เป็นไร

ตัวอย่าง

1. แก้ไขไฟล์ /usr/share/X11/xkb/rules/base

! option    =    symbols
  grp:shift_toggle    =    +group(shifts_toggle)
  grp:switch        =    +group(switch)
  grp:lswitch        =    +group(lswitch)
  grp:win_switch    =    +group(win_switch)
  grp:lwin_switch    =    +group(lwin_switch)
  grp:rwin_switch    =    +group(rwin_switch)
  grp:toggle        =    +group(toggle)
  grp:grave_toggle    =    +group(grave_toggle)

 

2. แก้ไขไฟล์ /usr/share/X11/xkb/rules/base.lst

! option
  grp                  Group Shift/Lock behavior
  grp:switch           R-Alt switches group while pressed.
  grp:lswitch          Left Alt key switches group while pressed.
  grp:lwin_switch      Left Win-key switches group while pressed.
  grp:rwin_switch      Right Win-key switches group while pressed.
  grp:win_switch       Both Win-keys switch group while pressed.
  grp:rctrl_switch     Right Ctrl key switches group while pressed.
  grp:toggle           Right Alt key changes group.
  grp:grave_toggle     Grave changes group.

 

3. แก้ไขไฟล์ /usr/share/X11/xkb/rules/base.xml

 

 <option>
        <configItem>
          <name>grp:ctrl_shift_toggle</name>
          <description>Ctrl+Shift changes group.</description>
          <description xml:lang="bg">Заедно Control+Shift сменят групата</description>
          <description xml:lang="ru">Ctrl+Shift меняют группу.</description>
          <description xml:lang="sr">Ctrl+Shift мења групу.</description>
        </configItem>
      </option>
      <option>
        <configItem>
          <name>grp:ctrl_alt_toggle</name>
          <description>Alt+Ctrl changes group.</description>
          <description xml:lang="ru">Alt+Ctrl меняют группу.</description>
          <description xml:lang="sr">Alt+Ctrl мења групу.</description>
        </configItem>
      </option>
      <option>
        <configItem>
          <name>grp:grave_toggle</name>
          <description>Grave changes group.</description>
        </configItem>
      </option>     

 

4. แก้ไขไฟล์ /usr/share/X11/xkb/symbols/group

 

// Right Ctrl key temporary chooses the second keyboard group.
// Needed mainly for Canadian keyboard
partial modifier_keys
xkb_symbols "rctrl_switch" {
    key <RCTL>  {
        symbols[Group1]= [ Mode_switch ]
    };
};

// using the group(toggle) map, pressing the right alt key switches to
// the next sequential group (until the next explicit group change).
partial modifier_keys
xkb_symbols "toggle" {
    virtual_modifiers AltGr;
    key <RALT>    {    
    symbols[Group1]= [    ISO_Next_Group    ],
    virtualMods= AltGr
    };
};

// Use TLDE toggle changes group

partial modifier_keys
xkb_symbols "grave_toggle" {
    virtual_modifiers AltGr;
    key <TLDE>    {    
    symbols[Group1]= [    ISO_Next_Group    ],
    symbols[Group2]= [    ISO_Prev_Group    ],
    virtualMods= AltGr
    };
};