ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Macro.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Macro.pm (file contents):
Revision 1.19 by root, Sat Aug 30 08:04:01 2008 UTC vs.
Revision 1.21 by elmex, Mon Oct 20 15:44:21 2008 UTC

53 "RAlt" => DC::KMOD_RALT, 53 "RAlt" => DC::KMOD_RALT,
54# "Alt" => DC::KMOD_LALT | DC::KMOD_RALT, 54# "Alt" => DC::KMOD_LALT | DC::KMOD_RALT,
55 "LMeta" => DC::KMOD_LMETA, 55 "LMeta" => DC::KMOD_LMETA,
56 "RMeta" => DC::KMOD_RMETA, 56 "RMeta" => DC::KMOD_RMETA,
57# "Meta" => DC::KMOD_LMETA | DC::KMOD_RMETA, 57# "Meta" => DC::KMOD_LMETA | DC::KMOD_RMETA,
58 "LRAM" => DC::KMOD_LRAM, # left/right/alt/meta
59); 58);
60 59
61# allowed modifiers 60# allowed modifiers
62our $MODIFIER_MASK |= $_ for values %MODIFIER; 61our $MODIFIER_MASK |= $_ for values %MODIFIER;
63 62
110 109
111our $DEFAULT_KEYMAP; 110our $DEFAULT_KEYMAP;
112 111
113sub init { 112sub init {
114 $DEFAULT_KEYMAP ||= do { 113 $DEFAULT_KEYMAP ||= do {
114 local $MODIFIER{LRAM} = DC::KMOD_LRAM; # hack to enable internal LRAM modifer
115
115 my %sym = map +(DC::SDL_GetKeyName $_, $_), DC::SDLK_FIRST .. DC::SDLK_LAST; 116 my %sym = map +(DC::SDL_GetKeyName $_, $_), DC::SDLK_FIRST .. DC::SDLK_LAST;
116 my $map; 117 my $map;
117 118
118 while (my ($k, $v) = each %DEFAULT_KEYMAP) { 119 while (my ($k, $v) = each %DEFAULT_KEYMAP) {
119 if ($k =~ /^\((.)\)$/) { 120 if ($k =~ /^\((.)\)$/) {
455 my ($widget, $ev) = @_; 456 my ($widget, $ev) = @_;
456 457
457 if ($ev->{button} == 1) { 458 if ($ev->{button} == 1) {
458 $edit_macro->($macro), 459 $edit_macro->($macro),
459 } elsif ($ev->{button} == 2) { 460 } elsif ($ev->{button} == 2) {
460 $::CONN->macro_send ($macro) if $::CONN; 461 execute ($macro);
461 } elsif ($ev->{button} == 3) { 462 } elsif ($ev->{button} == 3) {
462 (new DC::UI::Menu 463 (new DC::UI::Menu
463 items => [ 464 items => [
464 ["Edit" => sub { $edit_macro->($macro) }], 465 ["Edit" => sub { $edit_macro->($macro) }],
465 ["Invoke" => sub { $::CONN->macro_send ($macro) if $::CONN }], 466 ["Invoke" => sub { execute ($macro) }],
466 ["Delete" => sub { 467 ["Delete" => sub {
467 # might want to use grep instead 468 # might want to use grep instead
468 splice @{$::PROFILE->{macro}}, $idx, 1, (); 469 splice @{$::PROFILE->{macro}}, $idx, 1, ();
469 $refresh->(); 470 $refresh->();
470 }], 471 }],

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines