Hello again ! After some development I made few patches for xfree86 source code to allow succesfull use of the Tracer TRK 21 MTS multimedia keyboard. My environment is Athlon x86 PC, linux Debian sarge - xfree86 4.3.0. The first two patches modify keyboard handling of XFree86 server. This makes the additional 0xe2 codes sent by the keyboard to be ignored.
trk21mts_patch1.diff: ***** cut here ***** --- xc/programs/Xserver/hw/xfree86/common/atKeynames.h.orig 2004-12-30 10:00:05.000000000 +0100 +++ xc/programs/Xserver/hw/xfree86/common/atKeynames.h 2004-12-30 10:00:34.000000000 +0100 @@ -160,6 +160,7 @@ #define KEY_Prefix0 /* special 0x60 */ 96 #define KEY_Prefix1 /* specail 0x61 */ 97 +#define KEY_Prefix2 /* specail 0x62 */ 98 /* * The 'scancodes' below are generated by the server, because the MF101/102 ***** cut here ***** trk21mts_patch2.diff: ***** cut here ***** --- xc/programs/Xserver/hw/xfree86/common/xf86Events.c.orig 2004-12-30 10:00:18.000000000 +0100 +++ xc/programs/Xserver/hw/xfree86/common/xf86Events.c 2004-12-30 10:00:34.000000000 +0100 @@ -460,6 +460,12 @@ } break; #endif + /* + * Ignore Key_Prefix2 which is also a suffix to support Tracer TRK 21 MTS + * keyboard multimedia keys. + */ + case KEY_Prefix2: + return; } } ***** cut here ***** The other four patches modifies keyboard configuration files to add keysyms and rules definitions. trk21mts_xkbcomp_patch1.diff: ***** cut here ***** --- xc/programs/xkbcomp/symbols/inet.orig 2003-02-26 20:08:43.000000000 +0100 +++ xc/programs/xkbcomp/symbols/inet 2004-12-30 13:38:34.000000000 +0100 @@ -1673,6 +1673,36 @@ key <I14> { [ XF86Support ] }; }; + +// Tracer + +partial alphanumeric_keys +xkb_symbols "tracer21mts" { + name[Group1]= "Tracer TRK 21 MTS"; + + key <I6A> { [ XF86Back ] }; + key <I69> { [ XF86Forward ] }; + key <I68> { [ XF86Stop ] }; + key <I67> { [ XF86Refresh ] }; + key <I65> { [ XF86Search ] }; + key <I66> { [ XF86Favorites ] }; + key <I32> { [ XF86HomePage ] }; + key <I6C> { [ XF86Mail ] }; + key <I6D> { [ XF86AudioMedia ] }; + key <I20> { [ XF86AudioMute ] }; + key <I10> { [ XF86AudioPrev ] }; + key <I22> { [ XF86AudioPlay ] }; + key <I24> { [ XF86AudioStop ] }; + key <I19> { [ XF86AudioNext ] }; + key <I2E> { [ XF86AudioLowerVolume ] }; + key <I30> { [ XF86AudioRaiseVolume ] }; + key <I6B> { [ XF86MyComputer ] }; + key <I21> { [ XF86Calculator ] }; + key <I5E> { [ XF86PowerDown ] }; + key <I5F> { [ XF86Sleep ] }; + key <I63> { [ XF86WakeUp ] }; +}; + // Toshiba partial alphanumeric_keys ***** cut here ***** trk21mts_xkbcomp_patch2.diff: ***** cut here ***** --- xc/programs/xkbcomp/rules/xfree86.orig 2003-02-20 05:36:09.000000000 +0100 +++ xc/programs/xkbcomp/rules/xfree86 2004-12-30 13:45:45.000000000 +0100 @@ -114,7 +114,7 @@ qtronix \ samsung4500 samsung4510 \ sk1300 sk2500 sk6200 sk7100 \ - sven symplon toshiba_s3000 trust trustda yahoo + sven symplon tracer21mts toshiba_s3000 trust trustda yahoo ! model = symbols $inetkbds = +inet(%m) ***** cut here ***** trk21mts_xkbcomp_patch3.diff: ***** cut here ***** --- xc/programs/xkbcomp/rules/xfree86.lst.orig 2003-02-27 06:07:39.000000000 +0100 +++ xc/programs/xkbcomp/rules/xfree86.lst 2004-12-30 13:47:34.000000000 +0100 @@ -93,6 +93,7 @@ sk7100 SK-7100 sven SVEN Ergonomic 2500 symplon Symplon PaceBook (tablet PC) + tracer21mts Tracer TRK 21 MTS toshiba_s3000 Toshiba Satellite S3000 trust Trust Wireless Keyboard Classic trustda Trust Direct Access Keyboard ***** cut here ***** trk21mts_xkbcomp_patch4.diff: ***** cut here ***** --- xc/programs/xkbcomp/rules/xfree86.xml.orig 2003-02-27 06:07:39.000000000 +0100 +++ xc/programs/xkbcomp/rules/xfree86.xml 2004-12-30 13:48:50.000000000 +0100 @@ -537,6 +537,12 @@ </model> <model> <configItem> + <name>tracer21mts</name> + <description>Tracer TRK 21 MTS </description> + </configItem> + </model> + <model> + <configItem> <name>toshiba_s3000</name> <description>Toshiba Satellite S3000</description> </configItem> ***** cut here ***** I generated these diff files and tested it with xfree86 4.3.0 but I was also able to apply it succesfully to xfree86 4.4.0. I didn't test it with the 4.4.0 version however. After applying these patches and installing modified code it is possible to easly configure the keyboard, assign some functions to its multimedia keys (for example in Gnome) and enjoy using it. I don't know if these modifiacations are proper for different models of tracer keyboards or maybe other keyboards ? I own only TRK 21 MTS and do not have opportunity to test it with other keyboards. Any comments, suggestions, or testing result information welcome. It seems also that Debian sarge have slightly modified versions of symbols/inet and rules/xfree86*. The above patches are for generic source files from www.xfree86.org. Regards, Radek. _______________________________________________ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel