New type FKey for key inputs
This commit is contained in:
parent
167b7c97bc
commit
1f64843fb6
|
@ -1,3 +1,6 @@
|
|||
2018-11-21 Markus Gans <guru.mail@muenster.de>
|
||||
* New type FKey for key inputs
|
||||
|
||||
2018-11-18 Markus Gans <guru.mail@muenster.de>
|
||||
* The FListViewItem class now provides checkable list view items
|
||||
* Adding the checklist example to demonstrate the checkable FListViewItems
|
||||
|
|
|
@ -90,7 +90,7 @@ void Button::setChecked (bool on)
|
|||
//----------------------------------------------------------------------
|
||||
void Button::onKeyPress (finalcut::FKeyEvent* ev)
|
||||
{
|
||||
int key = ev->key();
|
||||
FKey key = ev->key();
|
||||
|
||||
// catch the enter key
|
||||
if ( key == finalcut::fc::Fkey_return
|
||||
|
@ -1007,8 +1007,8 @@ void Calc::calcInfixOperator()
|
|||
//----------------------------------------------------------------------
|
||||
void Calc::onKeyPress (finalcut::FKeyEvent* ev)
|
||||
{
|
||||
int len = int(input.getLength());
|
||||
int key = ev->key();
|
||||
std::size_t len = input.getLength();
|
||||
FKey key = ev->key();
|
||||
|
||||
switch ( key )
|
||||
{
|
||||
|
|
|
@ -53,7 +53,7 @@ Keyboard::Keyboard (finalcut::FWidget* parent)
|
|||
//----------------------------------------------------------------------
|
||||
void Keyboard::onKeyPress (finalcut::FKeyEvent* ev)
|
||||
{
|
||||
int key_id = ev->key();
|
||||
FKey key_id = ev->key();
|
||||
bool is_last_line = false;
|
||||
|
||||
if ( getPrintPos().getY() == int(getDesktopHeight()) )
|
||||
|
|
|
@ -685,9 +685,9 @@ bool FApplication::processDialogSwitchAccelerator()
|
|||
if ( keyboard->getKey() >= fc::Fmkey_1
|
||||
&& keyboard->getKey() <= fc::Fmkey_9 )
|
||||
{
|
||||
int key = keyboard->getKey();
|
||||
uLong n = uLong(key - fc::Fmkey_0);
|
||||
uLong s = dialog_list->size();
|
||||
FKey key = keyboard->getKey();
|
||||
std::size_t n = key - fc::Fmkey_0;
|
||||
std::size_t s = dialog_list->size();
|
||||
|
||||
if ( s > 0 && s >= n )
|
||||
{
|
||||
|
|
|
@ -292,12 +292,10 @@ void FButton::hide()
|
|||
//----------------------------------------------------------------------
|
||||
void FButton::onKeyPress (FKeyEvent* ev)
|
||||
{
|
||||
int key;
|
||||
|
||||
if ( ! isEnabled() )
|
||||
return;
|
||||
|
||||
key = ev->key();
|
||||
FKey key = ev->key();
|
||||
|
||||
switch ( key )
|
||||
{
|
||||
|
@ -480,16 +478,16 @@ uChar FButton::getHotkey()
|
|||
//----------------------------------------------------------------------
|
||||
void FButton::setHotkeyAccelerator()
|
||||
{
|
||||
int hotkey = getHotkey();
|
||||
uChar hotkey = getHotkey();
|
||||
|
||||
if ( hotkey )
|
||||
{
|
||||
if ( std::isalpha(hotkey) || std::isdigit(hotkey) )
|
||||
{
|
||||
addAccelerator (std::tolower(hotkey));
|
||||
addAccelerator (std::toupper(hotkey));
|
||||
addAccelerator (FKey(std::tolower(hotkey)));
|
||||
addAccelerator (FKey(std::toupper(hotkey)));
|
||||
// Meta + hotkey
|
||||
addAccelerator (fc::Fmkey_meta + std::tolower(hotkey));
|
||||
addAccelerator (fc::Fmkey_meta + FKey(std::tolower(hotkey)));
|
||||
}
|
||||
else
|
||||
addAccelerator (getHotkey());
|
||||
|
|
|
@ -454,16 +454,16 @@ uChar FButtonGroup::getHotkey()
|
|||
//----------------------------------------------------------------------
|
||||
void FButtonGroup::setHotkeyAccelerator()
|
||||
{
|
||||
int hotkey = getHotkey();
|
||||
uChar hotkey = getHotkey();
|
||||
|
||||
if ( hotkey )
|
||||
{
|
||||
if ( std::isalpha(hotkey) || std::isdigit(hotkey) )
|
||||
{
|
||||
addAccelerator (std::tolower(hotkey));
|
||||
addAccelerator (std::toupper(hotkey));
|
||||
addAccelerator (FKey(std::tolower(hotkey)));
|
||||
addAccelerator (FKey(std::toupper(hotkey)));
|
||||
// Meta + hotkey
|
||||
addAccelerator (fc::Fmkey_meta + std::tolower(hotkey));
|
||||
addAccelerator (fc::Fmkey_meta + FKey(std::tolower(hotkey)));
|
||||
}
|
||||
else
|
||||
addAccelerator (getHotkey());
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* *
|
||||
* This file is part of the Final Cut widget toolkit *
|
||||
* *
|
||||
* Copyright 2014-2017 Markus Gans *
|
||||
* Copyright 2014-2018 Markus Gans *
|
||||
* *
|
||||
* The Final Cut is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Lesser General Public License *
|
||||
|
@ -48,7 +48,7 @@ int FEvent::type() const
|
|||
// class FKeyEvent
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
FKeyEvent::FKeyEvent (int ev_type, int key_num) // constructor
|
||||
FKeyEvent::FKeyEvent (int ev_type, FKey key_num) // constructor
|
||||
: FEvent(ev_type)
|
||||
, k(key_num)
|
||||
, accpt(false)
|
||||
|
@ -59,7 +59,7 @@ FKeyEvent::~FKeyEvent() // destructor
|
|||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FKeyEvent::key() const
|
||||
FKey FKeyEvent::key() const
|
||||
{ return k; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -231,7 +231,7 @@ void FFileDialog::onKeyPress (FKeyEvent* ev)
|
|||
if ( ! filebrowser.hasFocus() )
|
||||
return;
|
||||
|
||||
int key = ev->key();
|
||||
FKey key = ev->key();
|
||||
|
||||
switch ( key )
|
||||
{
|
||||
|
|
|
@ -107,7 +107,7 @@ void FKeyboard::fetchKeyCode()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
const FString FKeyboard::getKeyName (int keynum)
|
||||
const FString FKeyboard::getKeyName (FKey keynum)
|
||||
{
|
||||
for (int i = 0; fc::FkeyName[i].string[0] != 0; i++)
|
||||
if ( fc::FkeyName[i].num && fc::FkeyName[i].num == keynum )
|
||||
|
@ -197,12 +197,12 @@ void FKeyboard::escapeKeyHandling()
|
|||
|
||||
// private methods of FKeyboard
|
||||
//----------------------------------------------------------------------
|
||||
inline int FKeyboard::getMouseProtocolKey()
|
||||
inline FKey FKeyboard::getMouseProtocolKey()
|
||||
{
|
||||
// Looking for mouse string in the key buffer
|
||||
|
||||
if ( ! mouse_support )
|
||||
return -1;
|
||||
return NOT_SET;
|
||||
|
||||
std::size_t buf_len = std::strlen(fifo_buf);
|
||||
|
||||
|
@ -221,18 +221,18 @@ inline int FKeyboard::getMouseProtocolKey()
|
|||
&& fifo_buf[buf_len - 1] == 'M' )
|
||||
return fc::Fkey_urxvt_mouse;
|
||||
|
||||
return -1;
|
||||
return NOT_SET;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline int FKeyboard::getTermcapKey()
|
||||
inline FKey FKeyboard::getTermcapKey()
|
||||
{
|
||||
// Looking for termcap key strings in the buffer
|
||||
|
||||
assert ( FIFO_BUF_SIZE > 0 );
|
||||
|
||||
if ( ! key_map )
|
||||
return -1;
|
||||
return NOT_SET;
|
||||
|
||||
for (int i = 0; key_map[i].tname[0] != 0; i++)
|
||||
{
|
||||
|
@ -254,11 +254,11 @@ inline int FKeyboard::getTermcapKey()
|
|||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
return NOT_SET;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline int FKeyboard::getMetaKey()
|
||||
inline FKey FKeyboard::getMetaKey()
|
||||
{
|
||||
// Looking for meta key strings in the buffer
|
||||
|
||||
|
@ -278,7 +278,7 @@ inline int FKeyboard::getMetaKey()
|
|||
|| fifo_buf[1] == ']' ) )
|
||||
{
|
||||
if ( ! isKeypressTimeout() )
|
||||
return NEED_MORE_DATA;
|
||||
return fc::need_more_data;
|
||||
}
|
||||
|
||||
for (n = len; n < FIFO_BUF_SIZE; n++) // Remove founded entry
|
||||
|
@ -292,18 +292,18 @@ inline int FKeyboard::getMetaKey()
|
|||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
return NOT_SET;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline int FKeyboard::getSingleKey()
|
||||
inline FKey FKeyboard::getSingleKey()
|
||||
{
|
||||
// Looking for single key code in the buffer
|
||||
|
||||
uChar firstchar = uChar(fifo_buf[0]);
|
||||
std::size_t n;
|
||||
std::size_t len = 1;
|
||||
int keycode;
|
||||
FKey keycode;
|
||||
|
||||
// Look for a utf-8 character
|
||||
if ( utf8_input && (firstchar & 0xc0) == 0xc0 )
|
||||
|
@ -336,7 +336,7 @@ inline int FKeyboard::getSingleKey()
|
|||
if ( keycode == 0 ) // Ctrl+Space or Ctrl+@
|
||||
keycode = fc::Fckey_space;
|
||||
|
||||
return int(keycode == 127 ? fc::Fkey_backspace : keycode);
|
||||
return FKey(keycode == 127 ? fc::Fkey_backspace : keycode);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -370,16 +370,16 @@ bool FKeyboard::isKeypressTimeout()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FKeyboard::UTF8decode (const char utf8[])
|
||||
FKey FKeyboard::UTF8decode (const char utf8[])
|
||||
{
|
||||
int ucs = 0;
|
||||
FKey ucs = 0; // Universal coded character
|
||||
const int max = 4;
|
||||
int len = int(std::strlen(utf8));
|
||||
std::size_t len = std::strlen(utf8);
|
||||
|
||||
if ( len > max )
|
||||
len = max;
|
||||
|
||||
for (int i = 0; i < len; ++i)
|
||||
for (std::size_t i = 0; i < len; ++i)
|
||||
{
|
||||
uChar ch = uChar(utf8[i]);
|
||||
|
||||
|
@ -411,7 +411,7 @@ int FKeyboard::UTF8decode (const char utf8[])
|
|||
else
|
||||
{
|
||||
// error
|
||||
ucs = EOF;
|
||||
ucs = NOT_SET;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -450,12 +450,12 @@ void FKeyboard::parseKeyBuffer()
|
|||
// Read the rest from the fifo buffer
|
||||
while ( ! isKeypressTimeout()
|
||||
&& fifo_offset > 0
|
||||
&& key != NEED_MORE_DATA )
|
||||
&& key != fc::need_more_data )
|
||||
{
|
||||
key = parseKeyString();
|
||||
key = keyCorrection(key);
|
||||
|
||||
if ( key != NEED_MORE_DATA )
|
||||
if ( key != fc::need_more_data )
|
||||
keyPressed();
|
||||
|
||||
fifo_offset = int(std::strlen(fifo_buf));
|
||||
|
@ -477,38 +477,38 @@ void FKeyboard::parseKeyBuffer()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FKeyboard::parseKeyString()
|
||||
FKey FKeyboard::parseKeyString()
|
||||
{
|
||||
uChar firstchar = uChar(fifo_buf[0]);
|
||||
|
||||
if ( firstchar == ESC[0] )
|
||||
{
|
||||
int keycode = getMouseProtocolKey();
|
||||
FKey keycode = getMouseProtocolKey();
|
||||
|
||||
if ( keycode != -1 )
|
||||
if ( keycode != NOT_SET )
|
||||
return keycode;
|
||||
|
||||
keycode = getTermcapKey();
|
||||
|
||||
if ( keycode != -1 )
|
||||
if ( keycode != NOT_SET )
|
||||
return keycode;
|
||||
|
||||
keycode = getMetaKey();
|
||||
|
||||
if ( keycode != -1 )
|
||||
if ( keycode != NOT_SET )
|
||||
return keycode;
|
||||
|
||||
if ( ! isKeypressTimeout() )
|
||||
return NEED_MORE_DATA;
|
||||
return fc::need_more_data;
|
||||
}
|
||||
|
||||
return getSingleKey();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FKeyboard::keyCorrection (const int& keycode)
|
||||
FKey FKeyboard::keyCorrection (const FKey& keycode)
|
||||
{
|
||||
int key_correction;
|
||||
FKey key_correction;
|
||||
|
||||
#if defined(__linux__)
|
||||
if ( linux )
|
||||
|
|
|
@ -440,10 +440,10 @@ void FLabel::setHotkeyAccelerator()
|
|||
{
|
||||
if ( std::isalpha(hotkey) || std::isdigit(hotkey) )
|
||||
{
|
||||
addAccelerator (std::tolower(hotkey));
|
||||
addAccelerator (std::toupper(hotkey));
|
||||
addAccelerator (FKey(std::tolower(hotkey)));
|
||||
addAccelerator (FKey(std::toupper(hotkey)));
|
||||
// Meta + hotkey
|
||||
addAccelerator (fc::Fmkey_meta + std::tolower(hotkey));
|
||||
addAccelerator (fc::Fmkey_meta + FKey(std::tolower(hotkey)));
|
||||
}
|
||||
else
|
||||
addAccelerator (getHotkey());
|
||||
|
|
|
@ -330,7 +330,7 @@ void FLineEdit::clear()
|
|||
//----------------------------------------------------------------------
|
||||
void FLineEdit::onKeyPress (FKeyEvent* ev)
|
||||
{
|
||||
int key = ev->key();
|
||||
FKey key = ev->key();
|
||||
|
||||
switch ( key )
|
||||
{
|
||||
|
@ -869,7 +869,7 @@ inline void FLineEdit::keyEnter()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline bool FLineEdit::keyInput (int key)
|
||||
inline bool FLineEdit::keyInput (FKey key)
|
||||
{
|
||||
if ( key >= 0x20 && key <= 0x10fff )
|
||||
{
|
||||
|
|
|
@ -402,9 +402,9 @@ void FListBox::clear()
|
|||
void FListBox::onKeyPress (FKeyEvent* ev)
|
||||
{
|
||||
std::size_t current_before = current;
|
||||
int xoffset_before = xoffset
|
||||
, yoffset_before = yoffset
|
||||
, key = ev->key();
|
||||
int xoffset_before = xoffset;
|
||||
int yoffset_before = yoffset;
|
||||
FKey key = ev->key();
|
||||
|
||||
switch ( key )
|
||||
{
|
||||
|
@ -1825,7 +1825,7 @@ inline bool FListBox::keyBackspace()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline bool FListBox::keyIncSearchInput (int key)
|
||||
inline bool FListBox::keyIncSearchInput (FKey key)
|
||||
{
|
||||
if ( key <= 0x20 || key > 0x10fff )
|
||||
return false;
|
||||
|
|
|
@ -959,8 +959,8 @@ void FListView::onKeyPress (FKeyEvent* ev)
|
|||
int position_before = current_iter.getPosition()
|
||||
, xoffset_before = xoffset
|
||||
, first_line_position_before = first_visible_line.getPosition()
|
||||
, pagesize = int(getClientHeight()) - 1
|
||||
, key = ev->key();
|
||||
, pagesize = int(getClientHeight()) - 1;
|
||||
FKey key = ev->key();
|
||||
clicked_expander_pos.setPoint(-1, -1);
|
||||
|
||||
switch ( key )
|
||||
|
|
|
@ -491,7 +491,7 @@ void FMenu::calculateDimensions()
|
|||
while ( iter != last )
|
||||
{
|
||||
std::size_t item_width = (*iter)->getTextLength() + 2;
|
||||
int accel_key = (*iter)->accel_key;
|
||||
FKey accel_key = (*iter)->accel_key;
|
||||
bool has_menu = (*iter)->hasMenu();
|
||||
|
||||
if ( has_menu )
|
||||
|
@ -1171,12 +1171,13 @@ bool FMenu::hotkeyMenu (FKeyEvent* ev)
|
|||
if ( (*iter)->hasHotkey() )
|
||||
{
|
||||
bool found = false;
|
||||
int hotkey = (*iter)->getHotkey();
|
||||
int key = ev->key();
|
||||
uChar hotkey = (*iter)->getHotkey();
|
||||
FKey key = ev->key();
|
||||
|
||||
if ( std::isalpha(hotkey) || std::isdigit(hotkey) )
|
||||
{
|
||||
if ( std::tolower(hotkey) == key || std::toupper(hotkey) == key )
|
||||
if ( FKey(std::tolower(hotkey)) == key
|
||||
|| FKey(std::toupper(hotkey)) == key )
|
||||
found = true;
|
||||
}
|
||||
else if ( hotkey == key )
|
||||
|
@ -1316,7 +1317,7 @@ inline void FMenu::drawMenuLine (FMenuItem* menuitem, int y)
|
|||
menuText txtdata;
|
||||
std::size_t txt_length = txt.getLength();
|
||||
std::size_t to_char = txt_length;
|
||||
int accel_key = menuitem->accel_key;
|
||||
FKey accel_key = menuitem->accel_key;
|
||||
bool is_enabled = menuitem->isEnabled();
|
||||
bool is_selected = menuitem->isSelected();
|
||||
|
||||
|
@ -1469,7 +1470,7 @@ inline void FMenu::drawSubMenuIndicator (std::size_t& startpos)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline void FMenu::drawAcceleratorKey (std::size_t& startpos, int accel_key)
|
||||
inline void FMenu::drawAcceleratorKey (std::size_t& startpos, FKey accel_key)
|
||||
{
|
||||
FString accel_name (getKeyName(accel_key));
|
||||
std::size_t c = ( has_checkable_items ) ? 1 : 0;
|
||||
|
|
|
@ -426,10 +426,10 @@ bool FMenuBar::hotkeyMenu (FKeyEvent*& ev)
|
|||
{
|
||||
if ( (*iter)->isEnabled() )
|
||||
{
|
||||
int hotkey = (*iter)->getHotkey();
|
||||
int key = ev->key();
|
||||
uChar hotkey = (*iter)->getHotkey();
|
||||
FKey key = ev->key();
|
||||
|
||||
if ( fc::Fmkey_meta + std::tolower(hotkey) == key )
|
||||
if ( fc::Fmkey_meta + FKey(std::tolower(hotkey)) == key )
|
||||
{
|
||||
FMenuItem* sel_item = getSelectedItem();
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ FMenuItem::FMenuItem (const FString& txt, FWidget* parent)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FMenuItem::FMenuItem (int k, const FString& txt, FWidget* parent)
|
||||
FMenuItem::FMenuItem (FKey k, const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
, text(txt)
|
||||
, selected(false)
|
||||
|
@ -127,7 +127,8 @@ bool FMenuItem::setEnable (bool on)
|
|||
if ( super && isMenuBar(super) )
|
||||
{
|
||||
// Meta + hotkey
|
||||
super->addAccelerator (fc::Fmkey_meta + std::tolower(hotkey), this);
|
||||
super->addAccelerator ( fc::Fmkey_meta + FKey(std::tolower(hotkey))
|
||||
, this );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -231,8 +232,7 @@ void FMenuItem::setText (const FString& txt)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
void FMenuItem::addAccelerator (int key, FWidget* obj)
|
||||
void FMenuItem::addAccelerator (FKey key, FWidget* obj)
|
||||
{
|
||||
FWidget* root = getRootWidget();
|
||||
accelerator accel = { key, obj };
|
||||
|
@ -596,7 +596,7 @@ void FMenuItem::init (FWidget* parent)
|
|||
|
||||
setSuperMenu (parent);
|
||||
|
||||
if ( accel_key )
|
||||
if ( accel_key )
|
||||
addAccelerator (accel_key);
|
||||
|
||||
FMenuList* menu_list = getFMenuList(*parent);
|
||||
|
@ -610,7 +610,7 @@ void FMenuItem::init (FWidget* parent)
|
|||
menubar_ptr->calculateDimensions();
|
||||
|
||||
if ( hotkey ) // Meta + hotkey
|
||||
menubar_ptr->addAccelerator ( fc::Fmkey_meta + std::tolower(hotkey)
|
||||
menubar_ptr->addAccelerator ( fc::Fmkey_meta + FKey(std::tolower(hotkey))
|
||||
, this );
|
||||
|
||||
addCallback // for this element
|
||||
|
@ -681,7 +681,7 @@ void FMenuItem::createDialogList (FMenu* winmenu)
|
|||
if ( win )
|
||||
{
|
||||
FMenuItem* win_item;
|
||||
int n = int(std::distance(first, iter));
|
||||
uInt32 n = uInt32(std::distance(first, iter));
|
||||
// get the dialog title
|
||||
const FString& name = win->getText();
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ FStatusKey::FStatusKey(FWidget* parent)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FStatusKey::FStatusKey (int k, const FString& txt, FWidget* parent)
|
||||
FStatusKey::FStatusKey (FKey k, const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
, key(k)
|
||||
, text(txt)
|
||||
|
|
|
@ -108,7 +108,7 @@ std::size_t FTerm::getColumnNumber()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
const FString FTerm::getKeyName (int keynum)
|
||||
const FString FTerm::getKeyName (FKey keynum)
|
||||
{
|
||||
return keyboard->getKeyName (keynum);
|
||||
}
|
||||
|
|
|
@ -436,7 +436,7 @@ char* FTermLinux::restoreCursorStyle()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::modifierKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::modifierKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
// Get the current modifier key state
|
||||
modifier_key& m = getModifierKey();
|
||||
|
@ -910,7 +910,7 @@ bool FTermLinux::resetVGAPalette()
|
|||
#endif // defined(__x86_64__) || defined(__i386) || defined(__arm__)
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::shiftKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::shiftKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
switch ( key_id )
|
||||
{
|
||||
|
@ -950,7 +950,7 @@ int FTermLinux::shiftKeyCorrection (const int& key_id)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::ctrlKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::ctrlKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
switch ( key_id )
|
||||
{
|
||||
|
@ -990,7 +990,7 @@ int FTermLinux::ctrlKeyCorrection (const int& key_id)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::altKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::altKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
switch ( key_id )
|
||||
{
|
||||
|
@ -1030,7 +1030,7 @@ int FTermLinux::altKeyCorrection (const int& key_id)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::shiftCtrlKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::shiftCtrlKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
switch ( key_id )
|
||||
{
|
||||
|
@ -1070,7 +1070,7 @@ int FTermLinux::shiftCtrlKeyCorrection (const int& key_id)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::shiftAltKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::shiftAltKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
switch ( key_id )
|
||||
{
|
||||
|
@ -1110,7 +1110,7 @@ int FTermLinux::shiftAltKeyCorrection (const int& key_id)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::ctrlAltKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::ctrlAltKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
switch ( key_id )
|
||||
{
|
||||
|
@ -1150,7 +1150,7 @@ int FTermLinux::ctrlAltKeyCorrection (const int& key_id)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int FTermLinux::shiftCtrlAltKeyCorrection (const int& key_id)
|
||||
FKey FTermLinux::shiftCtrlAltKeyCorrection (const FKey& key_id)
|
||||
{
|
||||
switch ( key_id )
|
||||
{
|
||||
|
|
|
@ -428,16 +428,16 @@ uChar FToggleButton::getHotkey()
|
|||
//----------------------------------------------------------------------
|
||||
void FToggleButton::setHotkeyAccelerator()
|
||||
{
|
||||
int hotkey = getHotkey();
|
||||
uChar hotkey = getHotkey();
|
||||
|
||||
if ( hotkey )
|
||||
{
|
||||
if ( std::isalpha(hotkey) || std::isdigit(hotkey) )
|
||||
{
|
||||
addAccelerator (std::tolower(hotkey));
|
||||
addAccelerator (std::toupper(hotkey));
|
||||
addAccelerator (FKey(std::tolower(hotkey)));
|
||||
addAccelerator (FKey(std::toupper(hotkey)));
|
||||
// Meta + hotkey
|
||||
addAccelerator (fc::Fmkey_meta + std::tolower(hotkey));
|
||||
addAccelerator (fc::Fmkey_meta + FKey(std::tolower(hotkey)));
|
||||
}
|
||||
else
|
||||
addAccelerator (getHotkey());
|
||||
|
@ -530,12 +530,10 @@ void FToggleButton::processToggle()
|
|||
//----------------------------------------------------------------------
|
||||
void FToggleButton::onKeyPress (FKeyEvent* ev)
|
||||
{
|
||||
int key;
|
||||
|
||||
if ( ! isEnabled() )
|
||||
return;
|
||||
|
||||
key = ev->key();
|
||||
FKey key = ev->key();
|
||||
|
||||
switch ( key )
|
||||
{
|
||||
|
@ -619,8 +617,8 @@ void FToggleButton::init()
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
std::size_t FToggleButton::getHotkeyPos ( wchar_t src[]
|
||||
, wchar_t dest[]
|
||||
, std::size_t length )
|
||||
, wchar_t dest[]
|
||||
, std::size_t length )
|
||||
{
|
||||
// find hotkey position in string
|
||||
// + generate a new string without the '&'-sign
|
||||
|
|
|
@ -970,7 +970,7 @@ void FWidget::emitCallback (const FString& emit_signal)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void FWidget::addAccelerator (int key, FWidget* obj)
|
||||
void FWidget::addAccelerator (FKey key, FWidget* obj)
|
||||
{
|
||||
FWidget* widget = FWindow::getWindowWidget(obj);
|
||||
accelerator accel = { key, obj };
|
||||
|
|
|
@ -239,414 +239,415 @@ enum SpecialCharacter
|
|||
// keyboard - single keys
|
||||
enum keys
|
||||
{
|
||||
Fckey_a = 0x0000001, // control-a
|
||||
Fckey_b = 0x0000002, // control-b
|
||||
Fckey_c = 0x0000003, // control-c
|
||||
Fckey_d = 0x0000004, // control-d
|
||||
Fckey_e = 0x0000005, // control-e
|
||||
Fckey_f = 0x0000006, // control-f
|
||||
Fckey_g = 0x0000007, // control-g
|
||||
Fkey_erase = 0x0000008, // control-h
|
||||
Fkey_tab = 0x0000009, // control-i
|
||||
Fckey_j = 0x000000a, // control-j
|
||||
Fckey_h = 0x000000b, // control-k
|
||||
Fckey_l = 0x000000c, // control-l
|
||||
Fkey_return = 0x000000d, // control-m
|
||||
Fckey_n = 0x000000e, // control-n
|
||||
Fckey_o = 0x000000f, // control-o
|
||||
Fckey_p = 0x0000010, // control-p
|
||||
Fckey_q = 0x0000011, // control-q
|
||||
Fckey_r = 0x0000012, // control-r
|
||||
Fckey_s = 0x0000013, // control-s
|
||||
Fckey_t = 0x0000014, // control-t
|
||||
Fckey_u = 0x0000015, // control-u
|
||||
Fckey_v = 0x0000016, // control-v
|
||||
Fckey_w = 0x0000017, // control-w
|
||||
Fckey_x = 0x0000018, // control-x
|
||||
Fckey_y = 0x0000019, // control-y
|
||||
Fckey_z = 0x000001a, // control-t
|
||||
Fkey_escape = 0x000001b, // control-[
|
||||
Fckey_backslash = 0x000001c, // control-'\'
|
||||
Fckey_right_square_bracket = 0x000001d, // control-]
|
||||
Fckey_caret = 0x000001e, // control-^
|
||||
Fckey_underscore = 0x000001f, // control-_
|
||||
Fkey_space = 0x0000020, // space
|
||||
Fkey_exclamation_mark = 0x0000021, // !
|
||||
Fkey_quotation_mark = 0x0000022, // "
|
||||
Fkey_number_sign = 0x0000023, // #
|
||||
Fkey_dollar_sign = 0x0000024, // $
|
||||
Fkey_percent_sign = 0x0000025, // %
|
||||
Fkey_ampersand = 0x0000026, // &
|
||||
Fkey_apostrophe = 0x0000027, // '
|
||||
Fkey_left_parentheses = 0x0000028, // (
|
||||
Fkey_right_parentheses = 0x0000029, // )
|
||||
Fkey_asterisk = 0x000002a, // *
|
||||
Fkey_plus_sign = 0x000002b, // +
|
||||
Fkey_comma = 0x000002c, // ,
|
||||
Fkey_minus_sign = 0x000002d, // -
|
||||
Fkey_full_stop = 0x000002e, // .
|
||||
Fkey_slash = 0x000002f, // /
|
||||
Fckey_space = 0x1000020, // control-space
|
||||
Fkey_backspace = 0x1000100,
|
||||
Fkey_catab = 0x1000101,
|
||||
Fkey_clear = 0x1000102,
|
||||
Fkey_ctab = 0x1000103,
|
||||
Fkey_dc = 0x1000104,
|
||||
Fkey_dl = 0x1000105,
|
||||
Fkey_down = 0x1000106,
|
||||
Fkey_eic = 0x1000107,
|
||||
Fkey_eol = 0x1000108,
|
||||
Fkey_eos = 0x1000109,
|
||||
Fkey_f0 = 0x100010a,
|
||||
Fkey_f1 = 0x100010b,
|
||||
Fkey_f2 = 0x100010c,
|
||||
Fkey_f3 = 0x100010d,
|
||||
Fkey_f4 = 0x100010e,
|
||||
Fkey_f5 = 0x100010f,
|
||||
Fkey_f6 = 0x1000110,
|
||||
Fkey_f7 = 0x1000111,
|
||||
Fkey_f8 = 0x1000112,
|
||||
Fkey_f9 = 0x1000113,
|
||||
Fkey_f10 = 0x1000114,
|
||||
Fkey_home = 0x1000115,
|
||||
Fkey_ic = 0x1000116, // insert key
|
||||
Fkey_il = 0x1000117,
|
||||
Fkey_left = 0x1000118,
|
||||
Fkey_ll = 0x1000119,
|
||||
Fkey_npage = 0x100011a,
|
||||
Fkey_ppage = 0x100011b,
|
||||
Fkey_right = 0x100011c,
|
||||
Fkey_sf = 0x100011d,
|
||||
Fkey_sr = 0x100011e,
|
||||
Fkey_stab = 0x100011f,
|
||||
Fkey_up = 0x1000120,
|
||||
Fkey_a1 = 0x1000121,
|
||||
Fkey_a3 = 0x1000122,
|
||||
Fkey_b2 = 0x1000123,
|
||||
Fkey_c1 = 0x1000124,
|
||||
Fkey_c3 = 0x1000125,
|
||||
Fkey_btab = 0x1000126,
|
||||
Fkey_beg = 0x1000127,
|
||||
Fkey_cancel = 0x1000128,
|
||||
Fkey_close = 0x1000129,
|
||||
Fkey_command = 0x100012a,
|
||||
Fkey_copy = 0x100012b,
|
||||
Fkey_create = 0x100012c,
|
||||
Fkey_end = 0x100012d,
|
||||
Fkey_enter = 0x100012e,
|
||||
Fkey_exit = 0x100012f,
|
||||
Fkey_find = 0x1000130,
|
||||
Fkey_help = 0x1000131,
|
||||
Fkey_mark = 0x1000132,
|
||||
Fkey_message = 0x1000133,
|
||||
Fkey_move = 0x1000134,
|
||||
Fkey_next = 0x1000135,
|
||||
Fkey_open = 0x1000136,
|
||||
Fkey_options = 0x1000137,
|
||||
Fkey_previous = 0x1000138,
|
||||
Fkey_print = 0x1000139,
|
||||
Fkey_redo = 0x100013a,
|
||||
Fkey_reference = 0x100013b,
|
||||
Fkey_refresh = 0x100013c,
|
||||
Fkey_replace = 0x100013d,
|
||||
Fkey_restart = 0x100013e,
|
||||
Fkey_resume = 0x100013f,
|
||||
Fkey_save = 0x1000140,
|
||||
Fkey_suspend = 0x1000141,
|
||||
Fkey_undo = 0x1000142,
|
||||
Fkey_sbeg = 0x1000143,
|
||||
Fkey_scancel = 0x1000144,
|
||||
Fkey_scommand = 0x1000145,
|
||||
Fkey_scopy = 0x1000146,
|
||||
Fkey_screate = 0x1000147,
|
||||
Fkey_sdc = 0x1000148,
|
||||
Fkey_sdl = 0x1000149,
|
||||
Fkey_select = 0x100014a,
|
||||
Fkey_send = 0x100014b,
|
||||
Fkey_seol = 0x100014c,
|
||||
Fkey_sexit = 0x100014d,
|
||||
Fkey_sfind = 0x100014e,
|
||||
Fkey_shelp = 0x100014f,
|
||||
Fkey_shome = 0x1000150,
|
||||
Fkey_sic = 0x1000151,
|
||||
Fkey_sleft = 0x1000152,
|
||||
Fkey_smessage = 0x1000153,
|
||||
Fkey_smove = 0x1000154,
|
||||
Fkey_snext = 0x1000155,
|
||||
Fkey_soptions = 0x1000156,
|
||||
Fkey_sprevious = 0x1000157,
|
||||
Fkey_sprint = 0x1000158,
|
||||
Fkey_sredo = 0x1000159,
|
||||
Fkey_sreplace = 0x100015a,
|
||||
Fkey_sright = 0x100015b,
|
||||
Fkey_srsume = 0x100015c,
|
||||
Fkey_ssave = 0x100015d,
|
||||
Fkey_ssuspend = 0x100015e,
|
||||
Fkey_sundo = 0x100015f,
|
||||
Fkey_f11 = 0x1000160,
|
||||
Fkey_f12 = 0x1000161,
|
||||
Fkey_f13 = 0x1000162,
|
||||
Fkey_f14 = 0x1000163,
|
||||
Fkey_f15 = 0x1000164,
|
||||
Fkey_f16 = 0x1000165,
|
||||
Fkey_f17 = 0x1000166,
|
||||
Fkey_f18 = 0x1000167,
|
||||
Fkey_f19 = 0x1000168,
|
||||
Fkey_f20 = 0x1000169,
|
||||
Fkey_f21 = 0x100016a,
|
||||
Fkey_f22 = 0x100016b,
|
||||
Fkey_f23 = 0x100016c,
|
||||
Fkey_f24 = 0x100016d,
|
||||
Fkey_f25 = 0x100016e,
|
||||
Fkey_f26 = 0x100016f,
|
||||
Fkey_f27 = 0x1000170,
|
||||
Fkey_f28 = 0x1000171,
|
||||
Fkey_f29 = 0x1000172,
|
||||
Fkey_f30 = 0x1000173,
|
||||
Fkey_f31 = 0x1000174,
|
||||
Fkey_f32 = 0x1000175,
|
||||
Fkey_f33 = 0x1000176,
|
||||
Fkey_f34 = 0x1000177,
|
||||
Fkey_f35 = 0x1000178,
|
||||
Fkey_f36 = 0x1000179,
|
||||
Fkey_f37 = 0x100017a,
|
||||
Fkey_f38 = 0x100017b,
|
||||
Fkey_f39 = 0x100017c,
|
||||
Fkey_f40 = 0x100017d,
|
||||
Fkey_f41 = 0x100017e,
|
||||
Fkey_f42 = 0x100017f,
|
||||
Fkey_f43 = 0x1000180,
|
||||
Fkey_f44 = 0x1000181,
|
||||
Fkey_f45 = 0x1000182,
|
||||
Fkey_f46 = 0x1000183,
|
||||
Fkey_f47 = 0x1000184,
|
||||
Fkey_f48 = 0x1000185,
|
||||
Fkey_f49 = 0x1000186,
|
||||
Fkey_f50 = 0x1000187,
|
||||
Fkey_f51 = 0x1000188,
|
||||
Fkey_f52 = 0x1000189,
|
||||
Fkey_f53 = 0x100018a,
|
||||
Fkey_f54 = 0x100018b,
|
||||
Fkey_f55 = 0x100018c,
|
||||
Fkey_f56 = 0x100018d,
|
||||
Fkey_f57 = 0x100018e,
|
||||
Fkey_f58 = 0x100018f,
|
||||
Fkey_f59 = 0x1000190,
|
||||
Fkey_f60 = 0x1000191,
|
||||
Fkey_f61 = 0x1000192,
|
||||
Fkey_f62 = 0x1000193,
|
||||
Fkey_f63 = 0x1000194
|
||||
Fckey_a = 0x00000001, // control-a
|
||||
Fckey_b = 0x00000002, // control-b
|
||||
Fckey_c = 0x00000003, // control-c
|
||||
Fckey_d = 0x00000004, // control-d
|
||||
Fckey_e = 0x00000005, // control-e
|
||||
Fckey_f = 0x00000006, // control-f
|
||||
Fckey_g = 0x00000007, // control-g
|
||||
Fkey_erase = 0x00000008, // control-h
|
||||
Fkey_tab = 0x00000009, // control-i
|
||||
Fckey_j = 0x0000000a, // control-j
|
||||
Fckey_h = 0x0000000b, // control-k
|
||||
Fckey_l = 0x0000000c, // control-l
|
||||
Fkey_return = 0x0000000d, // control-m
|
||||
Fckey_n = 0x0000000e, // control-n
|
||||
Fckey_o = 0x0000000f, // control-o
|
||||
Fckey_p = 0x00000010, // control-p
|
||||
Fckey_q = 0x00000011, // control-q
|
||||
Fckey_r = 0x00000012, // control-r
|
||||
Fckey_s = 0x00000013, // control-s
|
||||
Fckey_t = 0x00000014, // control-t
|
||||
Fckey_u = 0x00000015, // control-u
|
||||
Fckey_v = 0x00000016, // control-v
|
||||
Fckey_w = 0x00000017, // control-w
|
||||
Fckey_x = 0x00000018, // control-x
|
||||
Fckey_y = 0x00000019, // control-y
|
||||
Fckey_z = 0x0000001a, // control-t
|
||||
Fkey_escape = 0x0000001b, // control-[
|
||||
Fckey_backslash = 0x0000001c, // control-'\'
|
||||
Fckey_right_square_bracket = 0x0000001d, // control-]
|
||||
Fckey_caret = 0x0000001e, // control-^
|
||||
Fckey_underscore = 0x0000001f, // control-_
|
||||
Fkey_space = 0x00000020, // space
|
||||
Fkey_exclamation_mark = 0x00000021, // !
|
||||
Fkey_quotation_mark = 0x00000022, // "
|
||||
Fkey_number_sign = 0x00000023, // #
|
||||
Fkey_dollar_sign = 0x00000024, // $
|
||||
Fkey_percent_sign = 0x00000025, // %
|
||||
Fkey_ampersand = 0x00000026, // &
|
||||
Fkey_apostrophe = 0x00000027, // '
|
||||
Fkey_left_parentheses = 0x00000028, // (
|
||||
Fkey_right_parentheses = 0x00000029, // )
|
||||
Fkey_asterisk = 0x0000002a, // *
|
||||
Fkey_plus_sign = 0x0000002b, // +
|
||||
Fkey_comma = 0x0000002c, // ,
|
||||
Fkey_minus_sign = 0x0000002d, // -
|
||||
Fkey_full_stop = 0x0000002e, // .
|
||||
Fkey_slash = 0x0000002f, // /
|
||||
Fckey_space = 0x01000020, // control-space
|
||||
Fkey_backspace = 0x01000100,
|
||||
Fkey_catab = 0x01000101,
|
||||
Fkey_clear = 0x01000102,
|
||||
Fkey_ctab = 0x01000103,
|
||||
Fkey_dc = 0x01000104,
|
||||
Fkey_dl = 0x01000105,
|
||||
Fkey_down = 0x01000106,
|
||||
Fkey_eic = 0x01000107,
|
||||
Fkey_eol = 0x01000108,
|
||||
Fkey_eos = 0x01000109,
|
||||
Fkey_f0 = 0x0100010a,
|
||||
Fkey_f1 = 0x0100010b,
|
||||
Fkey_f2 = 0x0100010c,
|
||||
Fkey_f3 = 0x0100010d,
|
||||
Fkey_f4 = 0x0100010e,
|
||||
Fkey_f5 = 0x0100010f,
|
||||
Fkey_f6 = 0x01000110,
|
||||
Fkey_f7 = 0x01000111,
|
||||
Fkey_f8 = 0x01000112,
|
||||
Fkey_f9 = 0x01000113,
|
||||
Fkey_f10 = 0x01000114,
|
||||
Fkey_home = 0x01000115,
|
||||
Fkey_ic = 0x01000116, // insert key
|
||||
Fkey_il = 0x01000117,
|
||||
Fkey_left = 0x01000118,
|
||||
Fkey_ll = 0x01000119,
|
||||
Fkey_npage = 0x0100011a,
|
||||
Fkey_ppage = 0x0100011b,
|
||||
Fkey_right = 0x0100011c,
|
||||
Fkey_sf = 0x0100011d,
|
||||
Fkey_sr = 0x0100011e,
|
||||
Fkey_stab = 0x0100011f,
|
||||
Fkey_up = 0x01000120,
|
||||
Fkey_a1 = 0x01000121,
|
||||
Fkey_a3 = 0x01000122,
|
||||
Fkey_b2 = 0x01000123,
|
||||
Fkey_c1 = 0x01000124,
|
||||
Fkey_c3 = 0x01000125,
|
||||
Fkey_btab = 0x01000126,
|
||||
Fkey_beg = 0x01000127,
|
||||
Fkey_cancel = 0x01000128,
|
||||
Fkey_close = 0x01000129,
|
||||
Fkey_command = 0x0100012a,
|
||||
Fkey_copy = 0x0100012b,
|
||||
Fkey_create = 0x0100012c,
|
||||
Fkey_end = 0x0100012d,
|
||||
Fkey_enter = 0x0100012e,
|
||||
Fkey_exit = 0x0100012f,
|
||||
Fkey_find = 0x01000130,
|
||||
Fkey_help = 0x01000131,
|
||||
Fkey_mark = 0x01000132,
|
||||
Fkey_message = 0x01000133,
|
||||
Fkey_move = 0x01000134,
|
||||
Fkey_next = 0x01000135,
|
||||
Fkey_open = 0x01000136,
|
||||
Fkey_options = 0x01000137,
|
||||
Fkey_previous = 0x01000138,
|
||||
Fkey_print = 0x01000139,
|
||||
Fkey_redo = 0x0100013a,
|
||||
Fkey_reference = 0x0100013b,
|
||||
Fkey_refresh = 0x0100013c,
|
||||
Fkey_replace = 0x0100013d,
|
||||
Fkey_restart = 0x0100013e,
|
||||
Fkey_resume = 0x0100013f,
|
||||
Fkey_save = 0x01000140,
|
||||
Fkey_suspend = 0x01000141,
|
||||
Fkey_undo = 0x01000142,
|
||||
Fkey_sbeg = 0x01000143,
|
||||
Fkey_scancel = 0x01000144,
|
||||
Fkey_scommand = 0x01000145,
|
||||
Fkey_scopy = 0x01000146,
|
||||
Fkey_screate = 0x01000147,
|
||||
Fkey_sdc = 0x01000148,
|
||||
Fkey_sdl = 0x01000149,
|
||||
Fkey_select = 0x0100014a,
|
||||
Fkey_send = 0x0100014b,
|
||||
Fkey_seol = 0x0100014c,
|
||||
Fkey_sexit = 0x0100014d,
|
||||
Fkey_sfind = 0x0100014e,
|
||||
Fkey_shelp = 0x0100014f,
|
||||
Fkey_shome = 0x01000150,
|
||||
Fkey_sic = 0x01000151,
|
||||
Fkey_sleft = 0x01000152,
|
||||
Fkey_smessage = 0x01000153,
|
||||
Fkey_smove = 0x01000154,
|
||||
Fkey_snext = 0x01000155,
|
||||
Fkey_soptions = 0x01000156,
|
||||
Fkey_sprevious = 0x01000157,
|
||||
Fkey_sprint = 0x01000158,
|
||||
Fkey_sredo = 0x01000159,
|
||||
Fkey_sreplace = 0x0100015a,
|
||||
Fkey_sright = 0x0100015b,
|
||||
Fkey_srsume = 0x0100015c,
|
||||
Fkey_ssave = 0x0100015d,
|
||||
Fkey_ssuspend = 0x0100015e,
|
||||
Fkey_sundo = 0x0100015f,
|
||||
Fkey_f11 = 0x01000160,
|
||||
Fkey_f12 = 0x01000161,
|
||||
Fkey_f13 = 0x01000162,
|
||||
Fkey_f14 = 0x01000163,
|
||||
Fkey_f15 = 0x01000164,
|
||||
Fkey_f16 = 0x01000165,
|
||||
Fkey_f17 = 0x01000166,
|
||||
Fkey_f18 = 0x01000167,
|
||||
Fkey_f19 = 0x01000168,
|
||||
Fkey_f20 = 0x01000169,
|
||||
Fkey_f21 = 0x0100016a,
|
||||
Fkey_f22 = 0x0100016b,
|
||||
Fkey_f23 = 0x0100016c,
|
||||
Fkey_f24 = 0x0100016d,
|
||||
Fkey_f25 = 0x0100016e,
|
||||
Fkey_f26 = 0x0100016f,
|
||||
Fkey_f27 = 0x01000170,
|
||||
Fkey_f28 = 0x01000171,
|
||||
Fkey_f29 = 0x01000172,
|
||||
Fkey_f30 = 0x01000173,
|
||||
Fkey_f31 = 0x01000174,
|
||||
Fkey_f32 = 0x01000175,
|
||||
Fkey_f33 = 0x01000176,
|
||||
Fkey_f34 = 0x01000177,
|
||||
Fkey_f35 = 0x01000178,
|
||||
Fkey_f36 = 0x01000179,
|
||||
Fkey_f37 = 0x0100017a,
|
||||
Fkey_f38 = 0x0100017b,
|
||||
Fkey_f39 = 0x0100017c,
|
||||
Fkey_f40 = 0x0100017d,
|
||||
Fkey_f41 = 0x0100017e,
|
||||
Fkey_f42 = 0x0100017f,
|
||||
Fkey_f43 = 0x01000180,
|
||||
Fkey_f44 = 0x01000181,
|
||||
Fkey_f45 = 0x01000182,
|
||||
Fkey_f46 = 0x01000183,
|
||||
Fkey_f47 = 0x01000184,
|
||||
Fkey_f48 = 0x01000185,
|
||||
Fkey_f49 = 0x01000186,
|
||||
Fkey_f50 = 0x01000187,
|
||||
Fkey_f51 = 0x01000188,
|
||||
Fkey_f52 = 0x01000189,
|
||||
Fkey_f53 = 0x0100018a,
|
||||
Fkey_f54 = 0x0100018b,
|
||||
Fkey_f55 = 0x0100018c,
|
||||
Fkey_f56 = 0x0100018d,
|
||||
Fkey_f57 = 0x0100018e,
|
||||
Fkey_f58 = 0x0100018f,
|
||||
Fkey_f59 = 0x01000190,
|
||||
Fkey_f60 = 0x01000191,
|
||||
Fkey_f61 = 0x01000192,
|
||||
Fkey_f62 = 0x01000193,
|
||||
Fkey_f63 = 0x01000194,
|
||||
need_more_data = 0x80000000
|
||||
};
|
||||
|
||||
// Keyboard - modifier key combinations
|
||||
enum metakeys
|
||||
{
|
||||
Fmkey_ic = 0x1500100, // M-insert
|
||||
Fmkey_dc = 0x1500101, // M-delete
|
||||
Fmkey_home = 0x1500102, // M-home
|
||||
Fmkey_end = 0x1500103, // M-end
|
||||
Fmkey_ppage = 0x1500104, // M-prev-page
|
||||
Fmkey_npage = 0x1500105, // M-next-page
|
||||
Fmkey_f1 = 0x1500106, // M-f1
|
||||
Fmkey_f2 = 0x1500107, // M-f2
|
||||
Fmkey_f3 = 0x1500108, // M-f3
|
||||
Fmkey_f4 = 0x1500109, // M-f4
|
||||
Fmkey_f5 = 0x150010a, // M-f5
|
||||
Fmkey_f6 = 0x150010b, // M-F6
|
||||
Fmkey_f7 = 0x150010c, // M-f7
|
||||
Fmkey_f8 = 0x150010d, // M-f8
|
||||
Fmkey_f9 = 0x150010e, // M-f9
|
||||
Fmkey_f10 = 0x150010f, // M-f10
|
||||
Fmkey_f11 = 0x1500110, // M-f11
|
||||
Fmkey_f12 = 0x1500111, // M-f12
|
||||
Fmkey_up = 0x1500112, // M-up
|
||||
Fmkey_down = 0x1500113, // M-down
|
||||
Fmkey_right = 0x1500114, // M-right
|
||||
Fmkey_left = 0x1500115, // M-left
|
||||
Fmkey_sic = 0x1500116, // shifted M-Insert
|
||||
Fmkey_sdc = 0x1500117, // shifted M-Delete
|
||||
Fmkey_shome = 0x1500118, // shifted M-Home
|
||||
Fmkey_send = 0x1500119, // shifted M-End
|
||||
Fmkey_sppage = 0x150011a, // shifted M-Page_Up
|
||||
Fmkey_snpage = 0x150011b, // shifted M-Page_Down
|
||||
Fmkey_sf1 = 0x150011c, // shifted M-F1
|
||||
Fmkey_sf2 = 0x150011d, // shifted M-F2
|
||||
Fmkey_sf3 = 0x150011e, // shifted M-F3
|
||||
Fmkey_sf4 = 0x150011f, // shifted M-F4
|
||||
Fmkey_sf5 = 0x1500120, // shifted M-F5
|
||||
Fmkey_sf6 = 0x1500121, // shifted M-F6
|
||||
Fmkey_sf7 = 0x1500122, // shifted M-F7
|
||||
Fmkey_sf8 = 0x1500123, // shifted M-F8
|
||||
Fmkey_sf9 = 0x1500124, // shifted M-F9
|
||||
Fmkey_sf10 = 0x1500125, // shifted M-F10
|
||||
Fmkey_sf11 = 0x1500126, // shifted M-F11
|
||||
Fmkey_sf12 = 0x1500127, // shifted M-F12
|
||||
Fmkey_sup = 0x1500128, // shifted M-Up
|
||||
Fmkey_sdown = 0x1500129, // shifted M-Down
|
||||
Fmkey_sright = 0x150012a, // shifted M-Right
|
||||
Fmkey_sleft = 0x150012b, // shifted M-Left
|
||||
Fckey_ic = 0x150012c, // control-Insert
|
||||
Fckey_dc = 0x150012d, // control-Delete
|
||||
Fckey_home = 0x150012e, // control-Home
|
||||
Fckey_end = 0x150012f, // control-End
|
||||
Fckey_ppage = 0x1500130, // control-Page_Up
|
||||
Fckey_npage = 0x1500131, // control-Page_Down
|
||||
Fckey_up = 0x1500132, // control-Up
|
||||
Fckey_down = 0x1500133, // control-Down
|
||||
Fckey_right = 0x1500134, // control-Right
|
||||
Fckey_left = 0x1500135, // control-Left
|
||||
Fckey_sic = 0x1500136, // shifted control-M-Insert
|
||||
Fckey_sdc = 0x1500137, // shifted control-M-Delete
|
||||
Fckey_shome = 0x1500138, // shifted control-M-Home
|
||||
Fckey_send = 0x1500139, // shifted control-M-End
|
||||
Fckey_sppage = 0x150013a, // shifted control-M-Page_Up
|
||||
Fckey_snpage = 0x150013b, // shifted control-M-Page_Down
|
||||
Fckey_sup = 0x150013c, // shifted control-M-Up
|
||||
Fckey_sdown = 0x150013d, // shifted control-M-Down
|
||||
Fckey_sright = 0x150013e, // shifted control-M-Right
|
||||
Fckey_sleft = 0x150013f, // shifted control-M-Left
|
||||
Fcmkey_ic = 0x1500140, // control-M-Insert
|
||||
Fcmkey_dc = 0x1500141, // control-M-Delete
|
||||
Fcmkey_home = 0x1500142, // control-M-Home
|
||||
Fcmkey_end = 0x1500143, // control-M-End
|
||||
Fcmkey_ppage = 0x1500144, // control-M-Page_Up
|
||||
Fcmkey_npage = 0x1500145, // control-M-Page_Down
|
||||
Fcmkey_up = 0x1500146, // control-M-Up
|
||||
Fcmkey_down = 0x1500147, // control-M-Down
|
||||
Fcmkey_right = 0x1500148, // control-M-Right
|
||||
Fcmkey_left = 0x1500149, // control-M-Left
|
||||
Fcmkey_sic = 0x150014a, // shifted control-M-Insert
|
||||
Fcmkey_sdc = 0x150014b, // shifted control-M-Delete
|
||||
Fcmkey_shome = 0x150014c, // shifted control-M-Home
|
||||
Fcmkey_send = 0x150014d, // shifted control-M-End
|
||||
Fcmkey_sppage = 0x150014e, // shifted control-M-Page_Up
|
||||
Fcmkey_snpage = 0x150014f, // shifted control-M-Page_Down
|
||||
Fcmkey_sf1 = 0x1500150, // shifted control-M-F1
|
||||
Fcmkey_sf2 = 0x1500151, // shifted control-M-F2
|
||||
Fcmkey_sf3 = 0x1500152, // shifted control-M-F3
|
||||
Fcmkey_sf4 = 0x1500153, // shifted control-M-F4
|
||||
Fcmkey_sf5 = 0x1500154, // shifted control-M-F5
|
||||
Fcmkey_sf6 = 0x1500155, // shifted control-M-F6
|
||||
Fcmkey_sf7 = 0x1500156, // shifted control-M-F7
|
||||
Fcmkey_sf8 = 0x1500157, // shifted control-M-F8
|
||||
Fcmkey_sf9 = 0x1500158, // shifted control-M-F9
|
||||
Fcmkey_sf10 = 0x1500159, // shifted control-M-F10
|
||||
Fcmkey_sf11 = 0x150015a, // shifted control-M-F11
|
||||
Fcmkey_sf12 = 0x150015b, // shifted control-M-F12
|
||||
Fcmkey_sup = 0x150015c, // shifted control-M-Up
|
||||
Fcmkey_sdown = 0x150015d, // shifted control-M-Down
|
||||
Fcmkey_sright = 0x150015e, // shifted control-M-Right
|
||||
Fcmkey_sleft = 0x150015f, // shifted control-M-Left
|
||||
Fkey_menu = 0x1600000, // menu
|
||||
Fkey_smenu = 0x1600001, // shifted menu
|
||||
Fckey_menu = 0x1600002, // control-menu
|
||||
Fckey_smenu = 0x1600003, // shifted control-menu
|
||||
Fmkey_menu = 0x1600004, // M-menu
|
||||
Fmkey_smenu = 0x1600005, // shifted M-menu
|
||||
Fcmkey_menu = 0x1600006, // control-M-menu
|
||||
Fcmkey_smenu = 0x1600007, // shifted control-M-menu
|
||||
Fkey_escape_mintty = 0x200001b, // mintty Esc
|
||||
Fkey_mouse = 0x2000020, // xterm mouse
|
||||
Fkey_extended_mouse = 0x2000021, // SGR extended mouse
|
||||
Fkey_urxvt_mouse = 0x2000022, // urxvt mouse extension
|
||||
Fmkey_meta = 0x20000e0, // meta key offset
|
||||
Fmkey_tab = 0x20000e9, // M-tab
|
||||
Fmkey_enter = 0x20000ea, // M-enter
|
||||
Fmkey_space = 0x2000100, // M-' '
|
||||
Fmkey_bang = 0x2000101, // M-!
|
||||
Fmkey_quotes = 0x2000102, // M-"
|
||||
Fmkey_hash = 0x2000103, // M-#
|
||||
Fmkey_dollar = 0x2000104, // M-$
|
||||
Fmkey_percent = 0x2000105, // M-%
|
||||
Fmkey_ampersand = 0x2000106, // M-&
|
||||
Fmkey_apostrophe = 0x2000107, // M-'
|
||||
Fmkey_left_parenthesis = 0x2000108, // M-(
|
||||
Fmkey_right_parenthesis = 0x2000109, // M-)
|
||||
Fmkey_asterisk = 0x200010a, // M-*
|
||||
Fmkey_plus = 0x200010b, // M-+
|
||||
Fmkey_comma = 0x200010c, // M-,
|
||||
Fmkey_minus = 0x200010d, // M-'-'
|
||||
Fmkey_full_stop = 0x200010e, // M-.
|
||||
Fmkey_slash = 0x200010f, // M-/
|
||||
Fmkey_0 = 0x2000110, // M-0
|
||||
Fmkey_1 = 0x2000111, // M-1
|
||||
Fmkey_2 = 0x2000112, // M-2
|
||||
Fmkey_3 = 0x2000113, // M-3
|
||||
Fmkey_4 = 0x2000114, // M-4
|
||||
Fmkey_5 = 0x2000115, // M-5
|
||||
Fmkey_6 = 0x2000116, // M-6
|
||||
Fmkey_7 = 0x2000117, // M-7
|
||||
Fmkey_8 = 0x2000118, // M-8
|
||||
Fmkey_9 = 0x2000119, // M-9
|
||||
Fmkey_colon = 0x200011a, // M-:
|
||||
Fmkey_semicolon = 0x200011b, // M-;
|
||||
Fmkey_less_than = 0x200011c, // M-<
|
||||
Fmkey_equals = 0x200011d, // M-=
|
||||
Fmkey_greater_than = 0x200011e, // M->
|
||||
Fmkey_question_mark = 0x200011f, // M-?
|
||||
Fmkey_at = 0x2000120, // M-@
|
||||
Fmkey_A = 0x2000121, // M-A
|
||||
Fmkey_B = 0x2000122, // M-B
|
||||
Fmkey_C = 0x2000123, // M-C
|
||||
Fmkey_D = 0x2000124, // M-D
|
||||
Fmkey_E = 0x2000125, // M-E
|
||||
Fmkey_F = 0x2000126, // M-F
|
||||
Fmkey_G = 0x2000127, // M-G
|
||||
Fmkey_H = 0x2000128, // M-H
|
||||
Fmkey_I = 0x2000129, // M-I
|
||||
Fmkey_J = 0x200012a, // M-J
|
||||
Fmkey_K = 0x200012b, // M-K
|
||||
Fmkey_L = 0x200012c, // M-L
|
||||
Fmkey_M = 0x200012d, // M-M
|
||||
Fmkey_N = 0x200012e, // M-N
|
||||
Fmkey_O = 0x200012f, // M-O
|
||||
Fmkey_P = 0x2000130, // M-P
|
||||
Fmkey_Q = 0x2000131, // M-Q
|
||||
Fmkey_R = 0x2000132, // M-R
|
||||
Fmkey_S = 0x2000133, // M-S
|
||||
Fmkey_T = 0x2000134, // M-T
|
||||
Fmkey_U = 0x2000135, // M-U
|
||||
Fmkey_V = 0x2000136, // M-V
|
||||
Fmkey_W = 0x2000137, // M-W
|
||||
Fmkey_X = 0x2000138, // M-X
|
||||
Fmkey_Y = 0x2000139, // M-Y
|
||||
Fmkey_Z = 0x200013a, // M-Z
|
||||
Fmkey_left_square_bracket = 0x200013b, // M-[
|
||||
Fmkey_backslash = 0x200013c, // M-'\'
|
||||
Fmkey_right_square_bracket = 0x200013d, // M-]
|
||||
Fmkey_caret = 0x200013e, // M-^
|
||||
Fmkey_underscore = 0x200013f, // M-_
|
||||
Fmkey_grave_accent = 0x2000140, // M-`
|
||||
Fmkey_a = 0x2000141, // M-a
|
||||
Fmkey_b = 0x2000142, // M-b
|
||||
Fmkey_c = 0x2000143, // M-c
|
||||
Fmkey_d = 0x2000144, // M-d
|
||||
Fmkey_e = 0x2000145, // M-e
|
||||
Fmkey_f = 0x2000146, // M-f
|
||||
Fmkey_g = 0x2000147, // M-g
|
||||
Fmkey_h = 0x2000148, // M-h
|
||||
Fmkey_i = 0x2000149, // M-i
|
||||
Fmkey_j = 0x200014a, // M-j
|
||||
Fmkey_k = 0x200014b, // M-k
|
||||
Fmkey_l = 0x200014c, // M-l
|
||||
Fmkey_m = 0x200014d, // M-m
|
||||
Fmkey_n = 0x200014e, // M-n
|
||||
Fmkey_o = 0x200014f, // M-o
|
||||
Fmkey_p = 0x2000150, // M-p
|
||||
Fmkey_q = 0x2000151, // M-q
|
||||
Fmkey_r = 0x2000152, // M-r
|
||||
Fmkey_s = 0x2000153, // M-s
|
||||
Fmkey_t = 0x2000154, // M-t
|
||||
Fmkey_u = 0x2000155, // M-u
|
||||
Fmkey_v = 0x2000156, // M-v
|
||||
Fmkey_w = 0x2000157, // M-w
|
||||
Fmkey_x = 0x2000158, // M-x
|
||||
Fmkey_y = 0x2000159, // M-y
|
||||
Fmkey_z = 0x200015a, // M-z
|
||||
Fmkey_left_curly_bracket = 0x200015b, // M-{
|
||||
Fmkey_vertical_bar = 0x200015c, // M-|
|
||||
Fmkey_right_curly_bracket = 0x200015d, // M-}
|
||||
Fmkey_tilde = 0x200015e // M-~
|
||||
Fmkey_ic = 0x01500100, // M-insert
|
||||
Fmkey_dc = 0x01500101, // M-delete
|
||||
Fmkey_home = 0x01500102, // M-home
|
||||
Fmkey_end = 0x01500103, // M-end
|
||||
Fmkey_ppage = 0x01500104, // M-prev-page
|
||||
Fmkey_npage = 0x01500105, // M-next-page
|
||||
Fmkey_f1 = 0x01500106, // M-f1
|
||||
Fmkey_f2 = 0x01500107, // M-f2
|
||||
Fmkey_f3 = 0x01500108, // M-f3
|
||||
Fmkey_f4 = 0x01500109, // M-f4
|
||||
Fmkey_f5 = 0x0150010a, // M-f5
|
||||
Fmkey_f6 = 0x0150010b, // M-F6
|
||||
Fmkey_f7 = 0x0150010c, // M-f7
|
||||
Fmkey_f8 = 0x0150010d, // M-f8
|
||||
Fmkey_f9 = 0x0150010e, // M-f9
|
||||
Fmkey_f10 = 0x0150010f, // M-f10
|
||||
Fmkey_f11 = 0x01500110, // M-f11
|
||||
Fmkey_f12 = 0x01500111, // M-f12
|
||||
Fmkey_up = 0x01500112, // M-up
|
||||
Fmkey_down = 0x01500113, // M-down
|
||||
Fmkey_right = 0x01500114, // M-right
|
||||
Fmkey_left = 0x01500115, // M-left
|
||||
Fmkey_sic = 0x01500116, // shifted M-Insert
|
||||
Fmkey_sdc = 0x01500117, // shifted M-Delete
|
||||
Fmkey_shome = 0x01500118, // shifted M-Home
|
||||
Fmkey_send = 0x01500119, // shifted M-End
|
||||
Fmkey_sppage = 0x0150011a, // shifted M-Page_Up
|
||||
Fmkey_snpage = 0x0150011b, // shifted M-Page_Down
|
||||
Fmkey_sf1 = 0x0150011c, // shifted M-F1
|
||||
Fmkey_sf2 = 0x0150011d, // shifted M-F2
|
||||
Fmkey_sf3 = 0x0150011e, // shifted M-F3
|
||||
Fmkey_sf4 = 0x0150011f, // shifted M-F4
|
||||
Fmkey_sf5 = 0x01500120, // shifted M-F5
|
||||
Fmkey_sf6 = 0x01500121, // shifted M-F6
|
||||
Fmkey_sf7 = 0x01500122, // shifted M-F7
|
||||
Fmkey_sf8 = 0x01500123, // shifted M-F8
|
||||
Fmkey_sf9 = 0x01500124, // shifted M-F9
|
||||
Fmkey_sf10 = 0x01500125, // shifted M-F10
|
||||
Fmkey_sf11 = 0x01500126, // shifted M-F11
|
||||
Fmkey_sf12 = 0x01500127, // shifted M-F12
|
||||
Fmkey_sup = 0x01500128, // shifted M-Up
|
||||
Fmkey_sdown = 0x01500129, // shifted M-Down
|
||||
Fmkey_sright = 0x0150012a, // shifted M-Right
|
||||
Fmkey_sleft = 0x0150012b, // shifted M-Left
|
||||
Fckey_ic = 0x0150012c, // control-Insert
|
||||
Fckey_dc = 0x0150012d, // control-Delete
|
||||
Fckey_home = 0x0150012e, // control-Home
|
||||
Fckey_end = 0x0150012f, // control-End
|
||||
Fckey_ppage = 0x01500130, // control-Page_Up
|
||||
Fckey_npage = 0x01500131, // control-Page_Down
|
||||
Fckey_up = 0x01500132, // control-Up
|
||||
Fckey_down = 0x01500133, // control-Down
|
||||
Fckey_right = 0x01500134, // control-Right
|
||||
Fckey_left = 0x01500135, // control-Left
|
||||
Fckey_sic = 0x01500136, // shifted control-M-Insert
|
||||
Fckey_sdc = 0x01500137, // shifted control-M-Delete
|
||||
Fckey_shome = 0x01500138, // shifted control-M-Home
|
||||
Fckey_send = 0x01500139, // shifted control-M-End
|
||||
Fckey_sppage = 0x0150013a, // shifted control-M-Page_Up
|
||||
Fckey_snpage = 0x0150013b, // shifted control-M-Page_Down
|
||||
Fckey_sup = 0x0150013c, // shifted control-M-Up
|
||||
Fckey_sdown = 0x0150013d, // shifted control-M-Down
|
||||
Fckey_sright = 0x0150013e, // shifted control-M-Right
|
||||
Fckey_sleft = 0x0150013f, // shifted control-M-Left
|
||||
Fcmkey_ic = 0x01500140, // control-M-Insert
|
||||
Fcmkey_dc = 0x01500141, // control-M-Delete
|
||||
Fcmkey_home = 0x01500142, // control-M-Home
|
||||
Fcmkey_end = 0x01500143, // control-M-End
|
||||
Fcmkey_ppage = 0x01500144, // control-M-Page_Up
|
||||
Fcmkey_npage = 0x01500145, // control-M-Page_Down
|
||||
Fcmkey_up = 0x01500146, // control-M-Up
|
||||
Fcmkey_down = 0x01500147, // control-M-Down
|
||||
Fcmkey_right = 0x01500148, // control-M-Right
|
||||
Fcmkey_left = 0x01500149, // control-M-Left
|
||||
Fcmkey_sic = 0x0150014a, // shifted control-M-Insert
|
||||
Fcmkey_sdc = 0x0150014b, // shifted control-M-Delete
|
||||
Fcmkey_shome = 0x0150014c, // shifted control-M-Home
|
||||
Fcmkey_send = 0x0150014d, // shifted control-M-End
|
||||
Fcmkey_sppage = 0x0150014e, // shifted control-M-Page_Up
|
||||
Fcmkey_snpage = 0x0150014f, // shifted control-M-Page_Down
|
||||
Fcmkey_sf1 = 0x01500150, // shifted control-M-F1
|
||||
Fcmkey_sf2 = 0x01500151, // shifted control-M-F2
|
||||
Fcmkey_sf3 = 0x01500152, // shifted control-M-F3
|
||||
Fcmkey_sf4 = 0x01500153, // shifted control-M-F4
|
||||
Fcmkey_sf5 = 0x01500154, // shifted control-M-F5
|
||||
Fcmkey_sf6 = 0x01500155, // shifted control-M-F6
|
||||
Fcmkey_sf7 = 0x01500156, // shifted control-M-F7
|
||||
Fcmkey_sf8 = 0x01500157, // shifted control-M-F8
|
||||
Fcmkey_sf9 = 0x01500158, // shifted control-M-F9
|
||||
Fcmkey_sf10 = 0x01500159, // shifted control-M-F10
|
||||
Fcmkey_sf11 = 0x0150015a, // shifted control-M-F11
|
||||
Fcmkey_sf12 = 0x0150015b, // shifted control-M-F12
|
||||
Fcmkey_sup = 0x0150015c, // shifted control-M-Up
|
||||
Fcmkey_sdown = 0x0150015d, // shifted control-M-Down
|
||||
Fcmkey_sright = 0x0150015e, // shifted control-M-Right
|
||||
Fcmkey_sleft = 0x0150015f, // shifted control-M-Left
|
||||
Fkey_menu = 0x01600000, // menu
|
||||
Fkey_smenu = 0x01600001, // shifted menu
|
||||
Fckey_menu = 0x01600002, // control-menu
|
||||
Fckey_smenu = 0x01600003, // shifted control-menu
|
||||
Fmkey_menu = 0x01600004, // M-menu
|
||||
Fmkey_smenu = 0x01600005, // shifted M-menu
|
||||
Fcmkey_menu = 0x01600006, // control-M-menu
|
||||
Fcmkey_smenu = 0x01600007, // shifted control-M-menu
|
||||
Fkey_escape_mintty = 0x0200001b, // mintty Esc
|
||||
Fkey_mouse = 0x02000020, // xterm mouse
|
||||
Fkey_extended_mouse = 0x02000021, // SGR extended mouse
|
||||
Fkey_urxvt_mouse = 0x02000022, // urxvt mouse extension
|
||||
Fmkey_meta = 0x020000e0, // meta key offset
|
||||
Fmkey_tab = 0x020000e9, // M-tab
|
||||
Fmkey_enter = 0x020000ea, // M-enter
|
||||
Fmkey_space = 0x02000100, // M-' '
|
||||
Fmkey_bang = 0x02000101, // M-!
|
||||
Fmkey_quotes = 0x02000102, // M-"
|
||||
Fmkey_hash = 0x02000103, // M-#
|
||||
Fmkey_dollar = 0x02000104, // M-$
|
||||
Fmkey_percent = 0x02000105, // M-%
|
||||
Fmkey_ampersand = 0x02000106, // M-&
|
||||
Fmkey_apostrophe = 0x02000107, // M-'
|
||||
Fmkey_left_parenthesis = 0x02000108, // M-(
|
||||
Fmkey_right_parenthesis = 0x02000109, // M-)
|
||||
Fmkey_asterisk = 0x0200010a, // M-*
|
||||
Fmkey_plus = 0x0200010b, // M-+
|
||||
Fmkey_comma = 0x0200010c, // M-,
|
||||
Fmkey_minus = 0x0200010d, // M-'-'
|
||||
Fmkey_full_stop = 0x0200010e, // M-.
|
||||
Fmkey_slash = 0x0200010f, // M-/
|
||||
Fmkey_0 = 0x02000110, // M-0
|
||||
Fmkey_1 = 0x02000111, // M-1
|
||||
Fmkey_2 = 0x02000112, // M-2
|
||||
Fmkey_3 = 0x02000113, // M-3
|
||||
Fmkey_4 = 0x02000114, // M-4
|
||||
Fmkey_5 = 0x02000115, // M-5
|
||||
Fmkey_6 = 0x02000116, // M-6
|
||||
Fmkey_7 = 0x02000117, // M-7
|
||||
Fmkey_8 = 0x02000118, // M-8
|
||||
Fmkey_9 = 0x02000119, // M-9
|
||||
Fmkey_colon = 0x0200011a, // M-:
|
||||
Fmkey_semicolon = 0x0200011b, // M-;
|
||||
Fmkey_less_than = 0x0200011c, // M-<
|
||||
Fmkey_equals = 0x0200011d, // M-=
|
||||
Fmkey_greater_than = 0x0200011e, // M->
|
||||
Fmkey_question_mark = 0x0200011f, // M-?
|
||||
Fmkey_at = 0x02000120, // M-@
|
||||
Fmkey_A = 0x02000121, // M-A
|
||||
Fmkey_B = 0x02000122, // M-B
|
||||
Fmkey_C = 0x02000123, // M-C
|
||||
Fmkey_D = 0x02000124, // M-D
|
||||
Fmkey_E = 0x02000125, // M-E
|
||||
Fmkey_F = 0x02000126, // M-F
|
||||
Fmkey_G = 0x02000127, // M-G
|
||||
Fmkey_H = 0x02000128, // M-H
|
||||
Fmkey_I = 0x02000129, // M-I
|
||||
Fmkey_J = 0x0200012a, // M-J
|
||||
Fmkey_K = 0x0200012b, // M-K
|
||||
Fmkey_L = 0x0200012c, // M-L
|
||||
Fmkey_M = 0x0200012d, // M-M
|
||||
Fmkey_N = 0x0200012e, // M-N
|
||||
Fmkey_O = 0x0200012f, // M-O
|
||||
Fmkey_P = 0x02000130, // M-P
|
||||
Fmkey_Q = 0x02000131, // M-Q
|
||||
Fmkey_R = 0x02000132, // M-R
|
||||
Fmkey_S = 0x02000133, // M-S
|
||||
Fmkey_T = 0x02000134, // M-T
|
||||
Fmkey_U = 0x02000135, // M-U
|
||||
Fmkey_V = 0x02000136, // M-V
|
||||
Fmkey_W = 0x02000137, // M-W
|
||||
Fmkey_X = 0x02000138, // M-X
|
||||
Fmkey_Y = 0x02000139, // M-Y
|
||||
Fmkey_Z = 0x0200013a, // M-Z
|
||||
Fmkey_left_square_bracket = 0x0200013b, // M-[
|
||||
Fmkey_backslash = 0x0200013c, // M-'\'
|
||||
Fmkey_right_square_bracket = 0x0200013d, // M-]
|
||||
Fmkey_caret = 0x0200013e, // M-^
|
||||
Fmkey_underscore = 0x0200013f, // M-_
|
||||
Fmkey_grave_accent = 0x02000140, // M-`
|
||||
Fmkey_a = 0x02000141, // M-a
|
||||
Fmkey_b = 0x02000142, // M-b
|
||||
Fmkey_c = 0x02000143, // M-c
|
||||
Fmkey_d = 0x02000144, // M-d
|
||||
Fmkey_e = 0x02000145, // M-e
|
||||
Fmkey_f = 0x02000146, // M-f
|
||||
Fmkey_g = 0x02000147, // M-g
|
||||
Fmkey_h = 0x02000148, // M-h
|
||||
Fmkey_i = 0x02000149, // M-i
|
||||
Fmkey_j = 0x0200014a, // M-j
|
||||
Fmkey_k = 0x0200014b, // M-k
|
||||
Fmkey_l = 0x0200014c, // M-l
|
||||
Fmkey_m = 0x0200014d, // M-m
|
||||
Fmkey_n = 0x0200014e, // M-n
|
||||
Fmkey_o = 0x0200014f, // M-o
|
||||
Fmkey_p = 0x02000150, // M-p
|
||||
Fmkey_q = 0x02000151, // M-q
|
||||
Fmkey_r = 0x02000152, // M-r
|
||||
Fmkey_s = 0x02000153, // M-s
|
||||
Fmkey_t = 0x02000154, // M-t
|
||||
Fmkey_u = 0x02000155, // M-u
|
||||
Fmkey_v = 0x02000156, // M-v
|
||||
Fmkey_w = 0x02000157, // M-w
|
||||
Fmkey_x = 0x02000158, // M-x
|
||||
Fmkey_y = 0x02000159, // M-y
|
||||
Fmkey_z = 0x0200015a, // M-z
|
||||
Fmkey_left_curly_bracket = 0x0200015b, // M-{
|
||||
Fmkey_vertical_bar = 0x0200015c, // M-|
|
||||
Fmkey_right_curly_bracket = 0x0200015d, // M-}
|
||||
Fmkey_tilde = 0x0200015e // M-~
|
||||
};
|
||||
|
||||
// Console color names
|
||||
|
|
|
@ -113,16 +113,16 @@ class FEvent // event base class
|
|||
class FKeyEvent : public FEvent // keyboard event
|
||||
{
|
||||
public:
|
||||
FKeyEvent (int, int);
|
||||
FKeyEvent (int, FKey);
|
||||
~FKeyEvent();
|
||||
|
||||
int key() const;
|
||||
FKey key() const;
|
||||
bool isAccepted() const;
|
||||
void accept();
|
||||
void ignore();
|
||||
|
||||
protected:
|
||||
int k;
|
||||
FKey k;
|
||||
bool accpt;
|
||||
};
|
||||
|
||||
|
|
|
@ -97,8 +97,8 @@ class FKeyboard
|
|||
|
||||
// Accessors
|
||||
virtual const char* getClassName() const;
|
||||
int getKey();
|
||||
const FString getKeyName (int);
|
||||
FKey getKey();
|
||||
const FString getKeyName (FKey);
|
||||
keybuffer& getKeyBuffer();
|
||||
timeval* getKeyPressedTime();
|
||||
|
||||
|
@ -131,8 +131,8 @@ class FKeyboard
|
|||
|
||||
private:
|
||||
// Constants
|
||||
static const int NEED_MORE_DATA = -1;
|
||||
static const std::size_t READ_BUF_SIZE = 1024;
|
||||
static const FKey NOT_SET = static_cast<FKey>(-1);
|
||||
|
||||
// Disable copy constructor
|
||||
FKeyboard (const FKeyboard&);
|
||||
|
@ -141,10 +141,10 @@ class FKeyboard
|
|||
FKeyboard& operator = (const FKeyboard&);
|
||||
|
||||
// Accessors
|
||||
int getMouseProtocolKey();
|
||||
int getTermcapKey();
|
||||
int getMetaKey();
|
||||
int getSingleKey();
|
||||
FKey getMouseProtocolKey();
|
||||
FKey getTermcapKey();
|
||||
FKey getMetaKey();
|
||||
FKey getSingleKey();
|
||||
|
||||
// Mutators
|
||||
bool setNonBlockingInput (bool);
|
||||
|
@ -155,18 +155,18 @@ class FKeyboard
|
|||
static bool isKeypressTimeout();
|
||||
|
||||
// Methods
|
||||
int UTF8decode (const char[]);
|
||||
FKey UTF8decode (const char[]);
|
||||
ssize_t readKey();
|
||||
void parseKeyBuffer();
|
||||
int parseKeyString();
|
||||
int keyCorrection (const int&);
|
||||
FKey parseKeyString();
|
||||
FKey keyCorrection (const FKey&);
|
||||
void substringKeyHandling();
|
||||
void keyPressed();
|
||||
void keyReleased();
|
||||
void escapeKeyPressed();
|
||||
|
||||
// Data Members
|
||||
int key;
|
||||
FKey key;
|
||||
char read_buf[READ_BUF_SIZE];
|
||||
char fifo_buf[FIFO_BUF_SIZE];
|
||||
int fifo_offset;
|
||||
|
@ -197,7 +197,7 @@ inline const char* FKeyboard::getClassName() const
|
|||
{ return "FKeyboard"; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline int FKeyboard::getKey()
|
||||
inline FKey FKeyboard::getKey()
|
||||
{ return key; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -165,7 +165,7 @@ class FLineEdit : public FWidget
|
|||
void keyBackspace();
|
||||
void keyInsert();
|
||||
void keyEnter();
|
||||
bool keyInput (int);
|
||||
bool keyInput (FKey);
|
||||
void processActivate();
|
||||
void processChanged();
|
||||
|
||||
|
|
|
@ -285,7 +285,7 @@ class FListBox : public FWidget
|
|||
bool keySpace();
|
||||
bool keyInsert();
|
||||
bool keyBackspace();
|
||||
bool keyIncSearchInput (int);
|
||||
bool keyIncSearchInput (FKey);
|
||||
void processClick();
|
||||
void processSelect();
|
||||
void processChanged();
|
||||
|
|
|
@ -210,7 +210,7 @@ class FMenu : public FWindow, public FMenuList
|
|||
void drawCheckMarkPrefix (FMenuItem*);
|
||||
void drawMenuText (menuText&);
|
||||
void drawSubMenuIndicator (std::size_t&);
|
||||
void drawAcceleratorKey (std::size_t&, int);
|
||||
void drawAcceleratorKey (std::size_t&, FKey);
|
||||
void drawTrailingSpaces (std::size_t);
|
||||
void setLineAttributes (FMenuItem*, int);
|
||||
void setCursorToHotkeyPosition (FMenuItem*);
|
||||
|
|
|
@ -84,14 +84,14 @@ class FMenuItem : public FWidget
|
|||
// Constructor
|
||||
explicit FMenuItem (FWidget* = 0);
|
||||
explicit FMenuItem (const FString&, FWidget* = 0);
|
||||
FMenuItem (int, const FString&, FWidget* = 0);
|
||||
FMenuItem (FKey, const FString&, FWidget* = 0);
|
||||
|
||||
// Destructor
|
||||
virtual ~FMenuItem();
|
||||
|
||||
// Accessors
|
||||
const char* getClassName() const;
|
||||
int getHotkey() const;
|
||||
uChar getHotkey() const;
|
||||
FMenu* getMenu() const;
|
||||
std::size_t getTextLength() const;
|
||||
FString getText() const;
|
||||
|
@ -118,7 +118,7 @@ class FMenuItem : public FWidget
|
|||
bool hasMenu() const;
|
||||
|
||||
// Methods
|
||||
virtual void addAccelerator (int, FWidget*);
|
||||
virtual void addAccelerator (FKey, FWidget*);
|
||||
virtual void delAccelerator (FWidget*);
|
||||
void openMenu();
|
||||
|
||||
|
@ -153,8 +153,8 @@ class FMenuItem : public FWidget
|
|||
bool radio_button;
|
||||
bool dialog_index;
|
||||
std::size_t text_length;
|
||||
int hotkey;
|
||||
int accel_key;
|
||||
uChar hotkey;
|
||||
FKey accel_key;
|
||||
FMenu* menu;
|
||||
FWidget* super_menu;
|
||||
FDialog* associated_window;
|
||||
|
@ -199,7 +199,7 @@ inline const char* FMenuItem::getClassName() const
|
|||
{ return "FMenuItem"; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline int FMenuItem::getHotkey() const
|
||||
inline uChar FMenuItem::getHotkey() const
|
||||
{ return hotkey; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -81,18 +81,18 @@ class FStatusKey : public FWidget
|
|||
public:
|
||||
// Constructors
|
||||
explicit FStatusKey (FWidget* = 0);
|
||||
FStatusKey (int, const FString&, FWidget* = 0);
|
||||
FStatusKey (FKey, const FString&, FWidget* = 0);
|
||||
|
||||
// Destructor
|
||||
virtual ~FStatusKey();
|
||||
|
||||
// Accessors
|
||||
virtual const char* getClassName() const;
|
||||
virtual int getKey() const;
|
||||
virtual FKey getKey() const;
|
||||
virtual FString getText() const;
|
||||
|
||||
// Mutators
|
||||
void setKey (int);
|
||||
void setKey (FKey);
|
||||
void setText (const FString&);
|
||||
void setActive();
|
||||
void unsetActive();
|
||||
|
@ -124,7 +124,7 @@ class FStatusKey : public FWidget
|
|||
friend class FStatusBar;
|
||||
|
||||
// Data Members
|
||||
int key;
|
||||
FKey key;
|
||||
FString text;
|
||||
bool active;
|
||||
bool mouse_focus;
|
||||
|
@ -139,7 +139,7 @@ inline const char* FStatusKey::getClassName() const
|
|||
{ return "FStatusKey"; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline int FStatusKey::getKey() const
|
||||
inline FKey FStatusKey::getKey() const
|
||||
{ return key; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -147,7 +147,7 @@ inline FString FStatusKey::getText() const
|
|||
{ return text; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline void FStatusKey::setKey (int k)
|
||||
inline void FStatusKey::setKey (FKey k)
|
||||
{ key = k; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -171,7 +171,7 @@ class FTerm
|
|||
static FMouseControl* getMouseControl();
|
||||
static std::size_t getLineNumber();
|
||||
static std::size_t getColumnNumber();
|
||||
static const FString getKeyName (int);
|
||||
static const FString getKeyName (FKey);
|
||||
static FOptiMove* getFOptiMove();
|
||||
|
||||
static int getTTYFileDescriptor();
|
||||
|
|
|
@ -66,6 +66,13 @@ class FTermDebugData
|
|||
void setFTermData (FTermData*);
|
||||
|
||||
private:
|
||||
// Disable copy constructor
|
||||
FTermDebugData (const FTermDebugData&);
|
||||
|
||||
// Disable assignment operator (=)
|
||||
FTermDebugData& operator = (const FTermDebugData&);
|
||||
|
||||
// Data Members
|
||||
FTermDetection* term_detection;
|
||||
FTermData* data;
|
||||
};
|
||||
|
|
|
@ -105,7 +105,7 @@ class FTermLinux
|
|||
static void setBeep (int, int);
|
||||
static void resetBeep();
|
||||
static char* restoreCursorStyle();
|
||||
static int modifierKeyCorrection (const int&);
|
||||
static FKey modifierKeyCorrection (const FKey&);
|
||||
|
||||
private:
|
||||
// Typedef
|
||||
|
@ -159,13 +159,13 @@ class FTermLinux
|
|||
static bool saveVGAPalette();
|
||||
static bool resetVGAPalette();
|
||||
#endif // defined(__x86_64__) || defined(__i386) || defined(__arm__)
|
||||
static int shiftKeyCorrection (const int&);
|
||||
static int ctrlKeyCorrection (const int&);
|
||||
static int altKeyCorrection (const int&);
|
||||
static int shiftCtrlKeyCorrection (const int&);
|
||||
static int shiftAltKeyCorrection (const int&);
|
||||
static int ctrlAltKeyCorrection (const int&);
|
||||
static int shiftCtrlAltKeyCorrection (const int&);
|
||||
static FKey shiftKeyCorrection (const FKey&);
|
||||
static FKey ctrlKeyCorrection (const FKey&);
|
||||
static FKey altKeyCorrection (const FKey&);
|
||||
static FKey shiftCtrlKeyCorrection (const FKey&);
|
||||
static FKey shiftAltKeyCorrection (const FKey&);
|
||||
static FKey ctrlAltKeyCorrection (const FKey&);
|
||||
static FKey shiftCtrlAltKeyCorrection (const FKey&);
|
||||
|
||||
// Data Members
|
||||
#if defined(__linux__)
|
||||
|
|
|
@ -56,6 +56,7 @@ typedef int64_t sInt64;
|
|||
typedef long double lDouble;
|
||||
|
||||
typedef uInt16 FColor;
|
||||
typedef uInt32 FKey;
|
||||
|
||||
} // namespace
|
||||
|
||||
|
@ -93,7 +94,7 @@ namespace fc
|
|||
#pragma pack(1)
|
||||
typedef struct
|
||||
{
|
||||
int num;
|
||||
FKey num;
|
||||
char* string;
|
||||
char tname[4];
|
||||
}
|
||||
|
@ -101,14 +102,14 @@ fkeymap;
|
|||
|
||||
typedef struct
|
||||
{
|
||||
int num;
|
||||
FKey num;
|
||||
char string[8];
|
||||
}
|
||||
fmetakeymap;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int num;
|
||||
FKey num;
|
||||
char string[25];
|
||||
}
|
||||
keyname;
|
||||
|
|
|
@ -138,7 +138,7 @@ class FVTerm
|
|||
static int getTabstop();
|
||||
static fc::encoding getEncoding();
|
||||
static std::string getEncodingString();
|
||||
static const FString getKeyName (int);
|
||||
static const FString getKeyName (FKey);
|
||||
static char* getTermType();
|
||||
static char* getTermFileName();
|
||||
FTerm& getFTerm();
|
||||
|
@ -637,7 +637,7 @@ inline std::string FVTerm::getEncodingString()
|
|||
{ return FTerm::getEncodingString(); }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline const FString FVTerm::getKeyName (int keynum)
|
||||
inline const FString FVTerm::getKeyName (FKey keynum)
|
||||
{ return FTerm::getKeyName(keynum); }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -132,7 +132,7 @@ class FWidget : public FVTerm, public FObject
|
|||
|
||||
struct accelerator
|
||||
{
|
||||
int key;
|
||||
FKey key;
|
||||
FWidget* object;
|
||||
};
|
||||
|
||||
|
@ -310,8 +310,8 @@ class FWidget : public FVTerm, public FObject
|
|||
void delCallback (FWidget*);
|
||||
void delCallbacks();
|
||||
void emitCallback (const FString&);
|
||||
void addAccelerator (int);
|
||||
virtual void addAccelerator (int, FWidget*);
|
||||
void addAccelerator (FKey);
|
||||
virtual void addAccelerator (FKey, FWidget*);
|
||||
void delAccelerator ();
|
||||
virtual void delAccelerator (FWidget*);
|
||||
virtual void redraw();
|
||||
|
@ -932,7 +932,7 @@ inline void FWidget::clearStatusbarMessage()
|
|||
{ statusbar_message.clear(); }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline void FWidget::addAccelerator (int key)
|
||||
inline void FWidget::addAccelerator (FKey key)
|
||||
{ addAccelerator (key, this); }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -275,9 +275,9 @@ class FKeyboardTest : public CPPUNIT_NS::TestFixture
|
|||
void escapeKeyPressed();
|
||||
|
||||
// Data Members
|
||||
int key_pressed;
|
||||
int key_released;
|
||||
int number_of_keys;
|
||||
FKey key_pressed;
|
||||
FKey key_released;
|
||||
int number_of_keys;
|
||||
finalcut::FKeyboard* keyboard;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
@ -2754,10 +2754,10 @@ void FKeyboardTest::utf8Test()
|
|||
CPPUNIT_ASSERT ( key_pressed == 0x0040 );
|
||||
|
||||
// Invalid UTF-8
|
||||
key_pressed = -5;
|
||||
key_pressed = 0xffffffff;
|
||||
input("\377");
|
||||
processInput();
|
||||
CPPUNIT_ASSERT ( key_pressed == -5 );
|
||||
CPPUNIT_ASSERT ( key_pressed == 0xffffffff );
|
||||
|
||||
// Without UTF-8 support
|
||||
keyboard->disableUTF8();
|
||||
|
|
Loading…
Reference in New Issue