redefined keys and size in xkb_symbols
[xorg/xkeyboard-config] / tests / ruby / find_match.rb
1 #
2 # $Id$
3 # The script finds best matching xkb_symbols in symbols/in
4 #
5 # Parameters: $0 - the name of the file with new xkb_symbols
6 #             $1 - max number of non-matching mappings (0 by default)
7 #
8
9 require "xkbparser.rb"
10
11 basedir = "../.."
12
13 parser = Parser.new
14
15 allSyms = parser.parse("#{basedir}/symbols/inet")
16
17 newSyms = parser.parse(ARGV[0])
18 limit = ARGV[1].to_i
19
20 newSyms.find_all do | key, value |
21
22   if value.hidden?
23     next
24   end
25
26   puts "Existing xkb_symbols matching #{key}: "
27
28   sorted = allSyms.match_symbols(value,limit).sort_by do | symsName, diff |
29     sprintf "%03d_%s", diff.size, symsName
30   end
31
32   sorted.find_all do | symsName, diff |
33     puts "  #{symsName}, up to #{allSyms[symsName].size} keys (difference #{diff.size})-> #{diff}"
34   end
35
36 end
37
38