diff --git a/es-core/src/components/primary/CarouselComponent.h b/es-core/src/components/primary/CarouselComponent.h index eb3953fb2..55dee1e04 100644 --- a/es-core/src/components/primary/CarouselComponent.h +++ b/es-core/src/components/primary/CarouselComponent.h @@ -294,14 +294,26 @@ template bool CarouselComponent::input(InputConfig* config, Inpu if (config->isMappedLike("leftshoulder", input)) { if (mCancelTransitionsCallback) mCancelTransitionsCallback(); - List::listInput(-10); - return true; + if (mEntries.size() < 10 && getCursor() != 0) { + mTriggerJump = true; + return this->listFirstRow(); + } + else { + List::listInput(-10); + return true; + } } if (config->isMappedLike("rightshoulder", input)) { if (mCancelTransitionsCallback) mCancelTransitionsCallback(); - List::listInput(10); - return true; + if (mEntries.size() < 10 && getCursor() != static_cast(mEntries.size()) - 1) { + mTriggerJump = true; + return this->listLastRow(); + } + else { + List::listInput(10); + return true; + } } if (config->isMappedLike("lefttrigger", input)) { if (getCursor() == 0)