blob: 7b2081dfc242ea86c4254df5ede97cd87daa168a (
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package Xconfig::xfree3; # $Id$
use diagnostics;
use strict;
use MDK::Common;
use Xconfig::parse;
use Xconfig::xfreeX;
our @ISA = 'Xconfig::xfreeX';
sub config_file { '/etc/X11/XF86Config' }
sub get_keyboard_section {
my ($raw_X) = @_;
return $raw_X->get_Section('Keyboard') or die "no keyboard section";
}
sub new_keyboard_section {
my ($raw_X) = @_;
return $raw_X->add_Section('Keyboard', { Protocol => { val => 'Standard' } });
}
sub get_mouse_sections {
my ($raw_X) = @_;
my $main = $raw_X->get_Section('Pointer') or die "no mouse section";
my $XInput = $raw_X->get_Section('XInput');
$main, if_($XInput, map { $_->{l} } @{$XInput->{Mouse} || []});
}
sub new_mouse_sections {
my ($raw_X, $nb_new) = @_;
$raw_X->remove_Section('Pointer');
my $XInput = $raw_X->get_Section('XInput');
delete $XInput->{Mouse} if $XInput;
$raw_X->remove_Section('XInput') if $nb_new <= 1 && $XInput && !%$XInput;
$nb_new or return;
my $main = $raw_X->add_Section('Pointer', {});
if ($nb_new == 1) {
$main;
} else {
my @l = map { { DeviceName => { val => "Mouse$_" }, AlwaysCore => {} } } (2 .. $nb_new);
$XInput ||= $raw_X->add_Section('XInput', {});
$XInput->{Mouse} = [ map { { l => $_ } } @l ];
$main, @l;
}
}
sub set_Option {}
1;
|