แป้นพิมพ์ที่ตั้งโปรแกรมได้คือแป้นพิมพ์ที่สามารถกำหนดค่าให้ดำเนินการคำสั่งที่กำหนดเองได้หลากหลายด้วยการใช้ปุ่มลัด แป้นพิมพ์จำนวนมากมีความสามารถในการโปรแกรมในระดับหนึ่งทำให้ผู้ใช้สามารถตั้งค่าปุ่มลัดหลายปุ่มซึ่งสามารถใช้ในการเข้าถึงแอพพลิเคชั่นที่ใช้บ่อย แต่แป้นพิมพ์อื่น ๆ ได้รับการออกแบบมาโดยเฉพาะสำหรับฟังก์ชั่นโปรแกรม โดยปกติแล้วแป้นพิมพ์ที่ตั้งโปรแกรมได้นั้นจะถูกจัดการด้วยยูทิลิตี้คอมพิวเตอร์ซึ่งสามารถใช้ในการบันทึกคำสั่งที่ต้องการ
แป้นพิมพ์ที่ตั้งโปรแกรมได้พื้นฐานมากอาจมีแถวของปุ่มตามแนวขอบของปุ่มกดซึ่งสามารถใช้เพื่อเข้าถึงโปรแกรมโปรดได้ในคลิกเดียว ตัวอย่างเช่นผู้ใช้อาจเชื่อมโยงปุ่มแรกไปยังโปรแกรมอีเมลปุ่มอื่นไปยังเว็บเบราว์เซอร์และอีกปุ่มหนึ่งกับโปรแกรมประมวลผลคำเพื่อให้สามารถเข้าถึงโปรแกรมที่ใช้บ่อยเหล่านี้ได้อย่างรวดเร็ว แป้นพิมพ์อาจมีฮ็อตคีย์ซึ่งสามารถใช้ขยายหรือลดขนาดของภาพบนหน้าจอหรือทำให้คอมพิวเตอร์อยู่ในภาวะหยุดนิ่งหรือไฮเบอร์เนต
แป้นพิมพ์อาจวางตลาดให้กับผู้บริโภคที่ต้องการใช้คอมพิวเตอร์เพื่อการใช้งานเฉพาะทาง ตัวอย่างเช่นแป้นพิมพ์สื่ออาจมีแป้นที่ตั้งโปรแกรมได้ซึ่งสามารถใช้เปลี่ยนแป้นพิมพ์เป็นรีโมทคอนโทรลสำหรับคอมพิวเตอร์ทำให้ผู้ใช้สามารถเริ่มเล่นหยุดหยุดชั่วคราวหยุดชั่วคราวเดินหน้าอย่างเร็วและย้อนกลับสื่อจากระยะไกลและอนุญาต การควบคุมระยะไกลของระดับเสียง แป้นพิมพ์ภาษาสามารถตั้งโปรแกรมให้สลับไปมาระหว่างหลายภาษาหรือตัวอักษรทำให้ผู้ใช้หลายภาษาสามารถใช้แป้นพิมพ์เดียวกันสำหรับการสื่อสารทั้งหมด ในกรณีเหล่านี้แป้นพิมพ์มักจะมีการตั้งโปรแกรมไว้ล่วงหน้าพร้อมตัวเลือกสำหรับการเขียนโปรแกรมแป้นลัดใหม่
ในแป้นพิมพ์ที่ซับซ้อนยิ่งขึ้นสามารถตั้งโปรแกรมปุ่มเพิ่มเติมได้ ปุ่มฟังก์ชั่นที่ทำงานอยู่ด้านบนของแป้นพิมพ์ที่ตั้งโปรแกรมได้สามารถเปลี่ยนเป็นปุ่มลัดได้ นอกเหนือจากการเปิดโปรแกรมเฉพาะปุ่มลัดสามารถตั้งโปรแกรมด้วยมาโครซึ่งเป็นชุดคำสั่งที่ฝังอยู่ในทางลัดเดียว มาโครได้รับความนิยมอย่างสูงจากนักเขียนโปรแกรมและนักเล่นเกมที่ชอบแนวคิดของการฝังคำสั่งที่ใช้บ่อยหรือลำดับของแป้นพิมพ์ไว้ในปุ่มเดียว
ร้านค้าอุปกรณ์อิเล็กทรอนิกส์จำนวนมากขายแป้นพิมพ์ที่ตั้งโปรแกรมได้และยังสามารถสั่งซื้อผ่านร้านค้าปลีกออนไลน์ได้อีกด้วย นอกจากนี้ยังมีโปรแกรมสำหรับปรับเปลี่ยนคีย์บอร์ดปกติโดยเฉพาะคีย์บอร์ดแล็ปท็อปเนื่องจากยากต่อการแทนที่มากกว่าคีย์บอร์ดยูนิตเดี่ยว สามารถใช้โปรแกรมเหล่านี้เพื่อตั้งค่าแป้นพิมพ์ใหม่เพื่อให้สามารถใช้งานฟังก์ชันที่ต้องการได้


