diff --git a/test/browser/fixtures/user-event/pointer.test.ts b/test/browser/fixtures/user-event/pointer.test.ts
index ff48c465f..2735e139e 100644
--- a/test/browser/fixtures/user-event/pointer.test.ts
+++ b/test/browser/fixtures/user-event/pointer.test.ts
@@ -358,3 +358,28 @@ test('modifiers work with coordinates', async ({ expect }) => {
clientY: expect.closeTo(11),
}))
})
+
+test('keyboard-fired modifiers apply to pointer events', async ({ expect }) => {
+ document.body.innerHTML = ``
+
+ const click = vi.fn()
+
+ const buttonElement = document.body.querySelector('button')!
+
+ buttonElement.addEventListener('click', click)
+
+ const target = page.getByRole('button')
+
+
+ await userEvent.keyboard('[ShiftLeft>]')
+ await userEvent.pointer({ keys: '[MouseLeft]', target })
+ await userEvent.keyboard('[/ShiftLeft][AltLeft>]')
+ await userEvent.pointer({ keys: '[MouseLeft]', target })
+ await userEvent.keyboard('[/AltLeft][MetaLeft>]')
+ await userEvent.pointer({ keys: '[MouseLeft]', target })
+ await userEvent.keyboard('[/MetaLeft]')
+
+ expect(click).toHaveBeenNthCalledWith(1, expect.objectContaining({ shiftKey: true }))
+ expect(click).toHaveBeenNthCalledWith(2, expect.objectContaining({ altKey: true }))
+ expect(click).toHaveBeenNthCalledWith(3, expect.objectContaining({ metaKey: true }))
+})