1
0
mirror of https://github.com/glfw/glfw.git synced 2025-04-02 06:51:59 +00:00
glfw/CONTRIBUTORS.md
Grzesiek11 b168c47c6a
Fix extended scancode of 0 not being processed correctly
On Windows, keyboard events with an extended 0 Windows scancode are now
processed by mapping the virtual-key code to a Windows scancode using
the Win32 MapVirtualKey function.

Some keyboard scancodes (in particular, ones used for some non-typical
keys) are not mapped to corresponding Windows scancodes, and are instead
mapped to an extended 0 Windows scancode, with the distinction being
only in the virtual-key code.

This causes GLFW to report a 256 GLFW scancode (0x00 | 0x100, 0x100
being the extended bit bitmask) for any of those keys, which causes API
consumers to be unable to distinguish between them.

There exists, however, a Win32 function MapVirtualKey that maps those
virtual key-codes to proper Windows scancodes. GLFW even appears to use
this workaround, but after further inspection, it checks whether the
Windows scancode is 0 (0x00), and not extended 0 (0x100).

This change makes GLFW check for the extended 0 keycode instead, which
seems to work correctly. I'm not sure if checking for the non-extended 0
Windows scancode was intentional, as I never seem to have encountered
one during testing with multiple keyboards. Thus, the handling of the
non-extended 0 Windows scancode was removed, but it can be brought back
if necessary.
2023-10-21 12:34:01 +02:00

4.8 KiB

Acknowledgements

