One-Handed Mode

When using the app with my 6.6 inches phone with just one hand I find it uncomfortable to press the ‘Again’ button with just the right hand.

Me and a friend are thinking about adding some sort of “one-handed mode”.

We are thinking about adding 2 options in Settings->Appearance->Answer Buttons positions:’Right’ and ‘Left’. The buttons are also raised a little for better ergonomics.

Any suggestions to improve this?

Gesture controls already solve this issue. Go to Settings < Controls < Enable gestures, and there you can modify the functionality to your liking. I personally use swipe gestures for answering, but you can also press on a certain region of the screen for answering.

I know this is an older thread but I really wish moving the buttons to the right side was a feature. I don’t like gestures, swiping feels imprecise with scrolling cards and tapping doesn’t actually place a button on the spot so you have to memorize the mapping and verify you’re hitting the correct zone every card which is just added friction

You can use horizontal swipes for the uncommon grades and the bottom left/right for the common grades. With “9-point touch” enabled, this would make the actions distinct and you wouldn’t need to verify anything.

This sounds like just an excuse to me. There are only 4 actions and you’ll do them thousands of times.

I’m glad gestures work for you. If a one-handed mode were to be added, you wouldn’t need to use it.

Try it through design to see how convenient it is.

BACK:

{{FrontSide}}

<hr id=answer2>

<div id="panelRightBtn">
<div>
<button class="btn4" onclick="if (typeof buttonAnswerEase4 !== 'undefined') buttonAnswerEase4();">E</button>
</div>
<div>
<button class="btn1" onclick="if (typeof buttonAnswerEase1 !== 'undefined') buttonAnswerEase1();">A</button>
</div>
<div>
<button class="btn3" onclick="if (typeof buttonAnswerEase3 !== 'undefined') buttonAnswerEase3();">G</button>
</div>
<div>
<button class="btn2" onclick="if (typeof buttonAnswerEase2 !== 'undefined') buttonAnswerEase2();">H</button>
</div>
</div>

{{Back}}

<script>
if ( (typeof AnkiDroidJS === 'undefined') ) {
    let el = document.getElementById('panelRightBtn');
    if(el) el.style.display = 'none';
}

</script>

Change “answer2” to “answer” if you like scrolling, I find it easier without it.

STYLING:

.card {
 font-family: arial;
 font-size: 20px;
 text-align: left;
 line-height: 1.5;
 color: black;
 background-color: white;
 padding: 0px 10px;
}

#panelRightBtn {
    position: fixed;
    line-height: 1;
    right: 0px;
    top: 50%; transform: translateY(-50%);
    opacity: 0.7;
    text-align: right;
    
}
#panelRightBtn div {
    padding: 20px 0px !important;
    margin: 0px !important; 
    text-align: center !important;   
}
#panelRightBtn button {
    font-size: 18px !important;
    padding: 10px 0px !important;
    margin: 0px !important;
    min-width: 25px !important;
    width: 25px !important;
    max-width: 25px !important;
    text-align: center !important;
}
.btn1 {
    background-color: #d00000 !important;    
}
.btn2 {
    background-color: #616161 !important;           
}
.btn3 {    
    background-color: #24a322 !important;    
}
.btn4 {
    background-color: #009dff !important;     
}