Hallo X experts,

I have created first version of extended xkb/symbols/inet file,
describing many new and incompatible EAK (Easy Access Key) keyboards.

It is based on database collected by LinEAK project with key naming
changed near to XF86 conventions. http://lineak.sourceforge.net

I expect discussion on key naming, keycodes naming for redundant
keycodes and keyboard names (HP, Compaq is not sufficient, because there
are different models with incompatible keys)

The file is not yet prepared for inclusion to source code and it does
not yet includes old contents of inet file.

A am also adding script performing format and name converion.

-- 
Best Regards / S pozdravem,

Stanislav Brabec
pracovn�k v�voje softwaru / software developer
---------------------------------------------------------------------
SuSE CR, s. r. o.                             e-mail: [EMAIL PROTECTED]
Drahobejlova 27                               tel: +420 2 9654 2382
190 00 Praha 9                                fax: +420 2 9654 2374
Czech Republic                                http://www.suse.cz/
// EAK (Easy Access, Internet, Multimedia, PDA) keyboards
// Created by Stanislav Brabec <[EMAIL PROTECTED]>
// Based on LinEAK project
// fix manually Media, Close, Stop etc. - can be Audio or non-audio
// fix manually Standby/Sleep, Power/PowerOff
// one key has undefined code (?101), few has redundant codes (<BRK>, <RCTL> etc.)

// LinEAK - Linux support for Easy Access and Internet Keyboards      
//  Copyright (C) 2001,2002 Mark Smulders <[EMAIL PROTECTED]>
// #
// keyboard definition file:
//   this file defines the extra keys of the keyboard types,
//   and the corresponding keycode.
// #
// if your keyboard is not in here, please send me an e-mail so
// I can add support for it.
// #
// WARNING: this definition file is NOT compatible with
//          lineakd 0.1 and 0.2
//          lineakconfig 0.1

// ###Compaq keyboards###

partial alphanumeric_keys
xkb_symbols "CEAK8" {
    name[Group1]= "Compaq Easy Access Keyboard (8 keys)";

    key <I23>   {       [ XF86Internet          ]       };
    key <I1F>   {       [ XF86HomePage          ]       };
    key <I1A>   {       [ XF86Search            ]       };
    key <I1E>   {       [ XF86Mail              ]       };
    key <I13>   {       [ XF86Communities       ]       };
    key <I14>   {       [ XF86Market            ]       };
    key <I15>   {       [ XF86Meeting           ]       };
    key <I1B>   {       [ XF86News              ]       };

};
// end Compaq Easy Access Keyboard (8 keys)

