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