If you have problems with some keys in RHIDE, it is probably

because you have an other keyboard layout than the US standard

keyboard. In that case try at first to run RHIDE with the

'-k ...' switch, where '...' stands for the shortcut of

your country. (for instance in germany try '-k de').



If you are running RHIDE on linux, it is the best to use

exact the same name, like your loaded keyboard table, since

the config files here are derived from them.



If that doesn't solve the problem, try any other of the

files in $(prefix)/share/rhide which ends in '.txt' by



(but NOT 'pmacros.txt' or 'syntaxhl.txt', which is an totaly

different config file)



giving after the '-k' only the part before '.txt'. 

If you found any working file, copy it to 'keybind.txt'

and RHIDE will use it from now on as default.



If all of the above doesn't help you, read below:



   Instructions to create a new keyboard config file:



   1) Create 'gkey.exe', which is in the tvision subdirectory

      either with RHIDE using the .gpr file or type there



make -f gkey.mak



   2) Read the 'keybind.cc' file, this file contains ALL the keyboard

assigments for the commands of the editor.



   3) Search any difference between the commands and your keyboard. For

example: the german keyboards don't do ^Y like we spect, that's the line

isn't deleted, instead the editor is scrolled. Put all the annoying diffs.

in a paper or file.



   4) Read the 'keybind.h' and 'keybind.cc' to find what scan code have the

differenece, for example (I'll continue with the german example):

In 'keybind.cc' says:



[CONTROL]

.

. [snipped lines]

.

Y         = cmbDelLine

...



  That means Control+Y will triggers the cmbDelLine command (a description of

all the commands is in 'editor.inf').

  Searching in 'keybind.h' you'll find:



#define Y           21



  So the editor spects a 21 value of scan code for the Y key.

  Take notes of all the scan codes that generate problems based on your

first list.



  Until now we have: ^Y doesn't work, the editor wants 21 for Y.



  5) Run gkey and press the problematic keys to find the scans reported for

your keyboard, in our example:



Pressing ^Y the german people gets (the dots stand for other

information):

 ... ScanCode: 44 ...



 The difference is in the scan 44 v.s. 21, the ascii is correct in this case.

So you must correct the #define in the keybind.h to reflect this situation,

but don't do that in the keybind.h file, make the corrections in the file

named 'my.h', rename this file to the internet domain of your country, in

our example is Germany == de, so you must rename the file to 'de.h', then

modify the keybind.h file to load the de.h file, there are an explanation

of that in the keybind.h file.



  That's the half of the work because the scan 44 is mapped to other key in

keybind.h, there are two ways to know what's the key:



1) I'm sure that you can detect pairs of problems like that, in the german

keyboards the ^Z will delete the line, pressing ^Z in gkey the german people

gets: Scancode: 21, that's logic because these keyboards have the

Z and the Y swapped!

2) Search in the keybind.h what key have the 44 assigned, you'll get Z.



  With this info. you can correct the #define for Z.



  6) With all or any of the problems fixed you must test if that's works, for

this purpose you must create 'keybind.txt', use:



   cpp keybind.cc > keybind.txt



   Now copy the keybind.txt file to the %DJDIR%/share/rhide directory, if you

   don't have this directory create it. For testing first, you can rename it

   to test.txt and run RHDIDE with the '-k test' switch to use the file

   'test.txt' as keyboard definition file.



  7) When you get all working send me the xx.h file to:



  salvador@inti.edu.ar

and

  robert.hoehne@mathematik.tu-chemnitz.de



  and I'll include the file in the package.



Good luck and thank you.

