Skip to content

Customising keyboards

kmcnaught edited this page Jun 7, 2021 · 4 revisions

⚠️ Customising your own keyboards is for advanced users who are comfortable editing XML files.

You may wish to customise your keyboards if you want to adapt one of the built-in keyboards or try out a beta keyboard you've been sent.

  • Right click on the EyeMine keyboard, and click "Settings".
  • In the Visuals tab, change the Startup keyboard to "Custom folder containing dynamic keyboards"
  • Click "Create copy of built-in keyboards"
  • Select a folder where you want the folder of keyboards to be stored (for instance, "My Documents").
  • EyeMine will now load keyboards from your personal copy, and you can go into this folder and make changes!

Tips for getting started

  • The first thing you may want to try is re-arranging keys on existing keyboards. Just move the DynamicKey chunks into a different order in the file
  • You may want to replace a key with a different key from another file. In this case just copy and replace the DynamicKey chunks. Watch out you don't accidentally put too many keys on a keyboard!

Changing what a key does

  • If you want a simple key press (pressing and releasing a key to trigger an action) you can just use
    <Text>m</Text>
  • If you need more control over how long a key is, or you need a more complicated key like a function key, use
      <KeyDown>F3</KeyDown>
      <Wait>200</Wait>      
      <KeyUp>F3</KeyUp> 

Change the number of milliseconds in Wait to hold a key down for longer.

You can press / hold down multiple keys with different timings to do anything you like. For instance, this key uses "w" and "space" to jump forward.

<DynamicKey>      
      <Label>jump forward</Label>
      <KeyDown>w</KeyDown>      
      <KeyDown>Space</KeyDown>
      <Wait>200</Wait>    
      <KeyUp>Space</KeyUp>   
      <KeyUp>w</KeyUp> 
</DynamicKey>

This key uses "ctrl", "w" and "space" to take a run up before jumping:

<DynamicKey>
      <Label>run-jump</Label>
      <KeyDown>LeftCtrl</KeyDown>   
      <KeyDown>w</KeyDown>      
      <Wait>400</Wait>    
      <KeyDown>Space</KeyDown>
      <Wait>200</Wait>    
      <KeyUp>Space</KeyUp>   
      <KeyUp>w</KeyUp> 
      <KeyUp>LeftCtrl</KeyUp>   
</DynamicKey>

Once you've made changes in an XML file, you need to save the file and allow EyeMine to reload the file. To get the keyboard reloading, you'll need to go to a different keyboard and then return. For instance, go "Back" and then load the keyboard again.

For advanced documentation, see Creating-and-Using-Dynamic-Keyboards on the Optikey wiki.

Feel free to email eyemine@specialeffect.org.uk to get assistance with any keyboards / keys you're attempting to build.