Существует ли инструмент для быстрого создания пользовательских раскладок клавиатуры для международной клавиатуры, греческого языка и математики юникода?


20

Есть ли инструмент для быстрого создания пользовательских раскладок клавиатуры?

Например, чтобы добиться этого: /tex//a/86559/1871

клавиатура

Создание символов Unicode во вторичных слоях, но на основе международных стандартов США (Alt GR-dead keys)

Это в основном для ввода математики при использовании Unicode, но при этом уровень по умолчанию должен быть международным.

Может быть, есть уже подготовленный, довольно общий, если так, то как его установить?

Этот вопрос не о создании ярлыков в конкретном приложении, а об изменении раскладки клавиатуры системы.


Вы можете написать унаследованный макет от другого, ref: askubuntu.com/questions/482678/… . Для математических символов используйте инструменты кодировки Unicode, чтобы получить их код. Затем введите их в виде 0x100xxxxили UXXXX. Например
user.dz

Ответы:


14

Я думаю, что этот инструмент может работать для вас, хотя я никогда не использовал его. keyboardlayouteditor

Если это не сработает, то с небольшим терпением вы можете создать собственную раскладку клавиатуры самостоятельно.

Я знаю, что это не быстрый способ сделать это, но, делая это таким образом, вы чему-то научитесь.

Если вы решите сделать это самостоятельно, единственное, что вам нужно сделать, это отредактировать файл, расположенный в / usr / share / x11 / xkb / symbols.

Внутри папки «символы» вы найдете все файлы раскладки клавиатуры.

Сделайте резервную копию файла, который вы хотите использовать, в вашем случае файл "us".

Для резервного копирования файла откройте терминал и введите:

cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/us_backup

Теперь откройте файл «us»:

sudo gedit /usr/share/X11/xkb/symbols/us

Вы увидите что-то вроде этого:

// Alphanumeric section
key <TLDE> {    [     grave,    asciitilde  ]   };
key <AE01> {    [     1,    exclam      ]   };
key <AE02> {    [     2,    at      ]   };
key <AE03> {    [     3,    numbersign  ]   };
key <AE04> {    [     4,    dollar      ]   };
key <AE05> {    [     5,    percent     ]   };
key <AE06> {    [     6,    asciicircum ]   };
key <AE07> {    [     7,    ampersand   ]   };
key <AE08> {    [     8,    asterisk    ]   };
key <AE09> {    [     9,    parenleft   ]   };
key <AE10> {    [     0,    parenright  ]   };
key <AE11> {    [     minus,    underscore  ]   };
key <AE12> {    [     equal,    plus        ]   };

Эти key <xxxx>записи являются имя ключей и {[]};записи являются символами

Изображение ниже покажет вам коды клавиш:

введите описание изображения здесь

Теперь, чтобы создать свою собственную раскладку клавиатуры, вам нужно заменить содержимое {[]};на имена символов, которые вы хотите.

Например, чтобы заменить восклицательный знак на символ доллара, измените следующую строку

key <AE01> {    [     1,    exclam      ]   };

к этому:

key <AE01> {    [     1,    dollar      ]   };

После завершения редактирования пользовательской клавиатуры сохраните файл и перезагрузите компьютер.

Если вы хотите вернуться к исходной раскладке клавиатуры «us», откройте терминал и введите следующее:

sudo cp /usr/share/X11/xkb/symbols/us_backup /usr/share/X11/xkb/symbols/us

Для дальнейшего чтения:


Спасибо, я не смог заставить KeyboardLayoutработать из-за проблемы зависимости с antlr3( python). Ручной способ кажется жизнеспособным, но я не могу найти ни одного примера, если бы в макет были включены чистые символы Юникода : этот charvolant.org/~doug/xkb/html/… говорит, что файл /usr/X11R6/include/X11/keysymdefhсодержит эту информацию, но я не могу ' не могу найти это в моей системе.
AlfC

Если вы не можете найти, keysymdefhоткройте терминал и введите:sudo apt-get install x11proto-core-dev
kalpetros

Возможно, стоит упомянуть, что вы можете столкнуться с большими трудностями, если просто переназначите все свои латинские символы / клавиши, поскольку вы больше не сможете вводить команду, необходимую для возврата клавиатуры, т.е. замены письмо cс не dollarпозволит вам набрать cp.
nonsensickle

этот инструмент , к сожалению, заброшен и зависит от устаревшего программного обеспечения, но информация о ручном редактировании и изображении на клавиатуре очень полезна и актуальна, спасибо
Sarge Borsch

