keys: declare common signs in module global
[sheet.git] / Shiar_Sheet / Keyboard.pm
index e8e33aa0283f22c88e4c094a3ac3631443210efb..aecd0bc9773a04dd4a3eb3a2b57127f778d7dc04 100644 (file)
@@ -29,13 +29,11 @@ sub new {
        croak 'No key definitions specified' unless ref $self->{def} eq 'HASH';
        $self->{map} ||= 'qwerty';
 
        croak 'No key definitions specified' unless ref $self->{def} eq 'HASH';
        $self->{map} ||= 'qwerty';
 
-       my $parent = (caller)[0];  # calling module
-       my $sign = do {
-               no strict 'refs';  # temporarily allow variable references
-               \%{ $parent.'::sign' };  # return %sign from parent
+       $self->{sign} ||= do {
+               require Shiar_Sheet::KeySigns;
+               Shiar_Sheet::KeySigns->VERSION(1.03);
+               \%Shiar_Sheet::KeySigns::sign;
        };
        };
-       croak "%${parent}::sign not found" unless %$sign;
-       $self->{sign} = $sign;
 
        bless $self, $class;
 }
 
        bless $self, $class;
 }