/****************************************************************************/
/*              Beebem - (c) David Alan Gilbert 1994                        */
/*              ------------------------------------                        */
/* This program may be distributed freely within the following restrictions:*/
/*                                                                          */
/* 1) You may not charge for this program or for any part of it.            */
/* 2) This copyright message must be distributed with all copies.           */
/* 3) This program must be distributed complete with source code.  Binary   */
/*    only distribution is not permitted.                                   */
/* 4) The author offers no warrenties, or guarentees etc. - you use it at   */
/*    your own risk.  If it messes something up or destroys your computer   */
/*    thats YOUR problem.                                                   */
/* 5) You may use small sections of code from this program in your own      */
/*    applications - but you must acknowledge its use.  If you plan to use  */
/*    large sections then please ask the author.                            */
/*                                                                          */
/* If you do not agree with any of the above then please do not use this    */
/* program.                                                                 */
/* Please report any problems to the author at beebem@treblig.org           */
/****************************************************************************/

/* My 2nd effort at a key table.  What this does is to cheat and effectivly ignore
what is written on the PC's key tops and do something more useful for the beeb! */
static struct BeebKeyTrans transTable[]={
#if 0
  {BE_ESCAPE,7,0,Same}, /*{XK_F1,7,1,Same}, {XK_F2,7,2,Same}, {XK_F3,7,3,Same}, {XK_F5,7,4,Same},
  {XK_F6,7,5,Same}, {XK_F8,7,6,Same}, {XK_F9,7,7,Same}, {XK_backslash,7,8,Same},
  {XK_Right,7,9,Same},*/

  {'q',1,0}, {'3',1,1,Same},
  {'4',1,2,Same}, {'5',1,3,Same}, /*{XK_F4,1,4,Same},*/ {'8',1,5}, /*{XK_F7,1,6,Same},*/
  {'-', 1,7,Same}, {'=',1,8,Same},/* 1,7 is minus and equals , 1,8 is tilda,circumflex */
  {BE_LEFT_ARROW,1,9,Same},

  /*{XK_F10,2,0,Same},*/ {'w',2,1,Same}, {'e',2,2,Same},
  {'t',2,3,Same}, {'7',2,4,Same}, 
  {'9',2,6,Same}, {'i',2,5,Same},
  {'0',2,7,Same}, {'#',2,8,Same},/* 2,8 is sterling and underscore */
  {BE_DOWN_ARROW,2,9,Same},

  {'1',3,0,Same}, {'2',3,1,Same},
  {'d',3,2,Same}, {'r',3,3,Same},
  {'6',3,4,Same}, {'u',3,5,Same},
  {'o',3,6,Same}, {'p',3,7,Same},
  {'(',3,8,Same}, {BE_UP_ARROW,3,9,Same},


  {XK_Caps_Lock,4,0,Same}, {XK_a,4,1,Same}, {XK_x,4,2,Same},
  {XK_f,4,3,Same},{XK_y,4,4,Same}, {XK_j,4,5,Same},
  {XK_k,4,6,Same},{XK_grave,4,7,Same}, {XK_apostrophe,4,8,Same}, /* 4,8 is : and * */
  {XK_Return,4,9,Same},{XK_Linefeed,4,9,Same},

  {XK_Shift_Lock,5,0,Same},{XK_Num_Lock,5,0,Same},{XK_s,5,1,Same},
  {XK_c,5,2,Same},{XK_g,5,3,Same},{XK_h,5,4,Same},
  {XK_n,5,5,Same},{XK_l,5,6,Same},{XK_semicolon,5,7,Same}, /* 5,7 is ; and plus */
  {XK_bracketright,5,8,Same},{XK_Delete,5,9,Same},{XK_BackSpace,5,9,Same},
  
  {XK_Tab,6,0,Same},{XK_z,6,1,Same},{XK_space,6,2,Same},{XK_v,6,3,Same},
  {XK_b,6,4,Same},{XK_m,6,5,Same},{XK_comma,6,6,Same},
  {XK_period,6,7,Same},{XK_slash,6,8,Same},
  {XK_End,6,9,Same}, /* That one is copy */

  {XK_Shift_L,0,0,Same}, {XK_Shift_R,0,0,Same}, {XK_Control_L,0,1,Same},{XK_Control_R,0,1,Same},

  {XK_Pause,-2,-2,Same}, {XK_Break,-2,-2,Same}, {XK_F12,-2,-2,Same},/* Hacks for break - the modmap on my PC doesn't seem to have Break in it*/
#endif	// 0

  {0,-1,-1,Same} /* Termination of list */
};
