候補選択キーを任意に指定可能に。
1 parent c01a4a1 commit 8d1bd16c5e0b098e2699a26b97dac2bbed76d6b0
@tamra tamra authored on 11 May 2005
Showing 3 changed files
View
1
■■■■
honoka/src/honoka_def.h
#define HONOKA_CONFIG_KEY_NEXT_CONVERTOR "/IMEngine/Honoka/Key/NextConvertor"
#define HONOKA_DEFAULT_KEY_NEXT_CONVERTOR "Control+Page_Down"
#define HONOKA_CONFIG_KEY_PREV_CONVERTOR "/IMEngine/Honoka/Key/PrevConvertor"
#define HONOKA_DEFAULT_KEY_PREV_CONVERTOR "Control+Page_Up"
#define HONOKA_CONFIG_KEY_SELECTION_PREFIX "/IMEngine/Honoka/Key/Selection"
 
#define HONOKA_CONFIG_KEY_CONVERSION_IKEIJI "/IMEngine/Honoka/Key/ConversionIkeiji"
#define HONOKA_DEFAULT_KEY_CONVERSION_IKEIJI "Shift+F8"
#define HONOKA_CONFIG_KEY_CONVERSION_RENSOU "/IMEngine/Honoka/Key/ConversionRensou"
View
28
honoka/src/honoka_imengine.cpp
String(HONOKA_DEFAULT_KEY_RECONVERSION)));
scim_string_to_key_list(k_result_to_preedit,
_scim_config->read(String(HONOKA_CONFIG_KEY_RESULTTOPREEDIT),
String(HONOKA_DEFAULT_KEY_RESULTTOPREEDIT)));
for(unsigned i = 0;i < 10;i ++) {
char a[3];
sprintf(a,"%d",i);
scim_string_to_key_list(k_selection[i],
_scim_config->read(String(HONOKA_CONFIG_KEY_SELECTION_PREFIX) + String(a),
String(a)));
}
 
 
changePreEditor(defaultPreEditor);
changeConvertor(defaultConvertor);
 
return true;
}
}
} else
if (numkeyselect && m_lookup) {
for(unsigned int i = 0;i < 10;i ++) {
if (k_selection[i].comp(key)) {
int numc = i - 1;
if (numc < 0) numc = 9;
if (m_lookup_table.get_current_page_size() <= numc) return true;
m_convList.pos = numc + m_lookup_table.get_current_page_start();
m_convertor->select(m_convList.pos);
m_convertor->setPos(m_convertor->getPos() + 1);
m_convList = m_convertor->getResultList();
updateConversion();
startLookup();
return true;
}
}
}
if (key.get_ascii_code()) {
/*
if (key.mask & (SCIM_KEY_AltMask | SCIM_KEY_ControlMask)) return false;
if (m_lookup && numkeyselect) {
char numk[] = "1234567890";
int numc = 0;
startLookup();
return true;
}
}
 
*/
commit_string(m_convertor->getText());
m_convertor->updateFrequency();
m_preeditor->reset();
m_convertor->reset();
View
2
■■■
honoka/src/honoka_imengine.h
// for Wnn7
k_conversion_ikeiji, // 異形字変換
k_conversion_rensou, // 連想変換
k_select_yosoku, // 予測選択
 
k_selection[9], // 候補選択ショートカット
k_dummy;
};