GLFW exists because people around the world donated their time and lent their skills. This list only includes contributions to the main repository and excludes other invaluable contributions like language bindings and text and video tutorials.

  • Bobyshev Alexander
  • Laurent Aphecetche
  • Matt Arsenault
  • Takuro Ashie
  • ashishgamedev
  • David Avedissian
  • Luca Bacci
  • Keith Bauer
  • John Bartholomew
  • Coşku Baş
  • Niklas Behrens
  • Andrew Belt
  • Nevyn Bengtsson
  • Niklas Bergström
  • Denis Bernard
  • BiBi
  • Doug Binks
  • blanco
  • Waris Boonyasiriwat
  • Kyle Brenneman
  • Rok Breulj
  • TheBrokenRail
  • Kai Burjack
  • Martin Capitanio
  • Nicolas Caramelli
  • David Carlier
  • Arturo Castro
  • Chi-kwan Chan
  • TheChocolateOre
  • Ali Chraghi
  • Joseph Chua
  • Ian Clarkson
  • Michał Cichoń
  • Lambert Clara
  • Anna Clarke
  • Josh Codd
  • Yaron Cohen-Tal
  • Omar Cornut
  • Andrew Corrigan
  • Bailey Cosier
  • Noel Cower
  • CuriouserThing
  • Jason Daly
  • danhambleton
  • Jarrod Davis
  • Olivier Delannoy
  • Paul R. Deppe
  • Michael Dickens
  • Роман Донченко
  • Mario Dorn
  • Wolfgang Draxinger
  • Jonathan Dummer
  • Ralph Eastwood
  • Fredrik Ehnbom
  • Robin Eklind
  • Jan Ekström
  • Siavash Eliasi
  • Ahmad Fatoum
  • Nikita Fediuchin
  • Felipe Ferreira
  • Michael Fogleman
  • Jason Francis
  • Gerald Franz
  • Mário Freitas
  • GeO4d
  • Marcus Geelnard
  • ghuser404
  • Charles Giessen
  • Ryan C. Gordon
  • Stephen Gowen
  • Kovid Goyal
  • Kevin Grandemange
  • Eloi Marín Gratacós
  • Stefan Gustavson
  • Andrew Gutekanst
  • Stephen Gutekanst
  • Jonathan Hale
  • hdf89shfdfs
  • Sylvain Hellegouarch
  • Björn Hempel
  • Matthew Henry
  • heromyth
  • Lucas Hinderberger
  • Paul Holden
  • Hajime Hoshi
  • Warren Hu
  • Charles Huber
  • Brent Huisman
  • illustris
  • InKryption
  • IntellectualKitty
  • Aaron Jacobs
  • JannikGM
  • Erik S. V. Jansson
  • jjYBdx4IL
  • Toni Jovanoski
  • Arseny Kapoulkine
  • Cem Karan
  • Osman Keskin
  • Koray Kilinc
  • Josh Kilmer
  • Byunghoon Kim
  • Cameron King
  • Peter Knut
  • Christoph Kubisch
  • Yuri Kunde Schlesner
  • Rokas Kupstys
  • Konstantin Käfer
  • Eric Larson
  • Francis Lecavalier
  • Jong Won Lee
  • Robin Leffmann
  • Glenn Lewis
  • Shane Liesegang
  • Anders Lindqvist
  • Leon Linhart
  • Marco Lizza
  • Eyal Lotem
  • Aaron Loucks
  • Luflosi
  • lukect
  • Tristam MacDonald
  • Hans Mackowiak
  • Ramiro Magno
  • Дмитри Малышев
  • Zbigniew Mandziejewicz
  • Adam Marcus
  • Célestin Marot
  • Kyle McDonald
  • David V. McKay
  • David Medlock
  • Bryce Mehring
  • Jonathan Mercier
  • Marcel Metz
  • Liam Middlebrook
  • Ave Milia
  • Jonathan Miller
  • Kenneth Miller
  • Bruce Mitchener
  • Jack Moffitt
  • Ravi Mohan
  • Jeff Molofee
  • Alexander Monakov
  • Pierre Morel
  • Jon Morton
  • Pierre Moulon
  • Martins Mozeiko
  • Pascal Muetschard
  • James Murphy
  • Julian Møller
  • ndogxj
  • F. Nedelec
  • n3rdopolis
  • Kristian Nielsen
  • Joel Niemelä
  • Kamil Nowakowski
  • onox
  • Denis Ovod
  • Ozzy
  • Andri Pálsson
  • luz paz
  • Peoro
  • Braden Pellett
  • Christopher Pelloux
  • Michael Pennington
  • Arturo J. Pérez
  • Vladimir Perminov
  • Olivier Perret
  • Anthony Pesch
  • Orson Peters
  • Emmanuel Gil Peyrot
  • Cyril Pichard
  • Pilzschaf
  • Keith Pitt
  • Stanislav Podgorskiy
  • Konstantin Podsvirov
  • Nathan Poirier
  • Alexandre Pretyman
  • Pablo Prietz
  • przemekmirek
  • pthom
  • Martin Pulec
  • Guillaume Racicot
  • Juan Ramos
  • Christian Rauch
  • Philip Rideout
  • Eddie Ringle
  • Max Risuhin
  • Joe Roback
  • Jorge Rodriguez
  • Jari Ronkainen
  • Luca Rood
  • Ed Ropple
  • Aleksey Rybalkin
  • Mikko Rytkönen
  • Riku Salminen
  • Yoshinori Sano
  • Brandon Schaefer
  • Sebastian Schuberth
  • Christian Sdunek
  • Matt Sealey
  • Steve Sexton
  • Arkady Shapkin
  • Ali Sherief
  • Yoshiki Shibukawa
  • Dmitri Shuralyov
  • Joao da Silva
  • Daniel Sieger
  • Daniel Skorupski
  • Slemmie
  • Anthony Smith
  • Bradley Smith
  • Cliff Smolinsky
  • Patrick Snape
  • Erlend Sogge Heggen
  • Olivier Sohn
  • Julian Squires
  • Johannes Stein
  • Pontus Stenetorp
  • Michael Stocker
  • Justin Stoecker
  • Elviss Strazdins
  • Paul Sultana
  • Nathan Sweet
  • TTK-Bandit
  • Jared Tiala
  • Sergey Tikhomirov
  • Arthur Tombs
  • TronicLabs
  • Ioannis Tsakpinis
  • Samuli Tuomola
  • Matthew Turner
  • urraka
  • Elias Vanderstuyft
  • Stef Velzel
  • Jari Vetoniemi
  • Ricardo Vieira
  • Nicholas Vitovitch
  • Simon Voordouw
  • Corentin Wallez
  • Torsten Walluhn
  • Patrick Walton
  • Xo Wang
  • Andre Weissflog
  • Jay Weisskopf
  • Frank Wille
  • Andy Williams
  • Joel Winarske
  • Richard A. Wilkes
  • Tatsuya Yatagawa
  • Ryogo Yoshimura
  • Lukas Zanner
  • Andrey Zholos
  • Aihui Zhu
  • Santi Zupancic
  • Jonas Ådahl
  • Lasse Öörni
  • Leonard König
  • Grzesiek11
  • All the unmentioned and anonymous contributors in the GLFW community, for bug reports, patches, feedback, testing and encouragement