mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-06 21:21:17 -07:00
add: Home (Pos1) and End key bindings in graph GUI (based on @mcd1992 change on RRG repo) (#823)
This commit is contained in:
parent
2378bb24c3
commit
5f18b0c45d
3 changed files with 32 additions and 20 deletions
|
@ -32,6 +32,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
|
||||||
- Added `hf mfp ndef` `hf mf ndef` parsing NDEF records (Merlok)
|
- Added `hf mfp ndef` `hf mf ndef` parsing NDEF records (Merlok)
|
||||||
- Added Mifare Mini, Mifare 2K and 4K support to `hf mf sim` (piwi)
|
- Added Mifare Mini, Mifare 2K and 4K support to `hf mf sim` (piwi)
|
||||||
- Added Legic detection to `hf search` (dnet)
|
- Added Legic detection to `hf search` (dnet)
|
||||||
|
- Added Home (Pos1) and End key bindings to the plot GUI (based on @mcd1992)
|
||||||
|
|
||||||
## [v3.1.0][2018-10-10]
|
## [v3.1.0][2018-10-10]
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,8 @@ extern "C" {
|
||||||
|
|
||||||
bool g_useOverlays = false;
|
bool g_useOverlays = false;
|
||||||
int g_absVMax = 0;
|
int g_absVMax = 0;
|
||||||
int startMax;
|
int startMax; // Maximum offset in the graph (right side of graph)
|
||||||
int PageWidth;
|
int PageWidth; // How many samples are currently visible on this 'page' / graph
|
||||||
int unlockStart = 0;
|
int unlockStart = 0;
|
||||||
|
|
||||||
void ProxGuiQT::ShowGraphWindow(void)
|
void ProxGuiQT::ShowGraphWindow(void)
|
||||||
|
@ -134,8 +134,8 @@ ProxGuiQT::~ProxGuiQT(void)
|
||||||
{
|
{
|
||||||
//if (plotwidget) {
|
//if (plotwidget) {
|
||||||
//plotwidget->destroy(true,true);
|
//plotwidget->destroy(true,true);
|
||||||
// delete plotwidget;
|
// delete plotwidget;
|
||||||
// plotwidget = NULL;
|
// plotwidget = NULL;
|
||||||
//}
|
//}
|
||||||
if (plotapp) {
|
if (plotapp) {
|
||||||
plotapp->quit();
|
plotapp->quit();
|
||||||
|
@ -509,8 +509,9 @@ void Plot::paintEvent(QPaintEvent *event)
|
||||||
if(CursorDPos > GraphTraceLen)
|
if(CursorDPos > GraphTraceLen)
|
||||||
CursorDPos= 0;
|
CursorDPos= 0;
|
||||||
|
|
||||||
QRect plotRect(WIDTH_AXES, 0, width()-WIDTH_AXES, height()-HEIGHT_INFO);
|
QRect plotRect(WIDTH_AXES, 0, width() - WIDTH_AXES, height() - HEIGHT_INFO);
|
||||||
QRect infoRect(0, height()-HEIGHT_INFO, width(), HEIGHT_INFO);
|
QRect infoRect(0, height() - HEIGHT_INFO, width(), HEIGHT_INFO);
|
||||||
|
PageWidth = plotRect.width() / GraphPixelsPerPoint;
|
||||||
|
|
||||||
//Grey background
|
//Grey background
|
||||||
painter.fillRect(rect(), QColor(60, 60, 60));
|
painter.fillRect(rect(), QColor(60, 60, 60));
|
||||||
|
@ -529,7 +530,7 @@ void Plot::paintEvent(QPaintEvent *event)
|
||||||
|
|
||||||
//Start painting graph
|
//Start painting graph
|
||||||
PlotGraph(GraphBuffer, GraphTraceLen,plotRect,infoRect,&painter,0);
|
PlotGraph(GraphBuffer, GraphTraceLen,plotRect,infoRect,&painter,0);
|
||||||
if (showDemod && DemodBufferLen > 8) {
|
if (showDemod && DemodBufferLen > 8) {
|
||||||
PlotDemod(DemodBuffer, DemodBufferLen,plotRect,infoRect,&painter,2,g_DemodStartIdx);
|
PlotDemod(DemodBuffer, DemodBufferLen,plotRect,infoRect,&painter,2,g_DemodStartIdx);
|
||||||
}
|
}
|
||||||
if (g_useOverlays) {
|
if (g_useOverlays) {
|
||||||
|
@ -564,7 +565,7 @@ void Plot::paintEvent(QPaintEvent *event)
|
||||||
//Draw annotations
|
//Draw annotations
|
||||||
char str[200];
|
char str[200];
|
||||||
sprintf(str, "@%d dt=%d [%2.2f] zoom=%2.2f CursorAPos=%d CursorBPos=%d GridX=%d GridY=%d (%s) GridXoffset=%d",
|
sprintf(str, "@%d dt=%d [%2.2f] zoom=%2.2f CursorAPos=%d CursorBPos=%d GridX=%d GridY=%d (%s) GridXoffset=%d",
|
||||||
GraphStart, CursorBPos - CursorAPos, (CursorBPos - CursorAPos)/CursorScaleFactor,
|
GraphStart, CursorBPos - CursorAPos, (CursorBPos - CursorAPos)/CursorScaleFactor,
|
||||||
GraphPixelsPerPoint,CursorAPos,CursorBPos,PlotGridXdefault,PlotGridYdefault,GridLocked?"Locked":"Unlocked",GridOffset);
|
GraphPixelsPerPoint,CursorAPos,CursorBPos,PlotGridXdefault,PlotGridYdefault,GridLocked?"Locked":"Unlocked",GridOffset);
|
||||||
painter.setPen(QColor(255, 255, 255));
|
painter.setPen(QColor(255, 255, 255));
|
||||||
painter.drawText(20, infoRect.bottom() - 3, str);
|
painter.drawText(20, infoRect.bottom() - 3, str);
|
||||||
|
@ -616,7 +617,7 @@ void Plot::mouseMoveEvent(QMouseEvent *event)
|
||||||
|
|
||||||
void Plot::keyPressEvent(QKeyEvent *event)
|
void Plot::keyPressEvent(QKeyEvent *event)
|
||||||
{
|
{
|
||||||
int offset;
|
int offset; // Left/right movement offset (in sample size)
|
||||||
|
|
||||||
if(event->modifiers() & Qt::ShiftModifier) {
|
if(event->modifiers() & Qt::ShiftModifier) {
|
||||||
if (PlotGridX)
|
if (PlotGridX)
|
||||||
|
@ -671,20 +672,22 @@ void Plot::keyPressEvent(QKeyEvent *event)
|
||||||
case Qt::Key_H:
|
case Qt::Key_H:
|
||||||
puts("Plot Window Keystrokes:\n");
|
puts("Plot Window Keystrokes:\n");
|
||||||
puts(" Key Action\n");
|
puts(" Key Action\n");
|
||||||
|
puts(" UP Zoom out");
|
||||||
puts(" DOWN Zoom in");
|
puts(" DOWN Zoom in");
|
||||||
puts(" G Toggle grid display");
|
puts(" G Toggle grid display");
|
||||||
puts(" H Show help");
|
puts(" H Show help");
|
||||||
puts(" L Toggle lock grid relative to samples");
|
puts(" L Toggle lock grid relative to samples");
|
||||||
|
puts(" Q Hide window");
|
||||||
|
puts(" HOME Move to the start of the graph");
|
||||||
|
puts(" END Move to the end of the graph");
|
||||||
puts(" LEFT Move left");
|
puts(" LEFT Move left");
|
||||||
puts(" <CTL>LEFT Move left 1 sample");
|
puts(" <CTL>LEFT Move left 1 sample");
|
||||||
puts(" <SHIFT>LEFT Page left");
|
puts(" <SHIFT>LEFT Page left");
|
||||||
puts(" LEFT-MOUSE-CLICK Set yellow cursor");
|
puts(" LEFT-MOUSE-CLICK Set yellow cursor");
|
||||||
puts(" Q Hide window");
|
|
||||||
puts(" RIGHT Move right");
|
puts(" RIGHT Move right");
|
||||||
puts(" <CTL>RIGHT Move right 1 sample");
|
puts(" <CTL>RIGHT Move right 1 sample");
|
||||||
puts(" <SHIFT>RIGHT Page right");
|
puts(" <SHIFT>RIGHT Page right");
|
||||||
puts(" RIGHT-MOUSE-CLICK Set purple cursor");
|
puts(" RIGHT-MOUSE-CLICK Set purple cursor");
|
||||||
puts(" UP Zoom out");
|
|
||||||
puts("");
|
puts("");
|
||||||
puts("Use client window 'data help' for more plot commands\n");
|
puts("Use client window 'data help' for more plot commands\n");
|
||||||
break;
|
break;
|
||||||
|
@ -701,6 +704,14 @@ void Plot::keyPressEvent(QKeyEvent *event)
|
||||||
master->hide();
|
master->hide();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Qt::Key_Home:
|
||||||
|
GraphStart = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Qt::Key_End:
|
||||||
|
GraphStart = startMax;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
QWidget::keyPressEvent(event);
|
QWidget::keyPressEvent(event);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -29,8 +29,8 @@ class Plot: public QWidget
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
QWidget *master;
|
QWidget *master;
|
||||||
int GraphStart;
|
int GraphStart; // Starting point/offset for the left side of the graph
|
||||||
double GraphPixelsPerPoint;
|
double GraphPixelsPerPoint; // How many visual pixels are between each sample point (x axis)
|
||||||
int CursorAPos;
|
int CursorAPos;
|
||||||
int CursorBPos;
|
int CursorBPos;
|
||||||
void PlotGraph(int *buffer, int len, QRect r,QRect r2, QPainter* painter, int graphNum);
|
void PlotGraph(int *buffer, int len, QRect r,QRect r2, QPainter* painter, int graphNum);
|
||||||
|
@ -73,13 +73,13 @@ class ProxWidget : public QWidget
|
||||||
//OpsShow(void);
|
//OpsShow(void);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// void paintEvent(QPaintEvent *event);
|
// void paintEvent(QPaintEvent *event);
|
||||||
void closeEvent(QCloseEvent *event);
|
void closeEvent(QCloseEvent *event);
|
||||||
void showEvent(QShowEvent *event);
|
void showEvent(QShowEvent *event);
|
||||||
void hideEvent(QHideEvent *event);
|
void hideEvent(QHideEvent *event);
|
||||||
// void mouseMoveEvent(QMouseEvent *event);
|
// void mouseMoveEvent(QMouseEvent *event);
|
||||||
// void mousePressEvent(QMouseEvent *event) { mouseMoveEvent(event); }
|
// void mousePressEvent(QMouseEvent *event) { mouseMoveEvent(event); }
|
||||||
// void keyPressEvent(QKeyEvent *event);
|
// void keyPressEvent(QKeyEvent *event);
|
||||||
public slots:
|
public slots:
|
||||||
void applyOperation();
|
void applyOperation();
|
||||||
void stickOperation();
|
void stickOperation();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue