From ecaed9f61f72b2075e03ad4d81ffb9187983b482 Mon Sep 17 00:00:00 2001 From: duncan_ferguson Date: Wed, 13 Dec 2006 19:12:03 +0000 Subject: [PATCH] check for errors around keyboard key data gathering --- clusterssh/src/cssh.pl | 52 ++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/clusterssh/src/cssh.pl b/clusterssh/src/cssh.pl index 5362aaf..7f0a7c7 100755 --- a/clusterssh/src/cssh.pl +++ b/clusterssh/src/cssh.pl @@ -395,30 +395,38 @@ sub load_keyboard_map() foreach ( 0 .. $#keyboard ) { - if(defined($keycodetosym { $keyboard[$_][0] })) - { - $keyboardmap{ $keycodetosym { $keyboard[$_][0] } } = 'n' . ($_ + $min); - } else { - logmsg(2, "Unknown keycode ", $keyboard[$_][0]) if($keyboard[$_][0] != 0); + if(defined $keyboard[$_][0]) { + if(defined($keycodetosym { $keyboard[$_][0] })) + { + $keyboardmap{ $keycodetosym { $keyboard[$_][0] } } = 'n' . ($_ + $min); + } else { + logmsg(2, "Unknown keycode ", $keyboard[$_][0]) if($keyboard[$_][0] != 0); + } } - if(defined($keycodetosym { $keyboard[$_][1] })) - { - $keyboardmap{ $keycodetosym { $keyboard[$_][1] } } = 's' . ($_ + $min); - } else { - logmsg(2, "Unknown keycode ", $keyboard[$_][1]) if($keyboard[$_][1] != 0); - } - if(defined($keycodetosym { $keyboard[$_][2] })) - { - $keyboardmap{ $keycodetosym { $keyboard[$_][2] } } = 'a' . ($_ + $min); - } else { - logmsg(2, "Unknown keycode ", $keyboard[$_][2]) if($keyboard[$_][2] != 0); - } - if(defined($keycodetosym { $keyboard[$_][3] })) - { - $keyboardmap{ $keycodetosym { $keyboard[$_][3] } } = 'sa' . ($_ + $min); - } else { - logmsg(2, "Unknown keycode ", $keyboard[$_][3]) if($keyboard[$_][3] != 0); + if(defined $keyboard[$_][1]) { + if(defined($keycodetosym { $keyboard[$_][1] })) + { + $keyboardmap{ $keycodetosym { $keyboard[$_][1] } } = 's' . ($_ + $min); + } else { + logmsg(2, "Unknown keycode ", $keyboard[$_][1]) if($keyboard[$_][1] != 0); + } } + if(defined $keyboard[$_][2]) { + if(defined($keycodetosym { $keyboard[$_][2] })) + { + $keyboardmap{ $keycodetosym { $keyboard[$_][2] } } = 'a' . ($_ + $min); + } else { + logmsg(2, "Unknown keycode ", $keyboard[$_][2]) if($keyboard[$_][2] != 0); + } + } + if(defined $keyboard[$_][3]) { + if(defined($keycodetosym { $keyboard[$_][3] })) + { + $keyboardmap{ $keycodetosym { $keyboard[$_][3] } } = 'sa' . ($_ + $min); + } else { + logmsg(2, "Unknown keycode ", $keyboard[$_][3]) if($keyboard[$_][3] != 0); + } + } # dont know these two key combs yet... #$keyboardmap{ $keycodetosym { $keyboard[$_][4] } } = $_ + $min;