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
[email protected]
http://XFree86.Org/mailman/listinfo/devel