Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A keyboard layout for conlangers

License

NotificationsYou must be signed in to change notification settings

bradrn/Conkey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conkey is a keyboard layout aimed at conlangers.As such, it focuses extensively on unusual diacritics and letters, aiming to cover more of these than any other keyboard.Conkey also contains a large amount of typographical symbols.

For documentation, seeDocumentation.md.

For intallation instructions, seehttps://github.com/bradrn/Conkey#installation.

Samples

The following language samples were typed using only Conkey:

Nuu-Chah-Nulth (source):ʔUyaaƛaḥ hawiiʔaƛii maapt̓ał c̓išaaʔatḥ ʔuukʷił yuułuʔiłʔatḥ ʔaḥʔaaʔaƛsi n̓ačuʔałʔaƛsi hiikʷis.

Khoekhoe (source):ǂKam !ũi-aob gye ǁẽib di gūna ǃhomi ǃna gye ǃũi hã i.

Azerbaijani 1922 alphabet (source):Butun insanlar ləƶaqət və huqyqlarьna gɵrə azad və bərabər doƣylyrlar.

Zhuang 1957 alphabet (source):Bouч bouч ma dəŋƨ laзƃɯn couƅ miƨ cɯyouƨ, cinƅyenƨ cəuƽ genƨli bouчbouч giŋƨdəŋз.

Dan Liberian alphabet (source):… Yi Dɛn aaꞵi, ɥ́ gɥ́ lɵ́ gbée pə saalɵɛ … Ƃi, ɥ zòɔpúú-mɛ̀nùa Kín káɛ, ɥ wɔkɔ̀ …

Ik linguistic orthography (source: Schrock 2014):Kɔnɔ kaɪnɪ́ɛ́ nɔɔ iánée Máyɛ́ɛ Ɗiwᵃ, mɪta noo kíʝá ɔtáɪ́, enese ɛ́ba arútétikᵉ.

Chukchi (source: Dunn 1999):Cawcəwatˀm ewət ŋˀocˀəqaɣte enaralˀət. Cakəɣetˀm ətlenjuqej nəppəluqin. Naqam ŋˀocˀəqaɣte ənpənacɣəqaɣte ətlˀat.

Polish (source):
Mag skłonił się. […]
— Jak się nazywa ta wieś, panie? — zapytał przybysz. Kowal wzruszył ramionami.
— Głupi Osioł.

Various typographical marks (source: various Wikipedia articles)
„Hast du den Artiken ‚EU-Erweiterung‛ gelesen?‟
« Voulez‐vous un sandwich, Henri ? »
What are those‽

Mathematics:∀ a,b,c,x ∈ ℂ. (ax² + bx + c = 0) ⇒ (x = (−b ± √(b² - 4ac)) ÷ 2a)

Haskell:

(∘)αβγ. (βγ) (αβ) (αγ)g f=\x g (f x)

(Yes, I know those last two aren’t strictly languages, but they’re good as a demonstration…)

Design Principles

Conkey is based around the following design principles:

  • Conkey extends theUS keyboard layout.It does not change or swap any part of this base layout.(Versions based on UK, Dvorak, Colemak etc. layouts are not planned, but I would be more than happy for someone else to make one if they are interested.)
  • All special characters use theAltGr modifier key for access, and no other key.
  • Mnemonic key sequences should be preferred when possible.
  • Conkey supportsprimarily Latin scripts.Characters from other scripts should only be added if they have been used at some point alongside a Latin-based script.

Any future development should conform to these principles.

Development

Conkey uses theMicrosoft Keyboard Layout Creator (MSKLC) for development.This is highly recommended for any complex work on Conkey.However, if you want to make simple modifications only, thekeyboard layout description file has a fairly simple plaintext format which can easily be modified.

Conkey is available in versions for both Linux and Mac OSX.If you are interested, ports of Conkey to other platforms would be welcomed;refer to the instructionshere for details.

Installation

Install Conkey using the files from thelatest release.Alternately, get the files bybuilding Conkey yourself.

Windows

Install by unzippinginstaller.zip and running thesetup.exe file within.If you already have a previous version of Conkey installed,it may be a good idea to uninstall that first using the Control Panel.

Linux

Keyboard input on Linux requires several components to work together:

  • XKBmanages the mapping between the physical keys on your keyboard and the keycodes received by your computer.

  • Aninput method (IM) provides the means to input letters, numbers and other characters.

  • The IM requires aninput method engine (IME) to process individual keyboard layouts.

  • Finally, yourdesktop environment (GNOME, KDE, Xfce, etc.) needs to autostart the IM on login so that it can interpret your typing.

Naturally, the exact configuration will differ depending on how your system is set up.The following guidelines should work for most systems:

  • As with many Linux keyboard layouts, Conkey requires a specialisedAltGr modifier key.You will also see this called the ‘Level 3 Shift’ or ‘3rd level modifier’ by XKB.However, most modern keyboards lack this key,so you will need to change the XKB settings so that a physical key on your keyboard behaves as AltGr instead.

    Many desktop environments allow this to be configured in the settings.Usually this is in a section named ‘Keyboard’ or similar.On KDE, the setting should be in ‘Input Devices → Keyboard → Advanced → Key to choose the 3rd level’.On GNOME, installTweaksand then set ‘Keyboard & Mouse → Additional Layout Options → Key to choose the 3rd level’ within the tweaks tool.On Xfce, try ‘Keyboard → Advanced → Change layout option’ (making sure to uncheck ‘Use system defaults’).

    Otherwise, you can try one of the following methods:

    • XKB configuration options such aslv3:ralt_switch can be set directly,either by running a command likesetxkbmap -option lv3:ralt-switch,or by using aconfiguration file.(At least on my machine, the possible XKB options are listed in/usr/share/X11/xkb/rules/base.lst).
    • You canmake a custom XKB layoutcontaining a key mapped toISO_Level3_Shift.
    • You can also usexmodmap:e.g. to remap right-Alt to AltGr, runxmodmap -e 'keycode 108 = ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift'.

    Note: remapping a key to AltGr means that it will no longer work in its previous function!This is why Right Alt is often a good choice — few programs require an Right Alt key specifically.

  • Next, install an IM.If you’re using GNOME you might already have IBus installed.If not, installing IBus or Fcitx 5 should be straightforward:for details, consult the instructions for your distribution.(e.g. on Arch Linux, to install IBus usepacman -S ibus and set theappropriate environment variables.)You will also need to installm17n integration — usually this is in a package calledibus-m17n,fcitx5-m17n or similar.

  • Ensure that your desktop environment launches the IM on login.GNOME may do this automatically, as might KDE (though I haven’t tested the latter);otherwise set up a command such asibus-daemon -drxR orfcitx5 -rd to be run on login.

  • Get the Conkey keyboard layout by downloadinglatn-conk.mim fromthe latest release.Create a directory called.m17n.d in your home directory (if it does not already exist), and placelatn-conk.mim in it.

  • Finally, log out and back in.It should now be possible to add Conkey as a keyboard layout in the IM settings.You can use the AltGr key you set up earlier to input diacritics, letters and symbols.

    Note: on IBus, for AltGr to work, you may need to select ‘Use system keyboard layout’ (in the ‘Advanced’ tab of the preferences).The equivalent setting on Fcitx5 should be enabled by default.

If the above instructions do not work, then you can also try the XCompose file mentionedbelow.

Mac OSX

(Thanks go to @akamchinjir for providing the instructions below.)

Conkey for Mac OSX is provided as a zipped.bundle.To install Conkey:

  1. Unzip the zipped directory.
  2. Within the zip file, there should be aConkey.bundle directory. Copy this directory into~/Library/Keyboard Layouts.
  3. Log out and then back in. The new keyboard should now be available in the System Keyboard Preferences dialog.

The~/Library file may be hidden in Finder.You can still navigate to it by choosing “Go to Folder” in the “Go” menu and then entering~/Library directly.Or you can make it permanently visible by enteringchflags nohidden ~/Library in the terminal.If the~/Library folder does not already contain a “Keyboard Layouts” folder, just create it.

It should also work if you put the.bundle directory in/System/Library.

XCompose

Some platforms provide acompose key to convert key sequences into alternate characters.Though this does not provide a full ‘keyboard layout’per se, Conkey has been adapted to work with XCompose,with the ‘compose key’ / ‘multi key’ taking the place of AltGr.

The following installation instructions should work for Linux:

  1. Download the XCompose file fromthe latest release;rename it to.XCompose and move it into your home directory.
  2. Enable the compose key, e.g. in the ‘Keyboard’ settings of your desktop environment, or by setting XKB optioncompose:ralt.(See the Linux section above for more on this).
  3. Log out and then in to enable the new keybindings.

The same.XCompose file should also be compatible withWinCompose for Windows.However, I have not tested this.Follow the instructions in the linked documentation to install Conkey using this method.

Building

Windows

Conkey uses MSKLC for development, as mentioned above.To build the keyboard, use theProject → Build DLL and Setup Package menu item.(Note that I find I have to uninstall Conkey before I can run this, since otherwise I get an error.)This should create asetup.exe executable plus a number of other files.

Linux

ms2mim

Thems2mim utility, included in this repository, is used to build keyboards for Linux and Mac OSX.To build this utility, first install Haskell, preferentially usingGHCup.Then change to the correct directory withcd ms2mim, and build the utility withcabal build.

m17n

After buildingms2mim, the following command may then be used to generate alatn-conk.mim filein the current directory:

$ cabal exec -- ms2mim ../Conkey.klc latn-conk.mim --mim

This file may then be installed as per the instructions above.

XCompose

After buildingms2mim, the following commands may be usedto generate the file.XCompose-multikey:

$ cabal exec -- ms2mim ../Conkey.klc ~/.XCompose-multikey --xc --filter --multikey

Mac OSX

To build Conkey for Mac OSX, first follow the instructions above to buildms2mim.Then run the following command:

$ stack exec -- ms2mim ../Conkey.klc conkey.in --int --osx

This will generate an intermediate fileconkey.in in the current directory.To convert this intermediate file to a.bundle directory suitable for installation,it is recommended to useakamchinjir/osxkb.First download that repository, and build it using thegiven instructions.Next you will need to create a configuration file using the instructions inthe README.Ensure that thedatafile field contains the path to theconkey.in intermediate file you created previously.Alternately, you may use theconkey.config file provided with this repository.Finally, runosxkb path-to-the-configuration-file.conf;this will generate a.bundle directory which may be installed using the instructions above.


[8]ページ先頭

©2009-2025 Movatter.jp