Instagram: Arrow Keys on Multi-Image Posts

Makes right/left keys navigate next/previous images in multi-image posts, as well as to adjacent posts. Holding shift, right/left jumps directly between posts

As of 2024-01-20. See the latest version.

// ==UserScript==
// @name         Instagram: Arrow Keys on Multi-Image Posts
// @description  Makes right/left keys navigate next/previous images in multi-image posts, as well as to adjacent posts. Holding shift, right/left jumps directly between posts
// @match        https://www.instagram.com/*
// @version      0.4
// @author       mica
// @namespace    greasyfork.org/users/12559
// @license      MIT
// ==/UserScript==


let nextImg = () => document.querySelector('article button[aria-label="Next"]');
let prevImg = () => document.querySelector('article button[aria-label="Go back"]');
let nextPost = () => document.querySelector('svg[aria-label="Next"]').closest('button').click();
let prevPost = () => document.querySelector('svg[aria-label="Go back"]').closest('button').click();
document.addEventListener('keydown', (event) => {
    event.stopPropagation();
    if (event.shiftKey && event.key === 'ArrowRight') {
        nextPost();
    } else if (event.key === 'ArrowRight') {
        if (nextImg()) {
            nextImg().click();
        } else {
            nextPost();
        }
    } else if (event.shiftKey && event.key === 'ArrowLeft') {
        prevPost();
    } else if (event.key === 'ArrowLeft') {
        if (prevImg()) {
            prevImg().click();
        } else {
            prevPost();
        }
    }
}, true);