What is the standard way for one to go about making a custom keyboard?

i want to make a thinkpad-like keyboard with a trackpoint. has anyone else made custom hardware for any of the framework devices? does this repo contain all the information i need? GitHub - FrameworkComputer/InputModules: Reference designs and documentation for the Input Module system in the Framework Laptop 16

Welcome to the forum.

Yep, looks like it.
Though take note of:

For reference firmware for different types of modules, check out these additional repositories:

In the qmk firmware you’ll find how qmk handles the sleep pin. Presuming you wish to utilize it. You could ignore it.

EC-side details of sleep pin (click to show)

The sleep pin is connected to the EC (Embeded Controller) so you could also look at the firmware for that, if you have interest. The FWL16 EC firmware codename is Lotus, so this should be the branch for it, github.com/FrameworkComputer/EmbeddedController/tree/fwk-lotus-azalea-19573

See the Creators & Developers > Input Module subforum category, community.frame.work/c/developer-program/input-module/135

Several community members have projects posted there.

As you can see from the github pinout, the upper modules connect via standard usb, so one could create so many different things fairly easily.

Check out this thread of someone getting pretty close to fitting the thinkpad keyboard into FL16.