📄 keyboardwidget_internal.h
字号:
#ifndef KEYBOARD_WIDGET_INTERNAL_H#define KEYBOARD_WIDGET_INTERNAL_H#include "keyboard_layouts.h"#include <qwidget.h>class QImage;namespace archos {class KeyboardWidgetInternal : public QWidget { Q_OBJECT public: KeyboardWidgetInternal( QWidget *parent ); virtual ~KeyboardWidgetInternal(); void setReceiver( QWidget* receiver ); virtual bool eventFilter( QObject *obj, QEvent *evt ); virtual int heightForWidth( int w ) const; signals: void enterPressed(); protected: virtual void paintEvent( QPaintEvent *evt ); virtual void keyPressEvent( QKeyEvent *evt ); virtual void keyReleaseEvent( QKeyEvent *evt ); virtual void mousePressEvent( QMouseEvent *evt ); virtual void mouseReleaseEvent( QMouseEvent *evt ); virtual void mouseMoveEvent( QMouseEvent *evt ); virtual void timerEvent( QTimerEvent *evt ); private: const Layout *m_layout; QWidget *m_tgt; int m_selection, m_selection_bak, m_modifier; bool m_ignore_event; QRect areaFor( int index ) const; int indexAt( int xpos, int ypos ) const; bool isValidKey( wchar key ) const; wchar getKey( int index, int modifier ) const; QString getKeyLabel( wchar key, QImage **icon, bool blue, bool disabled ) const; void displayKeyLabel( QPainter *p, int index, int modifier, const QRect &area ) const; void displayKey( QPainter *p, int index ) const; QRect displayButton( QPainter *p, int index ) const; const Layout* getLayout() const; void reset(); void toggleModifier(); void toggleArea(); void handleOkPressed( bool autorepeat ); void moveSelection( int dir ); void sendKey( wchar key, bool autorepeat );};}#endif // KEYBOARD_WIDGET_INTERNAL_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -