summaryrefslogtreecommitdiffstats
path: root/lib/keyboard.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/keyboard.pm')
-rw-r--r--lib/keyboard.pm15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/keyboard.pm b/lib/keyboard.pm
index a3c7f15..8d9460f 100644
--- a/lib/keyboard.pm
+++ b/lib/keyboard.pm
@@ -523,6 +523,16 @@ sub parse_xkb_rules() {
\%l;
}
+sub default_XkbModel {
+ my ($keyboard) = @_;
+
+ my $Layout = keyboard2xkb($keyboard);
+
+ (arch() =~ /sparc/ ? 'sun' :
+ $Layout eq 'jp' ? 'jp106' :
+ $Layout eq 'br' ? 'abnt2' : 'pc105');
+}
+
sub keyboard2full_xkb {
my ($keyboard) = @_;
@@ -531,10 +541,7 @@ sub keyboard2full_xkb {
$Layout = join(',', 'us', $Layout);
}
- my $Model = $keyboard->{XkbModel} ||
- (arch() =~ /sparc/ ? 'sun' :
- $Layout eq 'jp' ? 'jp106' :
- $Layout eq 'br' ? 'abnt2' : 'pc105');
+ my $Model = $keyboard->{XkbModel} || default_XkbModel($keyboard);
my $Options = join(',',
if_($keyboard->{GRP_TOGGLE}, "grp:$keyboard->{GRP_TOGGLE}", 'grp_led:scroll'),