不能添加超过八个键盘布局

Woo*_*khi 6 command-line keyboard keyboard-layout scripts 13.04

我阅读了这篇文章,其中有一种解决方法可以添加最多八个键盘布局。

但我的问题是:

  • 我想试试这个,但我看到他们在脚本中写了一些带有“gnome”的东西。在我的 Ubuntu 13.04 中,我有 Unity。我该怎么办?

  • 我必须为 4 x 4 键盘布局(有 13 个键盘布局)执行此操作。但是,此脚本专为 2 x 4 键盘布局而设计。我如何获得四乘四?

我真的很感激你在这方面的提示和提示。如果可能的话,我恳请您保持简单,因为我真的不是 Ubuntu 和计算机方面的专家。

Rad*_*anu 2

  • 在 Ubuntu 13.04 中,忘记gconftool-2 --get /desktop/gnome/peripherals/keyboard/kbd/layouts并仅使用此命令:

    gsettings get org.gnome.libgnomekbd.keyboard layouts

  • 我更新了keyboard-layout-switch4x4 键盘布局的脚本,如下所示:

#!/bin/bash

default_layout="['ro', 'gr', 'us\taltgr-intl', 'al']"    
layout_two="['ba', 'de\tdeadgraveacute', 'ph', 'gb']"    
layout_three="['de\tdeadgraveacute', 'al', 'ara', 'be']"    
layout_four="['gb', 'be', 'ro', 'ara']"

current_layout=$(gsettings get org.gnome.libgnomekbd.keyboard layouts)

case $current_layout in
"$default_layout")
    new_layout="$layout_two"
    ;;
"$layout_two")
    new_layout="$layout_three"
    ;;
"$layout_three")
    new_layout="$layout_four"
    ;;
*)
    new_layout="$default_layout"
    ;;
esac

gsettings set org.gnome.libgnomekbd.keyboard layouts "$new_layout"

exit 0
Run Code Online (Sandbox Code Playgroud)

一般来说,对于 nx4 键盘布局:

#!/bin/bash

default_layout="['...', '...', '...', '...']"    
layout_two="['...', '...', '...', '...']"    
layout_three="['...', '...', '...', '...']" 
.
.
.   
layout_n="['...', '...', '...', '...']" 

current_layout=$(gsettings get org.gnome.libgnomekbd.keyboard layouts)

case $current_layout in
"$default_layout")
    new_layout="$layout_two"
    ;;
"$layout_two")
    new_layout="$layout_three"
    ;;
.
.
.
"$layout_n-1")
    new_layout="$layout_n"
    ;;
*)
    new_layout="$default_layout"
    ;;
esac

gsettings set org.gnome.libgnomekbd.keyboard layouts "$new_layout"

exit 0
Run Code Online (Sandbox Code Playgroud)

在休息时,所有事情都像这个答案一样有效。

只是一个观察:请注意,Ctrl+L快捷键不适用于某些键盘布局(例如阿拉伯语键盘布局)。所以,在选择键盘布局和快捷键时一定要注意。

祝您打字成功!