1

Недавно посмотрел на пакеты, которые я нашел mathwriter input.

Это, по-видимому, в Gnome3, позволяет вводить математические символы, как если бы это был специальный язык. Это позволяет вводить символы, набирая название символа, на экране появляется меню с опциями и пробел позволяет выбрать совпадение.

Соответствующие ссылки:

https://launchpad.net/ubuntu/+source/ibus-table-others/1.3.5-2

https://github.com/mike-fabian/ibus-table-others

https://code.google.com/p/ibus/

MathWriter


0

Это не ответ на мой собственный вопрос, а очень полезная альтернатива, которая заключается в настройке gedit с целью ввода юникод / ​​специальных символов.

Перепробовав некоторые из предложенных решений, я понял, что смена раскладки клавиатуры - это перебор. В конце концов, мне нужно было это только для кодирования (в основном это «строки» с юникодом и математикой в ​​LaTeX). Поэтому я решил, что для моей цели лучше каким-то образом сделать мой редактор способным конвертировать написанные слова в символы юникода.

Мой редактор gedit, который имеет стандартный плагин под названием Snippets. Я понял, что, если я добавлю специальные символы, ~/.config/gedit/snippets/global.xmlя смогу напечатать их в любом текстовом файле.

Я сделал программу, которая читает таблицу символов Юникода и их общих имен и создает файл фрагментов. Таким образом, я набираю имя персонажа, как _alphaи нажимаю TABи αпоявляется. Там нет комбинаций клавиш или слоев клавиатуры, чтобы запомнить.

После процесса мой ~/.config/gedit/snippets/global.xmlфайл выглядит следующим образом. Не забудьте активировать плагин Snippet.

<?xml version='1.0' encoding='utf-8'?>
<snippets>
  <snippet>
    <description>New snippet</description>
  </snippet>
  <snippet>
    <text><![CDATA[α]]></text>
    <tag>_alpha</tag>
    <description>alpha</description>
  </snippet>
  <snippet>
    <text><![CDATA[β]]></text>
    <tag>_beta</tag>
    <description>beta</description>
  </snippet>
  <snippet>
    <text><![CDATA[χ]]></text>
    <tag>_chi</tag>
    <description>chi</description>
  </snippet>
  <snippet>
    <text><![CDATA[ⅆ]]></text>
    <tag>_dd</tag>
    <description>dd</description>
  </snippet>
  <snippet>
    <text><![CDATA[γ]]></text>
    <tag>_gamma</tag>
    <description>gamma</description>
  </snippet>
  <snippet>
    <text><![CDATA[ℏ]]></text>
    <tag>_hbar</tag>
    <description>hbar</description>
  </snippet>
  <snippet>
    <text><![CDATA[μ]]></text>
    <tag>_mu</tag>
    <description>mu</description>
  </snippet>
  <snippet>
    <text><![CDATA[ω]]></text>
    <tag>_omega</tag>
    <description>omega</description>
  </snippet>
  <snippet>
    <text><![CDATA[Ω]]></text>
    <tag>_Omega</tag>
    <description>Omega</description>
  </snippet>
  <snippet>
    <text><![CDATA[π]]></text>
    <tag>_pi</tag>
    <description>pi</description>
  </snippet>
  <snippet>
    <text><![CDATA[ε]]></text>
    <tag>_varepsilon</tag>
    <description>varepsilon</description>
  </snippet>
  <snippet>
    <text><![CDATA[𝟷]]></text>
    <tag>_1</tag>
    <description>1</description>
  </snippet>
</snippets>

Примечания:

  1. Идея взята отсюда http://ubuntuforums.org/showthread.php?t=1892012 , кроме того, что я написал программу для массового генерирования файла из таблицы.
  2. Почему подчеркивание (например _pi)? Это связано с тем, что в противном случае многие фрагменты будут конфликтовать с функцией автозаполнения. Например, pi+ TABне будет производить, πно будет производить, pictureесли это слово упоминается в документе.
  3. Дополнительные символы могут быть добавлены вручную путем копирования и вставки из Gnome Character Mapпрограммы.
  4. Чтобы активировать Snippetsплагин, сначала установите gedit pluginsпакет. Затем перейдите к Preferences-> Plugin-> нажмите Snippets. Затем из меню Tools-> Manage Snippets...убедитесь, что записи доступны в Globalгруппе (вверху).
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.