2007-04-16 03:48:29 UTC
Here's an updated patch for kperl.cpp. I found an old article that mentioned the F-Keys were only defined up to F8, this addition to the kperl.cpp patch will allow you to work with F-Keys F1-F12.
[kperl-cpp.patch]
--- kmc/kperl.cpp 2003-03-04 01:27:34.000000000 -0600
+++ kmc/kperl.cpp 2007-04-14 01:07:54.000000000 -0500
@@ -257,7 +257,7 @@ void perl_init( KConfig *cfg )
my_perl = perl_alloc();
perl_construct(my_perl);
- perl_parse(my_perl, xs_init, 3, (char**)perl_args, (char **)NULL);
+ perl_parse(my_perl, (void (*)(PerlInterpreter *))xs_init, 3, (char**)perl_args, (char **)NULL);
eval_pv( perl_definitions, true );
@@ -630,7 +630,7 @@ char *key_descs[] = {
"1","2","3","4","5","6","7","8","9","0",".",
"/","*","-","+","Enter",
NULL};
-uint KeypadIndex = 8;
+uint KeypadIndex = 12;
char *mod_descs[] = {"Ctrl", "Alt", "Shift", NULL};
int mod_codes[] = {Qt::ControlButton, Qt::AltButton, Qt::ShiftButton};
@@ -1610,7 +1610,7 @@ static XS (XS_KMC_write_entry)
real_key.sprintf("%s_Type", key);
config->writeEntry( real_key, "double" );
real_key.sprintf("%s_Val",key);
- config->writeEntry( real_key, SvNV(ST(1)) );
+ config->writeEntry( real_key, (unsigned int) SvNV(ST(1)) );
}
else if( SvPOK(ST(1)) )
{
[/kperl-cpp.patch]