partial alphanumeric_keys
xkb_symbols "CIK18g" {
    name[Group1]= "Compaq Internet Keyboard (18 keys, grey)";

    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I18>   {       [ XF86Eject             ]       };

    key <I1E>   {       [ XF86Mail              ]       };
    key <I26>   {       [ XF86Communities       ]       };
    key <I25>   {       [ XF86VendorHome        ]       };
    key <I23>   {       [ XF86Internet          ]       };
    key <I21>   {       [ XF86Search            ]       };
    key <I12>   {       [ XF86LightBulb         ]       };
    key <I32>   {       [ XF86Shop              ]       };

    key <I68>   {       [ XF86Print             ]       };
    key <I1F>   {       [ XF86Go                ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end Compaq Internet Keyboard 18 grey

partial alphanumeric_keys
xkb_symbols "CIK18b" {
    name[Group1]= "Compaq Internet Keyboard (18 keys, blue)";

    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I18>   {       [ XF86Eject             ]       };

    key <I1E>   {       [ XF86Mail              ]       };
    key <I26>   {       [ XF86Communities       ]       };
    key <I25>   {       [ XF86VendorHome        ]       };
    key <I23>   {       [ XF86Internet          ]       };
    key <I21>   {       [ XF86Search            ]       };
    key <I12>   {       [ XF86LightBulb         ]       };
    key <I32>   {       [ XF86Shop              ]       };

    key <I68>   {       [ XF86Print             ]       };
    key <I1F>   {       [ XF86Go                ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end Compaq Internet Keyboard 18 blue

partial alphanumeric_keys
xkb_symbols "CIK13" {
    name[Group1]= "Compaq Internet Keyboard (13 keys)";

    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I1F>   {       [ XF86Go                ]       };
    key <I23>   {       [ XF86Internet          ]       };
    key <I21>   {       [ XF86Search            ]       };
    key <I1E>   {       [ XF86Mail              ]       };
    key <I32>   {       [ XF86Shop              ]       };

};
// end Compaq Internet Keyboard 13 keys

partial alphanumeric_keys
xkb_symbols "CiP" {
    name[Group1]= "Compaq iPaq Keyboard (7 keys)";

    key <I6C>   {       [ XF86Mail              ]       };
    key <I69>   {       [ XF86BackNext          ]       };
    key <I6A>   {       [ XF86Q                 ]       };
    key <END>   {       [ XF86Standby           ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Travel            ]       };
    key <PRSC>  {       [ XF86Shop              ]       };

};


// ###Microsoft keyboards###

partial alphanumeric_keys
xkb_symbols "MNKpro" {
    name[Group1]= "Microsoft Natural Keyboard Pro";

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <I67>   {       [ XF86Refresh           ]       };
    key <I6D>   {       [ XF86AudioMedia        ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };

    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };

    key <I32>   {       [ XF86HomePage          ]       };
    key <I6B>   {       [ XF86MyComputer        ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Favorites         ]       };

    key <I21>   {       [ XF86Calculator        ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end MS Natural Keyboard Pro

partial alphanumeric_keys
xkb_symbols "MIK" {
    name[Group1]= "Microsoft Internet Keyboard";

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I32>   {       [ XF86Internet          ]       };
    key <I6B>   {       [ XF86MyComputer        ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end MS Internet Keyboard

partial alphanumeric_keys
xkb_symbols "MIKpro" {
    name[Group1]= "Microsoft Internet Keyboard Pro";
//   MIKpro Driver Completed By SIR_Taco <[EMAIL PROTECTED]>

//   Multimedia Section -- Right Side
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I6D>   {       [ XF86AudioMedia        ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
//   Internet Section -- Left Side
    key <I32>   {       [ XF86HomePage          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Fwd               ]       };
    key <I67>   {       [ XF86Refresh           ]       };
//   My Computer Section -- Far Right
    key <I6B>   {       [ XF86MyComputer        ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end MS Internet Keyboard Pro

partial alphanumeric_keys
xkb_symbols "MIKproSE" {
    name[Group1]= "Microsoft Internet Keyboard Pro, Swedish";

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <PRSC>  {       [ XF86Refresh           ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Favories          ]       };
    key <END>   {       [ XF86HomePage          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I26>   {       [ XF86AudioMute         ]       };
    key <I25>   {       [ XF86AudioLowerVolume  ]       };
    key <I1E>   {       [ XF86AudioRaiseVolume  ]       };
    key <I1F>   {       [ XF86AudioPlay         ]       };
    key <I17>   {       [ XF86AudioStop         ]       };
    key <I24>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioNext         ]       };
    key <DELE>  {       [ XF86AudioMedia        ]       };
    key <PRSC>  {       [ XF86MyComputer        ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I63>   {       [ XF86Sleep             ]       };

};
// end MS Internet Keyboard Pro [Swedish]

partial alphanumeric_keys
xkb_symbols "MOK" {
    name[Group1]= "Microsoft Office Keyboard";

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I3C>   {       [ XF86Cut               ]       };
    key <I78>   {       [ XF86Copy              ]       };
    key <RCTL>  {       [ XF86Paste             ]       };
    key <I54>   {       [ XF86ApplicationLeft   ]       };
    key <?101>  {       [ XF86ApplicationRight  ]       };
    key <I44>   {       [ XF86Word              ]       };
    key <I45>   {       [ XF86Excel             ]       };
    key <END>   {       [ XF86Internet          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <BRK>   {       [ XF86Calendar          ]       };
    key <I57>   {       [ XF86HomePage          ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I26>   {       [ XF86AudioMute         ]       };
    key <I25>   {       [ XF86AudioRaiseVolume  ]       };
    key <I1E>   {       [ XF86AudioLowerVolume  ]       };
    key <I4A>   {       [ XF86Logoff            ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I62>   {       [ Help                  ]       };
    key <I6D>   {       [ XF86OfficeHome        ]       };
    key <I55>   {       [ XF86TaskPane          ]       };
    key <I58>   {       [ XF86New               ]       };
    key <I59>   {       [ XF86Open              ]       };
    key <I5A>   {       [ XF86Close             ]       };
    key <I71>   {       [ XF86Reply             ]       };
    key <I72>   {       [ XF86Fwd               ]       };
    key <I73>   {       [ XF86Send              ]       };
    key <I56>   {       [ XF86Spell             ]       };
    key <I64>   {       [ XF86Save              ]       };
    key <I67>   {       [ XF86Print             ]       };
    key <END>   {       [ XF86Undo              ]       };
    key <I70>   {       [ XF86Redo              ]       };

};
// end MS Office Keyboard


// ###Logitech keyboards###

partial alphanumeric_keys
xkb_symbols "LTCD" {
    name[Group1]= "Logitech Cordless Desktop";

    key <I5F>   {       [ XF86Sleep             ]       };
    key <END>   {       [ XF86Internet          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Go                ]       };
    key <I26>   {       [ XF86AudioMute         ]       };
    key <I25>   {       [ XF86AudioLowerVolume  ]       };
    key <I1E>   {       [ XF86AudioRaiseVolume  ]       };
    key <I1F>   {       [ XF86AudioPlay         ]       };
    key <I17>   {       [ XF86AudioStop         ]       };
    key <I24>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioNext         ]       };

};
// end Logitech Cordless Desktop

partial alphanumeric_keys
xkb_symbols "LTCDP" {
    name[Group1]= "Logitech Cordless Desktop Pro";

    key <I5F>   {       [ XF86Sleep             ]       };
    key <I32>   {       [ XF86Internet          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Go                ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I21>   {       [ XF86VendorHome        ]       };

};
// end Logitech Cordless Desktop Pro

partial alphanumeric_keys
xkb_symbols "LTCDPa" {
    name[Group1]= "Logitech Cordless Desktop Pro (alternate option)";

    key <I5F>   {       [ XF86Sleep             ]       };
    key <END>   {       [ XF86Internet          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Go                ]       };
    key <I26>   {       [ XF86AudioMute         ]       };
    key <I25>   {       [ XF86AudioLowerVolume  ]       };
    key <I1E>   {       [ XF86AudioRaiseVolume  ]       };
    key <I1F>   {       [ XF86AudioPlay         ]       };
    key <I17>   {       [ XF86AudioStop         ]       };
    key <I24>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioNext         ]       };
    key <I21>   {       [ XF86VendorHome        ]       };

};
// end Logitech Cordless Desktop Pro (alternate option)

partial alphanumeric_keys
xkb_symbols "LTCDO" {
    name[Group1]= "Logitech Cordless Desktop Optical";

    key <I69>   {       [ XF86Go                ]       };
    key <I6A>   {       [ XF86Back              ]       };
    key <I16>   {       [ XF86WheelButton       ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I13>   {       [ XF86Finance           ]       };
    key <I14>   {       [ XF86MySites           ]       };
    key <I15>   {       [ XF86Social            ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I6D>   {       [ XF86AudioMedia        ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I12>   {       [ XF86ITouch            ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I11>   {       [ XF86Shop              ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I32>   {       [ XF86HomePage          ]       };

};
// end Logitech Cordless Desktop Optical

partial alphanumeric_keys
xkb_symbols "LTCDiT" {
    name[Group1]= "Logitech Cordless Desktop iTouch";

    key <I5F>   {       [ XF86Sleep             ]       };
    key <I13>   {       [ XF86Finance           ]       };
    key <I14>   {       [ XF86MySites           ]       };
    key <I15>   {       [ XF86Communities       ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I6D>   {       [ XF86AudioMedia        ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I12>   {       [ XF86VendorHome        ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I11>   {       [ XF86Shop              ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I32>   {       [ XF86HomePage          ]       };

};
// end Logitech Cordless Desktop iTouch

partial alphanumeric_keys
xkb_symbols "LTIK" {
    name[Group1]= "Logitech Internet Keyboard";

    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };

    key <I6C>   {       [ XF86Mail              ]       };
    key <I32>   {       [ XF86Internet          ]       };
    key <I65>   {       [ XF86Search            ]       };

    key <I66>   {       [ XF86Go                ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end Logitech Internet Keyboard 12

partial alphanumeric_keys
xkb_symbols "LTDAK" {
    name[Group1]= "Logitech Deluxe Access Keyboard";

    key <I32>   {       [ XF86Internet          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I65>   {       [ XF86Search            ]       };

};
// end Logitech Deluxe Access Keyboard

partial alphanumeric_keys
xkb_symbols "LTiTC" {
    name[Group1]= "Logitech iTouch Cordless Keyboard (model Y-RB6)";

    key <I5F>   {       [ XF86Power             ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I32>   {       [ XF86HomePage          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Favorites         ]       };

};

partial alphanumeric_keys
xkb_symbols "LTCFN" {
    name[Group1]= "Logitech Cordless Freedom/Desktop Navigator";

    key <I13>   {       [ XF86Finance           ]       };
    key <I14>   {       [ XF86MySites           ]       };
    key <I15>   {       [ XF86Community         ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I6D>   {       [ XF86AudioMedia        ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I12>   {       [ XF86ITouch            ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I11>   {       [ XF86Shopping          ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I32>   {       [ XF86HomePage          ]       };
    key <I69>   {       [ XF86Sleep             ]       };
    key <UP>    {       [ XF86ScrollUp          ]       };
    key <DOWN>  {       [ XF86ScrollDown        ]       };
    key <I16>   {       [ XF86ScrollClick       ]       };
    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };

};
// end Logitech Cordless Freedom Navigator

partial alphanumeric_keys
xkb_symbols "LTINK" {
    name[Group1]= "Logitech Internet Navigator Keyboard";

    key <I69>   {       [ XF86Go                ]       };
    key <I6A>   {       [ XF86Back              ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I13>   {       [ XF86Finances          ]       };
    key <I14>   {       [ XF86MyPages           ]       };
    key <I15>   {       [ XF86Communities       ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I6D>   {       [ XF86MultimediaProg    ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I12>   {       [ XF86VendorHome        ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I11>   {       [ XF86Market            ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I32>   {       [ XF86HomePage          ]       };

};
// end Logitech Navigator Keyboard


// ###Hewlett-Packard###

partial alphanumeric_keys
xkb_symbols "HP2501" {
    name[Group1]= "Hewlett-Packard SK-2501 Multimedia Keyboard (13 keys)";

    key <I32>   {       [ XF86Internet          ]       };
    key <I17>   {       [ XF86Search            ]       };
    key <I12>   {       [ XF86Tools             ]       };
    key <I1E>   {       [ XF86Mail              ]       };
    key <I23>   {       [ XF86Shortcut2         ]       };
    key <I22>   {       [ XF86Shortcut3         ]       };
    key <I24>   {       [ XF86Shortcut4         ]       };
    key <I21>   {       [ XF86Shortcut5         ]       };
    key <I25>   {       [ XF86Lock              ]       };
    key <I26>   {       [ XF86Info              ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };

};
// end HP Multimedia Keyboard

partial alphanumeric_keys
xkb_symbols "HP2505" {
    name[Group1]= "Hewlett-Packard SK-2505 Internet Keyboard (14 keys)";

    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I18>   {       [ XF86Eject             ]       };
    key <I1E>   {       [ XF86Mail              ]       };
    key <I32>   {       [ XF86Internet          ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I25>   {       [ XF86Sleep             ]       };

};
// end HP Internet Keyboard 


// ###IBM keyboards###

partial alphanumeric_keys
xkb_symbols "IBMRAII" {
    name[Group1]= "IBM Rapid Access II";

    key <I25>   {       [ XF86Internet          ]       };
    key <I26>   {       [ XF86InternetShopping  ]       };
    key <I32>   {       [ XF86IBMSupport        ]       };
    key <I17>   {       [ XF86WorldBook         ]       };
    key <I30>   {       [ XF86Option            ]       };
    key <I2E>   {       [ Help                  ]       };
    key <I5F>   {       [ XF86Standby           ]       };
    key <I1E>   {       [ XF86AudioMute         ]       };
    key <I20>   {       [ XF86AudioStop         ]       };
    key <I22>   {       [ XF86AudioPlayPause    ]       };
    key <I24>   {       [ XF86Rewind            ]       };
    key <I12>   {       [ XF86FastForward       ]       };
    key <I21>   {       [ XF86AudioLowerVolume  ]       };
    key <I23>   {       [ XF86AudioRaiseVolume  ]       };
    key <MENU>  {       [ XF86UnmarkedButton    ]       };

};


// ###QTronix keyboards###

partial alphanumeric_keys
xkb_symbols "QTSCSK2" {
    name[Group1]= "QTronix Scorpius SKII (2 ACPI keys)";

    key <I5F>   {       [ XF86Sleep             ]       };
    key <I5E>   {       [ XF86Standby           ]       };

};
// end QTronix Scorpius SKII (2 ACPI keys)

partial alphanumeric_keys
xkb_symbols "QTSCSK2P" {
    name[Group1]= "QTronix Scorpius SKIIP (3 ACPI keys)";

    key <I63>   {       [ XF86Resume            ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I5E>   {       [ XF86Standby           ]       };

};
// end QTronix Scorpius SKIIP (3 ACPI keys)

partial alphanumeric_keys
xkb_symbols "QTSC98N+" {
    name[Group1]= "QTronix Scorpius 98N+";

    key <I21>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I23>   {       [ XF86AudioNext         ]       };
    key <I30>   {       [ XF86Record            ]       };

    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I26>   {       [ XF86AudioMute         ]       };
    key <I20>   {       [ XF86AudioRaiseVolume  ]       };

    key <I13>   {       [ XF86WakeUp            ]       };
    key <I18>   {       [ XF86Sleep             ]       };
    key <I31>   {       [ XF86Power             ]       };
    key <I68>   {       [ XF86Calculator        ]       };
    key <I1F>   {       [ XF86Reload            ]       };

    key <I25>   {       [ XF86HomePage          ]       };
    key <I1E>   {       [ XF86Back              ]       };
    key <I17>   {       [ XF86Search            ]       };
    key <I32>   {       [ XF86AudioStop         ]       };
    key <I12>   {       [ XF86Forward           ]       };

    key <I19>   {       [ XF86ScrollUp          ]       };
    key <I10>   {       [ XF86ScrollDown        ]       };

};
// end Qtronicx Scorpius 98N+


// ###BTC keyboards###

partial alphanumeric_keys
xkb_symbols "BTC5113RF" {
    name[Group1]= "BTC 5113RF Multimedia";

    key <I30>   {       [ XF86Internet          ]       };
    key <I26>   {       [ XF86Back              ]       };
    key <I20>   {       [ XF86Favorites         ]       };
    key <I32>   {       [ XF86Search            ]       };
    key <I25>   {       [ XF86AudioLowerVolume  ]       };
    key <I1E>   {       [ XF86AudioRaiseVolume  ]       };
    key <I12>   {       [ XF86AudioMute         ]       };
    key <I22>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioPlay         ]       };
    key <I10>   {       [ XF86AudioStop         ]       };
    key <I24>   {       [ XF86AudioNext         ]       };
    key <I21>   {       [ XF86Eject             ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };

};
// #end BTC 5113RF Multimedia

partial alphanumeric_keys
xkb_symbols "BTC5126T" {
    name[Group1]= "BTC 5126T";

    key <I30>   {       [ XF86Internet          ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I2B>   {       [ XF86Mail              ]       };

};
// end BTC 5126T

partial alphanumeric_keys
xkb_symbols "BTC9000" {
    name[Group1]= "BTC 9000A";

    key <I19>   {       [ XF86AudioPlay         ]       };
    key <I22>   {       [ XF86AudioPrev         ]       };
    key <I24>   {       [ XF86AudioNext         ]       };
    key <I10>   {       [ XF86AudioStop         ]       };
    key <I21>   {       [ XF86Eject             ]       };

    key <I1E>   {       [ XF86AudioRaiseVolume  ]       };
    key <I25>   {       [ XF86AudioLowerVolume  ]       };
    key <I12>   {       [ XF86AudioMute         ]       };

    key <I30>   {       [ XF86Internet          ]       };
    key <I26>   {       [ XF86HomePage          ]       };
    key <I32>   {       [ XF86Search            ]       };
    key <I20>   {       [ XF86Favorites         ]       };

    key <I2E>   {       [ Help                  ]       };
    key <I63>   {       [ XF86WakeUp            ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I5E>   {       [ XF86Powerdown         ]       };

};
// end BTC 9000A



// ###Memorex keyboards###

partial alphanumeric_keys
xkb_symbols "MX1998" {
    name[Group1]= "Memorex MX1998";

    key <I24>   {       [ XF86AudioStop         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Suspend           ]       };
    key <I7A>   {       [ XF86Coffeebreak       ]       };
    key <I57>   {       [ XF86WakeUp            ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I25>   {       [ XF86Calc              ]       };
    key <I18>   {       [ XF86Xfer              ]       };
    key <I68>   {       [ XF86DOS               ]       };
    key <I21>   {       [ XF86MyDoc             ]       };
    key <I12>   {       [ XF86Rew               ]       };
    key <I1E>   {       [ XF86Rec               ]       };
    key <I23>   {       [ XF86Game              ]       };
    key <I17>   {       [ XF86Close             ]       };
    key <I26>   {       [ XF86Menu              ]       };
    key <UP>    {       [ XF86ScrollUp          ]       };
    key <DOWN>  {       [ XF86ScrollDown        ]       };

};
// end MX 1998

partial alphanumeric_keys
xkb_symbols "MX2500" {
    name[Group1]= "Memorex MX2500 EZ-Access Keyboard";

    key <I5F>   {       [ XF86Sleep             ]       };
    key <I6B>   {       [ XF86WakeUp            ]       };
    key <I5E>   {       [ XF86Poweroff          ]       };
    key <I14>   {       [ XF86DOS               ]       };
    key <I1F>   {       [ XF86Documents         ]       };
    key <I26>   {       [ XF86News              ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I18>   {       [ XF86X-fer             ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I12>   {       [ XF86Clear             ]       };
    key <I13>   {       [ XF86Phone             ]       };
    key <I21>   {       [ XF86Calculater        ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I22>   {       [ XF86AudioPlayPause    ]       };
    key <I6D>   {       [ XF86RotateWindows     ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I17>   {       [ XF86Close             ]       };
    key <I1E>   {       [ XF86Eject             ]       };
    key <LWIN>  {       [ XF86LWindows          ]       };
    key <RWIN>  {       [ XF86RWindows          ]       };
    key <MENU>  {       [ XF86Properties        ]       };

};
// end Memorex EZ-Access Keyboard

partial alphanumeric_keys
xkb_symbols "MX2750" {
    name[Group1]= "Memorex MX2750";

    key <I5E>   {       [ XF86PowerOff          ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };
    key <I32>   {       [ XF86Launch            ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I22>   {       [ XF86AudioPlayPause    ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };

};
// end MX 2750


// ###Laptops/notebooks###

partial alphanumeric_keys
xkb_symbols "CEA4" {
    name[Group1]= "Laptop/notebook Compaq (eg. Armada) Laptop Keyboard (4 keys)";

    key <I23>   {       [ XF86Internet          ]       };
    key <I1F>   {       [ XF86HomePage          ]       };
    key <I1A>   {       [ XF86Search            ]       };
    key <I1E>   {       [ XF86Mail              ]       };

};
// end Compaq Easy Access Laptop Keyboard

partial alphanumeric_keys
xkb_symbols "CIKP800" {
    name[Group1]= "Laptop/notebook Compaq (eg. Presario) Internet Keyboard";

    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I1F>   {       [ XF86User1             ]       };
    key <I18>   {       [ XF86User2             ]       };

    key <I75>   {       [ XF86AudioMedia        ]       };
    key <I23>   {       [ XF86Internet          ]       };
    key <I14>   {       [ XF86Q                 ]       };
    key <I32>   {       [ XF86Shop              ]       };
    key <I1E>   {       [ XF86Mail              ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end Compaq Internet Keyboard 800 Presario notebook

partial alphanumeric_keys
xkb_symbols "DI8K" {
    name[Group1]= "Laptop/notebook Dell Inspiron 8xxx";

    key <DELE>  {       [ XF86AudioPlay         ]       };
    key <INS>   {       [ XF86AudioPrev         ]       };
    key <LEFT>  {       [ XF86AudioNext         ]       };
    key <END>   {       [ XF86AudioStop         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };

};
// end Dell Inspiron 8xxx Laptop


// ###Misc. other keyboards###

partial alphanumeric_keys
xkb_symbols "YAHOO" {
    name[Group1]= "Yahoo! Internet Keyboard (16 keys)";

    key <I11>   {       [ XF86AudioPrev         ]       };
    key <I12>   {       [ XF86AudioPlay         ]       };
    key <I1E>   {       [ XF86AudioStop         ]       };
    key <I1F>   {       [ XF86AudioNext         ]       };
    key <I20>   {       [ XF86Record            ]       };
    key <I21>   {       [ XF86AudioLowerVolume  ]       };
    key <I22>   {       [ XF86AudioRaiseVolume  ]       };
    key <I23>   {       [ XF86AudioMute         ]       };
    key <I24>   {       [ XF86Close             ]       };
    key <I25>   {       [ XF86Calculator        ]       };
    key <I26>   {       [ Help                  ]       };
    key <I27>   {       [ XF86Mail              ]       };
    key <I28>   {       [ XF86Internet          ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };

};
// #end YaHoo!

partial alphanumeric_keys
xkb_symbols "CBLCB" {
    name[Group1]= "Cherry Blue Line CyBo@rd";

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <PRSC>  {       [ XF86Reload            ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86MyComputer        ]       };
    key <END>   {       [ XF86HomePage          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <PRSC>  {       [ XF86Terminal          ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I1E>   {       [ XF86AudioRaiseVolume  ]       };
    key <I26>   {       [ XF86AudioMute         ]       };
    key <I25>   {       [ XF86AudioLowerVolume  ]       };
    key <DELE>  {       [ XF86Go                ]       };
    key <I24>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioNext         ]       };
    key <I1F>   {       [ XF86AudioPlay         ]       };
    key <I17>   {       [ XF86AudioStop         ]       };
    key <I63>   {       [ XF86Sleep             ]       };

};
// end Cherry Blue Line CyBo@rd

partial alphanumeric_keys
xkb_symbols "CBLCBa" {
    name[Group1]= "Cherry Blue Line CyBo@rd (alternate option)";

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <I67>   {       [ XF86Reload            ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I66>   {       [ XF86MyComputer        ]       };
    key <I32>   {       [ XF86HomePage          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I6B>   {       [ XF86Terminal          ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I6D>   {       [ XF86Go                ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};
// end Cherry Blue Line CyBo@rd 

partial alphanumeric_keys
xkb_symbols "SVEN2500" {
    name[Group1]= "SVEN Ergonomic 2500";

    key <I68>   {       [ XF86Back              ]       };
    key <I12>   {       [ XF86Forward           ]       };
    key <I23>   {       [ XF86AudioStop         ]       };
    key <I29>   {       [ XF86Reload            ]       };
    key <I2E>   {       [ XF86Search            ]       };
    key <I30>   {       [ XF86Favorites         ]       };
    key <I1E>   {       [ XF86HomePage          ]       };
    key <I19>   {       [ XF86AudioPrev         ]       };
    key <I1A>   {       [ XF86AudioStop         ]       };
    key <I10>   {       [ XF86AudioPlay         ]       };
    key <I62>   {       [ XF86AudioNext         ]       };
    key <I26>   {       [ XF86AudioMute         ]       };
    key <I25>   {       [ XF86AudioLowerVolume  ]       };
    key <I17>   {       [ XF86AudioRaiseVolume  ]       };
    key <I18>   {       [ XF86ZoomOut           ]       };
    key <I21>   {       [ XF86ZoomIn            ]       };
    key <I32>   {       [ XF86ScrollDown        ]       };
    key <I31>   {       [ XF86ScrollUp          ]       };
    key <I20>   {       [ XF86Mail              ]       };
    key <I22>   {       [ XF86MyComputer        ]       };
    key <I28>   {       [ XF86Calculator        ]       };
    key <I24>   {       [ XF86ScreenSaver       ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };

};
// end SVEN Ergonomic 2500

partial alphanumeric_keys
xkb_symbols "SK1300" {
    name[Group1]= "SK-1300 (and clones)";

    key <I20>   {       [ XF86Internet          ]       };
    key <I26>   {       [ XF86Back              ]       };
    key <I1E>   {       [ XF86Forward           ]       };
    key <I32>   {       [ XF86AudioStop         ]       };
    key <I25>   {       [ XF86Sleep             ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I12>   {       [ XF86Eject             ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };

};

partial alphanumeric_keys
xkb_symbols "SK2500" {
    name[Group1]= "SK-2500 (and clones)";

    key <I25>   {       [ XF86Power             ]       };
    key <I7A>   {       [ XF86ScreenSaver       ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I23>   {       [ XF86Xfer              ]       };
    key <I17>   {       [ XF86Close             ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I1E>   {       [ XF86Record            ]       };
    key <I12>   {       [ XF86Rewind            ]       };
    key <I26>   {       [ XF86Menu              ]       };
    key <I18>   {       [ XF86Eject             ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I18>   {       [ XF86Eject             ]       };

};
// end Silitek SK-2500 & clones

partial alphanumeric_keys
xkb_symbols "SK6200" {
    name[Group1]= "SK-6200 (and clones)";

    key <I24>   {       [ XF86AudioStop         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I23>   {       [ XF86AudioPrev         ]       };
    key <I21>   {       [ XF86AudioNext         ]       };
    key <I16>   {       [ XF86AudioRaiseVolume  ]       };
    key <I14>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I1E>   {       [ XF86Internet          ]       };
    key <I12>   {       [ XF86Favorites         ]       };
    key <I32>   {       [ XF86Mail              ]       };
    key <I17>   {       [ XF86Back              ]       };
    key <I19>   {       [ XF86Forward           ]       };

};
// end SK-6200

partial alphanumeric_keys
xkb_symbols "SK7100" {
    name[Group1]= "SK-7100";

    key <I17>   {       [ XF86Close             ]       };
    key <I25>   {       [ XF86Cd                ]       };
    key <I18>   {       [ XF86Video             ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I1E>   {       [ XF86Up                ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I12>   {       [ XF86Pause             ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I26>   {       [ XF86Display           ]       };

};
// end SK-7100

partial alphanumeric_keys
xkb_symbols "DEXXWD" {
    name[Group1]= "Dexxa Wireless Desktop Keyboard (9 keys)";

    key <I67>   {       [ XF86Reload            ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I32>   {       [ XF86Internet          ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };

};
// end Dexxa Wireless Desktop

partial alphanumeric_keys
xkb_symbols "TWC" {
    name[Group1]= "Trust Wireless Keyboard Classic";

    key <I32>   {       [ XF86Internet          ]       };
    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I1E>   {       [ XF86Eject             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };
    key <I11>   {       [ XF86ScreenSaver       ]       };

};
// end Trust Wireless Keyboard Classic

partial alphanumeric_keys
xkb_symbols "SS4500" {
    name[Group1]= "Samsung SDM 4500P";

    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I18>   {       [ XF86Eject             ]       };
    key <I22>   {       [ XF86AudioPlayPause    ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I32>   {       [ XF86I-browser         ]       };
    key <I6C>   {       [ XF86Mail-client       ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I26>   {       [ Help                  ]       };
    key <I59>   {       [ XF86Explorer          ]       };
    key <I09>   {       [ XF86Close-prog        ]       };
    key <I0A>   {       [ XF86Book              ]       };
    key <END>   {       [ XF86User1             ]       };
    key <INS>   {       [ XF86User2             ]       };
    key <LEFT>  {       [ XF86User3             ]       };
    key <RGHT>  {       [ XF86User4             ]       };
    key <PGDN>  {       [ XF86User5             ]       };

};

partial alphanumeric_keys
xkb_symbols "SS4510" {
    name[Group1]= "Samsung SDM 4510P";

    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I18>   {       [ XF86Eject             ]       };
    key <I22>   {       [ XF86AudioPlayPause    ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <END>   {       [ XF86User1             ]       };
    key <INS>   {       [ XF86User2             ]       };
    key <LEFT>  {       [ XF86User3             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };

};

partial alphanumeric_keys
xkb_symbols "DIA9801" {
    name[Group1]= "Diamond 9801 / 9802 series (22 keys)";

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I65>   {       [ XF86Search            ]       };
    key <I67>   {       [ XF86Reload            ]       };
    key <I32>   {       [ XF86HomePage          ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I6D>   {       [ XF86Go                ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I6B>   {       [ XF86MyComputer        ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };

};
// end Diamond keyboard 9802 / 9801 series

partial alphanumeric_keys
xkb_symbols "SCORPIUSKI" {
    name[Group1]= "Advance Scorpius KI";

    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I22>   {       [ XF86AudioPlay         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I6D>   {       [ XF86AudioMedia        ]       };

    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };

    key <I63>   {       [ XF86WakeUp            ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I5E>   {       [ XF86Power             ]       };

    key <I21>   {       [ XF86Calculator        ]       };
    key <I6B>   {       [ XF86MyComputer        ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I66>   {       [ XF86Favorites         ]       };
    key <I32>   {       [ XF86HomePage          ]       };

    key <I6A>   {       [ XF86Back              ]       };
    key <I69>   {       [ XF86Forward           ]       };
    key <I68>   {       [ XF86AudioStop         ]       };
    key <I67>   {       [ XF86Reload            ]       };
    key <I65>   {       [ XF86Search            ]       };

};
// end Advance Scorpius KI keyboard

partial alphanumeric_keys
xkb_symbols "CY9885" {
    name[Group1]= "Chicony KB-9885 (17 keys)";

    key <I19>   {       [ XF86AudioLowerVolume  ]       };
    key <I12>   {       [ XF86AudioMute         ]       };
    key <I23>   {       [ XF86AudioRaiseVolume  ]       };
    key <I22>   {       [ XF86Rewind            ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I21>   {       [ XF86AudioPlay         ]       };
    key <I20>   {       [ XF86Forward           ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I17>   {       [ XF86Mail              ]       };
    key <I30>   {       [ XF86FuncA             ]       };
    key <I26>   {       [ XF86FuncB             ]       };
    key <I2E>   {       [ XF86FuncC             ]       };
    key <I25>   {       [ XF86Back              ]       };
    key <I1E>   {       [ XF86Forward           ]       };

};
// Chicony KB-9885 (17 keys)

partial alphanumeric_keys
xkb_symbols "ACEAKV12" {
    name[Group1]= "Acer AirKey V (12 keys)";

    key <I18>   {       [ XF86AudioPrev         ]       };
    key <I15>   {       [ XF86AudioPlayPause    ]       };
    key <I31>   {       [ XF86AudioStopEject    ]       };
    key <I13>   {       [ XF86AudioNext         ]       };
    key <I2D>   {       [ XF86AudioRaiseVolume  ]       };
    key <I26>   {       [ XF86AudioLowerVolume  ]       };
    key <I19>   {       [ XF86AudioMute         ]       };
    key <I24>   {       [ XF86Internet          ]       };
    key <I16>   {       [ XF86Mail              ]       };
    key <I2F>   {       [ XF86Terminal          ]       };
    key <I63>   {       [ XF86Sleep             ]       };
    key <I5E>   {       [ XF86Power             ]       };

};
// end Acer AirKey V

partial alphanumeric_keys
xkb_symbols "SPPB" {
    name[Group1]= "Symplon PaceBook (tablet PC)";

    key <HOME>  {       [ XF86RotationPB        ]       };
    key <UP>    {       [ XF86MenuPB            ]       };
    key <PAUS>  {       [ XF86UserPB            ]       };
    key <I25>   {       [ XF86RotationKB        ]       };
    key <I26>   {       [ XF86MenuKB            ]       };
    key <I13>   {       [ XF86SplitScreen       ]       };
    key <I6B>   {       [ XF86User1KB           ]       };
    key <I21>   {       [ XF86User2KB           ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I17>   {       [ XF86New               ]       };
    key <I6C>   {       [ XF86Mail              ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I14>   {       [ XF86Support           ]       };

};
// end Symplon PaceBook (tablet pc)

partial alphanumeric_keys
xkb_symbols "MCK-800" {
    name[Group1]= "Oretec MCK-800 MM/Internet keyboard";

    key <I21>   {       [ XF86WWW               ]       };
    key <I1E>   {       [ XF86AudioMute         ]       };
    key <I68>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I18>   {       [ XF86ScrollDown        ]       };
    key <I10>   {       [ XF86ScrollUp          ]       };
    key <I17>   {       [ XF86Rew               ]       };
    key <I12>   {       [ XF86AudioPlay         ]       };
    key <I2E>   {       [ XF86AudioNext         ]       };
    key <I23>   {       [ XF86AudioStop         ]       };
    key <I19>   {       [ XF86ZoomOut           ]       };
    key <I32>   {       [ XF86ZoomIn            ]       };
    key <I24>   {       [ XF86Calculator        ]       };
    key <I25>   {       [ XF86Xfer              ]       };
    key <I22>   {       [ XF86Menu              ]       };
    key <I26>   {       [ XF86Mail              ]       };
    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Suspend           ]       };
    key <I63>   {       [ XF86WakeUp            ]       };

};
// end MCK-800

partial alphanumeric_keys
xkb_symbols "KTEZ-1000" {
    name[Group1]= "Propeller Voyager (KTEZ-1000)";


    key <I25>   {       [ XF86Calculator        ]       };
    key <I18>   {       [ XF86Xfer              ]       };

    key <I68>   {       [ XF86DOS               ]       };
    key <I21>   {       [ XF86MyDoc             ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I26>   {       [ XF86Menu              ]       };
    key <I23>   {       [ XF86Game              ]       };

    key <I22>   {       [ XF86AudioPlayPause    ]       };
    key <I12>   {       [ XF86Rewind            ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I17>   {       [ XF86Close             ]       };
    key <I1E>   {       [ XF86Record            ]       };

    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I7A>   {       [ XF86Sleep             ]       };

};

partial alphanumeric_keys
xkb_symbols "GENKWD-910" {
    name[Group1]= "Genius MM Keyboard KWD-910 (16 keys)";

    key <I23>   {       [ XF86AudioBack         ]       };
    key <I22>   {       [ XF86AudioAudioPlay    ]       };
    key <I24>   {       [ XF86AudioAudioStop    ]       };
    key <I21>   {       [ XF86AudioForward      ]       };
    key <I30>   {       [ XF86Eject             ]       };
    key <I19>   {       [ XF86AudioLowerVolume  ]       };
    key <I12>   {       [ XF86AudioRaiseVolume  ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I26>   {       [ XF86ScreenSaver       ]       };
    key <I17>   {       [ XF86Calculator        ]       };
    key <I2E>   {       [ XF86Mail              ]       };
    key <I25>   {       [ XF86Back              ]       };
    key <I32>   {       [ XF86WWW               ]       };
    key <I1E>   {       [ XF86Forward           ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };

};
// end Genius KWD-910

partial alphanumeric_keys
xkb_symbols "ATX" {
    name[Group1]= "Standard ATX keyboard";

    key <I5E>   {       [ XF86Power             ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <I63>   {       [ XF86WakeUp            ]       };

};
#! /usr/bin/awk -f

BEGIN {

    print "// EAK (Easy Access, Internet, Multimedia, PDA) keyboards";
    print "// Created by Stanislav Brabec <[EMAIL PROTECTED]>";
    print "// Based on LinEAK project";
    print "// fix manually Media, Close, Stop etc. - can be Audio or non-audio";
    print "// fix manually Standby/Sleep, Power/PowerOff/WakeUp/Resume";
    print "// one key has undefined code (?101), few has redundant codes (<BRK>, 
<RCTL> etc.)";
    print "";


# $Xorg: xfree86,v 1.3 2000/08/17 19:54:37 cpqbld Exp $




# $XFree86: xc/programs/xkbcomp/keycodes/xfree86,v 3.17 2001/11/30 12:12:04 eich Exp $

# "standard" XFree86 codes
# It seems that the "default" must be the first entry in the file.

#default xkb_keycodes "xfree86" {
#    include "xfree86(basic)"
    codes[51] =  "<BKSL>";
    codes[94] =  "<LSGT>";
#};

#xkb_keycodes "basic" {

#    minimum= 8;
#    maximum= 255;

    codes[49] =  "<TLDE>";
    codes[10] =  "<AE01>";
    codes[11] =  "<AE02>";
    codes[12] =  "<AE03>";
    codes[13] =  "<AE04>";
    codes[14] =  "<AE05>";
    codes[15] =  "<AE06>";
    codes[16] =  "<AE07>";
    codes[17] =  "<AE08>";
    codes[18] =  "<AE09>";
    codes[19] =  "<AE10>";
    codes[20] =  "<AE11>";
    codes[21] =  "<AE12>";
    codes[22] =  "<BKSP>";

    codes[23]  =  "<TAB>";
    codes[24] =  "<AD01>";
    codes[25] =  "<AD02>";
    codes[26] =  "<AD03>";
    codes[27] =  "<AD04>";
    codes[28] =  "<AD05>";
    codes[29] =  "<AD06>";
    codes[30] =  "<AD07>";
    codes[31] =  "<AD08>";
    codes[32] =  "<AD09>";
    codes[33] =  "<AD10>";
    codes[34] =  "<AD11>";
    codes[35] =  "<AD12>";
    codes[36] =  "<RTRN>";

    codes[66] =  "<CAPS>";
    codes[38] =  "<AC01>";
    codes[39] =  "<AC02>";
    codes[40] =  "<AC03>";
    codes[41] =  "<AC04>";
    codes[42] =  "<AC05>";
    codes[43] =  "<AC06>";
    codes[44] =  "<AC07>";
    codes[45] =  "<AC08>";
    codes[46] =  "<AC09>";
    codes[47] =  "<AC10>";
    codes[48] =  "<AC11>";

    codes[50] =  "<LFSH>";
    codes[52] =  "<AB01>";
    codes[53] =  "<AB02>";
    codes[54] =  "<AB03>";
    codes[55] =  "<AB04>";
    codes[56] =  "<AB05>";
    codes[57] =  "<AB06>";
    codes[58] =  "<AB07>";
    codes[59] =  "<AB08>";
    codes[60] =  "<AB09>";
    codes[61] =  "<AB10>";
    codes[62] =  "<RTSH>";

    codes[64] =  "<LALT>";
    codes[37] =  "<LCTL>";
    codes[65] =  "<SPCE>";
    codes[109] = "<RCTL>";
    codes[113] = "<RALT>";
    # Microsoft keyboard extra keys
    codes[115] = "<LWIN>";
    codes[116] = "<RWIN>";
    codes[117] = "<MENU>";

    codes[9]  =   "<ESC>";
    codes[67] =  "<FK01>";
    codes[68] =  "<FK02>";
    codes[69] =  "<FK03>";
    codes[70] =  "<FK04>";
    codes[71] =  "<FK05>";
    codes[72] =  "<FK06>";
    codes[73] =  "<FK07>";
    codes[74] =  "<FK08>";
    codes[75] =  "<FK09>";
    codes[76] =  "<FK10>";
    codes[95] =  "<FK11>";
    codes[96] =  "<FK12>";

    codes[111] = "<PRSC>";
    codes[92] =  "<SYRQ>";
    codes[78] =  "<SCLK>";
    codes[110] = "<PAUS>";
    codes[114]  = "<BRK>";

    codes[106]  = "<INS>";
    codes[97] =  "<HOME>";
    codes[99] =  "<PGUP>";
    codes[107] = "<DELE>";
    codes[103]  = "<END>";
    codes[105] = "<PGDN>";

    codes[98]   =  "<UP>";
    codes[100] = "<LEFT>";
    codes[104] = "<DOWN>";
    codes[102] = "<RGHT>";

    codes[77] =  "<NMLK>";
    codes[112] = "<KPDV>";
    codes[63] =  "<KPMU>";
    codes[82] =  "<KPSU>";

    codes[79]  =  "<KP7>";
    codes[80]  =  "<KP8>";
    codes[81]  =  "<KP9>";
    codes[86] =  "<KPAD>";

    codes[83]  =  "<KP4>";
    codes[84]  =  "<KP5>";
    codes[85]  =  "<KP6>";

    codes[87]  =  "<KP1>";
    codes[88]  =  "<KP2>";
    codes[89]  =  "<KP3>";
    codes[108] = "<KPEN>";

    codes[90]  =  "<KP0>";
    codes[91] =  "<KPDL>";

    codes[118] =  "<FK13>";
    codes[119] =  "<FK14>";
    codes[120] =  "<FK15>";
    codes[121] =  "<FK16>";
    codes[122] =  "<FK17>";
    codes[123] =  "<KPDC>";

    # Keys that are generated on Japanese keyboards

#    alias <HZTG> = <TLDE>;     # Hankaku_Zenkaku toggle
#    alias <HKTG> = <FK15>;     # Hiragana_Katakana toggle
#    alias <AB11> = <KPDC>;     # backslash/underscore
    codes[129] =   "<XFER>";            # Henkan
    codes[131] =   "<NFER>";            # Muhenkan
    codes[133] =   "<AE13>";            # Yen

    # Keys that are generated on Japanese and Brazillian keyboards
#    alias <AC12> = <BKSL>;

    # Extended keys that may be generated on "Internet" keyboards.
    # These are not standardised, hence the meaningless names.
    # The entries commented out are never generated because the raw codes
    # in those positions are already used for well-defined keys.

#    alias <XFER> = <I01>;
    codes[130] =   "<I02>";
#    alias <NFER> = <I03>;
    codes[132] =   "<I04>";
#    alias <AE13> = <I05>;
    codes[134] =   "<I06>";
    codes[135] =   "<I07>";
    codes[136] =   "<I08>";
    codes[137] =   "<I09>";
    codes[138] =   "<I0A>";
    codes[139] =   "<I0B>";
    codes[140] =   "<I0C>";
    codes[141] =   "<I0D>";
    codes[142] =   "<I0E>";
    codes[143] =   "<I0F>";
    codes[144] =   "<I10>";
    codes[145] =   "<I11>";
    codes[146] =   "<I12>";
    codes[147] =   "<I13>";
    codes[148] =   "<I14>";
    codes[149] =   "<I15>";
    codes[150] =   "<I16>";
    codes[151] =   "<I17>";
    codes[152] =   "<I18>";
    codes[153] =   "<I19>";
    codes[154] =   "<I1A>";
    codes[155] =   "<I1B>";
    # codes[156] =   "<I1C>";
    # codes[157] =   "<I1D>";
    codes[158] =   "<I1E>";
    codes[159] =   "<I1F>";
    codes[160] =   "<I20>";
    codes[161] =   "<I21>";
    codes[162] =   "<I22>";
    codes[163] =   "<I23>";
    codes[164] =   "<I24>";
    codes[165] =   "<I25>";
    codes[166] =   "<I26>";
    codes[167] =   "<I27>";
    codes[168] =   "<I28>";
    codes[169] =   "<I29>";
    # codes[170] =   "<I2A>";
    codes[171] =   "<I2B>";
    codes[172] =   "<I2C>";
    codes[173] =   "<I2D>";
    codes[174] =   "<I2E>";
    codes[175] =   "<I2F>";
    codes[176] =   "<I30>";
    codes[177] =   "<I31>";
    codes[178] =   "<I32>";
    codes[179] =   "<I33>";
    codes[180] =   "<I34>";
    # codes[181] =   "<I35>";
    # codes[182] =   "<I36>";
    # codes[183] =   "<I37>";
    # codes[184] =   "<I38>";
    codes[185] =   "<I39>";
    codes[186] =   "<I3A>";
    codes[187] =   "<I3B>";
    codes[188] =   "<I3C>";
    # codes[189] =   "<I3D>";
    # codes[190] =   "<I3E>";
    # codes[191] =   "<I3F>";
    # codes[192] =   "<I40>";
    # codes[193] =   "<I41>";
    codes[194] =   "<I42>";
    codes[195] =   "<I43>";
    codes[196] =   "<I44>";
    codes[197] =   "<I45>";
    # codes[198] =   "<I46>";
    # codes[199] =   "<I47>";
    # codes[200] =   "<I48>";
    # codes[201] =   "<I49>";
    codes[202] =   "<I4A>";
    # codes[203] =   "<I4B>";
    # codes[204] =   "<I4C>";
    # codes[205] =   "<I4D>";
    # codes[206] =   "<I4E>";
    # codes[207] =   "<I4F>";
    # codes[208] =   "<I50>";
    # codes[209] =   "<I51>";
    # codes[210] =   "<I52>";
    # codes[211] =   "<I53>";
    codes[212] =   "<I54>";
    codes[213] =   "<I55>";
    codes[214] =   "<I56>";
    codes[215] =   "<I57>";
    codes[216] =   "<I58>";
    codes[217] =   "<I59>";
    codes[218] =   "<I5A>";
    # codes[219] =   "<I5B>";
    # codes[220] =   "<I5C>";
    # codes[221] =   "<I5D>";
    codes[222] =   "<I5E>";
    codes[223] =   "<I5F>";
    codes[224] =   "<I60>";
    codes[225] =   "<I61>";
    codes[226] =   "<I62>";
    codes[227] =   "<I63>";
    codes[228] =   "<I64>";
    codes[229] =   "<I65>";
    codes[230] =   "<I66>";
    codes[231] =   "<I67>";
    codes[232] =   "<I68>";
    codes[233] =   "<I69>";
    codes[234] =   "<I6A>";
    codes[235] =   "<I6B>";
    codes[236] =   "<I6C>";
    codes[237] =   "<I6D>";
    codes[238] =   "<I6E>";
    codes[239] =   "<I6F>";
    codes[240] =   "<I70>";
    codes[241] =   "<I71>";
    codes[242] =   "<I72>";
    codes[243] =   "<I73>";
    codes[244] =   "<I74>";
    codes[245] =   "<I75>";
    codes[246] =   "<I76>";
    codes[247] =   "<I77>";
    codes[248] =   "<I78>";
    codes[249] =   "<I79>";
    codes[250] =   "<I7A>";
    codes[251] =   "<I7B>";
    codes[252] =   "<I7C>";
    codes[253] =   "<I7D>";
    codes[254] =   "<I7E>";
    codes[255] =   "<I7F>";

    # Other codes never generated.  The XFree86 ddx never generates
    # these codes.

    # codes[93] =    "<U5D>";
    # codes[124] =   "<U7C>";
    # codes[125] =   "<U7D>";
    # codes[126] =   "<U7E>";
    # codes[127] =   "<U7F>";
    # codes[128] =   "<U80>";

#    indicator 1 = "Caps Lock";
#    indicator 2 = "Num Lock";
#    indicator 3 = "Scroll Lock";

#    alias <ALGR> = <RALT>;
#};

# What keyboard is this?

#xkb_keycodes "102" {
#    include "xfree86(xfree86)"

    # There will be warnings from xkbcomp because of multiple definitions.

    codes[122] = "<RALT>";
    codes[123] = "<RCTL>";

    codes[121] = "<PRSC>";
    codes[118] = "<PAUS>";

    codes[131]  = "<INS>";
    codes[135] = "<HOME>";
    codes[119] = "<PGUP>";
    codes[129] = "<DELE>";
    codes[130]  = "<END>";
    codes[134] = "<PGDN>";

    codes[128]   = "<UP>";
    codes[132] = "<LEFT>";
    codes[120] = "<DOWN>";
    codes[133] = "<RGHT>";

    codes[125] = "<KPDV>";

    codes[124] = "<KPEN>";
#};


# For japanese 106 keyboard. by tsuka([EMAIL PROTECTED])
#
# All of the keycodes here are now in the basic "xfree86" set.
#
#xkb_keycodes "jp106" {
#    include "xfree86(xfree86)"
#};


# For brazilian ABNT2 keyboard. by Ricardo Y. Igarashi([EMAIL PROTECTED])
#xkb_keycodes "abnt2" {
#    include "xfree86(basic)"
    codes[94] = "<BKSL>";
    codes[51] = "<AC12>";
#};


}


function keycode(code) {
    ret=codes[code];
    if (! ret) { return "<?"code">"; } else { return ret; }
}

function xname(string) {
    gsub ("[Ww]eb(-|/|)",       "",                     string);
    string="XF86"toupper(substr(string,1,1)) substr(string,2);
    string=gensub ("(Mute|Play|Stop|Prev|Next|Media)", "Audio\\1", "g", string);
    gsub ("Volumeup",           "AudioRaiseVolume",     string);
    gsub ("Volumedown",         "AudioLowerVolume",     string);
    gsub ("Volume\\+",          "AudioRaiseVolume",     string);
    gsub ("Volume[-_]down",     "AudioLowerVolume",     string);
    gsub ("Volume[-_]up",       "AudioRaiseVolume",     string);
    gsub ("Vol-down",           "AudioLowerVolume",     string);
    gsub ("Vol-up",             "AudioRaiseVolume",     string);
    gsub ("Volume-",            "AudioLowerVolume",     string);
    gsub ("AudioSong",          "Audio",                string);
    gsub ("Song",               "Audio",                string);
    gsub ("AudioPrevious",      "AudioPrev",            string);
    gsub ("Screensaver",        "ScreenSaver",          string);
    gsub ("Www",                "WWW",                  string);
    gsub ("Home",               "HomePage",             string);
    gsub ("Vendorhome",         "VendorHome",           string);
    gsub ("Lightbulb",          "LightBulb",            string);
    gsub ("Mycomputer",         "MyComputer",           string);
    gsub ("Myhome",             "HomePage",             string);
    gsub ("E(-|)mail",          "Mail",                 string);
    gsub ("Play(-|_|)pause",    "PlayPause",            string);
    gsub ("Fast(-|_|)forward",  "FastForward",          string);
    gsub ("Wake$",              "WakeUp",               string);
    gsub ("Wake-up",            "WakeUp",               string);
    gsub ("Wakeup",             "WakeUp",               string);
    gsub ("Poweroff",           "PowerOff",             string);
    gsub ("Scroll-down",        "ScrollDown",           string);
    gsub ("Scroll-up",          "ScrollUp",             string);
    gsub ("Scrolldown",         "ScrollDown",           string);
    gsub ("Scrollup",           "ScrollUp",             string);
    gsub ("Zoomin",             "ZoomIn",               string);
    gsub ("Zoomout",            "ZoomOut",              string);
    gsub ("XF86Help",           "Help",                 string);
    gsub ("Userdefine",         "User",                 string);
    gsub ("Free",               "User",                 string);
    gsub ("Back/next",          "BackNext",             string);
    gsub ("Applicationleft",    "ApplicationLeft",      string);
    gsub ("Applicationright",   "ApplicationRight",     string);
    gsub ("Officehome",         "OfficeHome",           string);
    gsub ("Taskpane",           "TaskPane",             string);
    gsub ("Mysites",            "MySites",              string);
    gsub ("Wheelbutton",        "WheelButton",          string);
    gsub ("Itouch",             "ITouch",               string);
    gsub ("Scrollclick",        "ScrollClick",          string);
    gsub ("Gobackarrow",        "Back",                 string);
    gsub ("Goforward",          "Forward",              string);
    gsub ("Mypages",            "MyPages",              string);
    gsub ("Multimediaprog",     "MultimediaProg",       string);
    gsub ("Stop-eject",         "StopEject",            string);
    gsub ("Splitscreen",        "SplitScreen",          string);
    gsub ("Dos",                "DOS",                  string);
    gsub ("CdOpen",             "Eject",                string);
    gsub ("windows",            "Windows",              string);
    gsub ("_track",             "",                     string);
    gsub ("shopping",           "Shopping",             string);
    gsub ("_track",             "",                     string);
    gsub ("support",            "Support",              string);
    gsub ("button",             "Button",               string);
    gsub ("book",               "Book",                 string);
    gsub ("_",                  "",                     string);
    return string;
}

function filled(string,len,inits) {
    lng=int((length(string)+inits)/8);
    len-=lng;
    if (len<0) { len=0; }
    str="";
    for (i=0;i<len;i++) { str=str"      "; }
    str=string str;
    return str;
}

/^[     ]*$/ {
    print "";
    next;
}

/^[     ]*\[.*KEYS\][   ]*$/ {
    print "";
    next;
}

/^\[END .*\]$/ {
    print "};";
    next;
}

/^\[.*\]$/ {
    gsub ("[][]", "");
    print "partial alphanumeric_keys";
    print "xkb_symbols \""$0"\" {";
    next;
}

/ *brandname/ {
    gsub ("^[^\"]*\"", "");
    gsub ("\"[^\"]*$", "");
    if ($0=="other") {
        brand="";
    } else {
        brand=$0" ";
    }
    next;
}

/ *modelname/ {
    gsub ("^[^\"]*\"", "");
    gsub ("\"[^\"]*$", "");
    print "    name[Group1]= \""brand $0"\";";
    next;
}

/^[     ]*[-+/_a-zA-Z0-9][-+/_a-zA-Z0-9]*[      ]*=[    ]*[0-9][0-9]*[  ]*$/ {
    gsub ("^[   ]*","");
    gsub ("[    ]*$","");
    key=$0
    gsub ("[    ]*=[    ]*[0-9][0-9]*[  ]*$", "",key);
    code=$0
    gsub ("^[-+/_a-zA-Z0-9][-+/_a-zA-Z0-9]*[    ]*=[    ]*", "",code);
    print "    key "keycode(code)"      {       [ "filled(xname(key),3,2)"]     };";
    next;
}

/.*/ {
    gsub ("(# | #)", "");
    print "// "$0;
}

Reply via email to