The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
"Undoing" this patch is enough to restore the coverage of combining chars 
which was present before math symbols started to get in the way: one should:
  
A) remove math greenkeys from kbdd file, 
B) disable uni_manual (except for phonetization, where only ? --> ? gets in the way),
C) turn off recognition of SQUARED/OPERATOR/SIGN/IN TRIANGLE.

--- examples/EurKey++.kbdd	2012-02-19 23:14:32.372000000 -0800
+++ examples/EurKey++.kbdd-ook	2012-02-19 21:52:37.637200000 -0800
@@ -95,7 +95,7 @@ ExportDeadKeys=	´  ˋ  ˜  ˆ  ˇ  °
 @char2key_prefer_first=\,|,.,002c
 #
 # Will be only considered when putting a diacritic on AltGr-key (~∼, *∗, .⋅ )
-@AltGrCharSubstitutions=ijü
+@AltGrCharSubstitutions=ijü,^∧,&∩,*×,#≠,6∨,7∪,|∣
 #
 # Tibetan range: take only tibetan diacritics, so our code adding diacritics won't be confused by prefices... ???
 Auto_Diacritic_Start=0f00
--- lib/UI/KeyboardLayout.pm	2012-02-19 23:32:19.630400000 -0800
+++ lib/UI/KeyboardLayout.pm-ook	2012-02-19 22:33:04.515200000 -0800
@@ -3964,8 +3964,7 @@ my %operators = (DOT => ['MIDDLE DOT', '
 		 'DOUBLE SOLIDUS' => ['PARALLEL TO'], MINUS => ['HYPHEN-MINUS']);
 
 #			THIS IS NOT A MULTIMAP!
-my %uni_manual = (phonetized => {qw( 0 ə  s ʃ  z ʒ  j ɟ  v ⱱ  n ŋ  V ɤ  ! ǃ  q ʔ  ¿ ʕ )},
-); my %ignore = (
+my %uni_manual = (phonetized => {qw( 0 ə  s ʃ  z ʒ  j ɟ  v ⱱ  n ŋ  V ɤ  ! ǃ  ? ʔ  ¿ ʕ )},
 		  addline    => {qw( 0 ∅  ( ∈  ) ∋  = ≡  ≡ ≣  † ‡  + ∦  / ∠  | ∟  . ∸  ∨ ⊻  ∧ ⊼ )},	# conflict with modifiers: qw( | ‖  _ ‗ )
 		  addtilde   => {qw( 0 ∝  / ∡  \ ∢  ∫ ∱  : ∻  - ≂  ≠ ≆  ~ ≈  ∼ ≈  ≃ ≊  ≈ ≋  = ≌  ( ⟅  ) ⟆ )},	# not on 2A**
 		  addleft    => {qw( = ≔  × ⨴  × ⋉  \ ⋋  + ⨭  → ⧴)},	#  × ⨴ is hidden
@@ -4013,7 +4012,7 @@ sub parse_NameList ($$) {
         if ($name =~ /^(.*)\s+(?=OR\s)(.*?)\s*$/) {	# Find the latest possible...
           push @{$candidates{$k}}, [$1, $2];
         }
-        if (($t = $name) =~ s/\b(COMBINING(?=\s+CYRILLIC\s+LETTER)|BARRED|SLANTED|APPROXIMATELY|ASYMPTOTICALLY|ALMOST|^xxx-SQUARED|LUNATE|SIDEWAYS(?:\s+(?:DIAERESIZED|OPEN))?|INVERTED|ARCHAIC|SCRIPT|LONG|TURNED(?:\s+(?:INSULAR|SANS-SERIF))?|REVERSED|OPEN|CLOSED|DOTLESS|FINAL)\s+|\s+(BAR|SYMBOL|xxx-OPERATOR|xxx-SIGN|xxx-IN\s+TRIANGLE)$//) {
+        if (($t = $name) =~ s/\b(COMBINING(?=\s+CYRILLIC\s+LETTER)|BARRED|SLANTED|APPROXIMATELY|ASYMPTOTICALLY|ALMOST|^SQUARED|LUNATE|SIDEWAYS(?:\s+(?:DIAERESIZED|OPEN))?|INVERTED|ARCHAIC|SCRIPT|LONG|TURNED(?:\s+(?:INSULAR|SANS-SERIF))?|REVERSED|OPEN|CLOSED|DOTLESS|FINAL)\s+|\s+(BAR|SYMBOL|OPERATOR|SIGN|IN\s+TRIANGLE)$//) {
           push @{$candidates{$k}}, [$t, "calculated-$+"];
           $candidates{$k}[-1][1] .= '-epigraphic'   if $t =~ /\bEPIGRAPHIC\b/;	# will be massaged away from $t later
           $candidates{$k}[-1][0] =~ s/\s+SYMBOL$// and $candidates{$k}[-1][1] .= '-symbol' 
@@ -4081,7 +4080,7 @@ sub parse_NameList ($$) {
       my $name = $NM{$self->charhex2key($base)};
       next if not $name and ($k =~ /^[12]?F[89A]..$/ or hex $base >= 0x4E00 and hex $base <= 0x9FCC);		# ideographs; there is also 3400 region...
       warn "Basic: `$k' --> `@$exp', base=`$base' --> `",$self->charhex2key($base),"'" unless $name;
-      if ((my $NN = $name) =~ s/\s+xxx-OPERATOR$//) {
+      if ((my $NN = $name) =~ s/\s+OPERATOR$//) {
 #warn "operator: `$k' --> <$NN>, `@$exp', base=`$base' --> `",$self->charhex2key($base),"'";
         push @{$candidates{$k}}, [$_, @$exp[2..$#$exp]] for $NN, @{ $operators{$NN} || []};
       }