Steam Input
"Steam Input" เป็นคำที่ครอบคลุมถึงกลุ่มซอฟต์แวร์ ฮาร์ดแวร์ และยูทิลิตี้การกําหนดค่าทั้งหมดที่ Steam ใช้เพื่อเป็นอินเตอร์เฟซกับเกม
เครื่องมือกำหนดค่า Steam Input
เครื่องมือกำหนดค่า Steam Input (SIC) นั้นสร้างไว้ในไคลเอนต์ Steam และทำหน้าที่เชื่อมประสานระหว่างผู้เล่นกับเกม/แอปพลิเคชันของตน SIC จะรับอินพุตจากอุปกรณ์อินพุตของคุณ แล้วแปลงข้อมูลนั้นให้อยู่ในรูปแบบที่เหมาะสม ทั้งนี้ขึ้นกับการตั้งค่าของผู้เล่น จากนั้นจึงส่งข้อมูลให้กับเกม
SIC สามารถใช้ได้ในสองทางหลัก: โหมด
เลกาซี่และโหมด
เนทิฟได้
โหมดเลกาซี่
โหมดเลกาซี่เป็นโหมดที่ออกแบบมาเพื่อรองรับเกมที่ยังไม่ได้ใช้งาน API ของ Steam Input ในกรณีนี้ SIC มีหน้าที่เป็นแค่ตัวแมปอินพุตที่มีคุณสมบัติมากมาย ซึ่งผู้เล่น
ทุกคนสามารถนำไปใช้ได้กับเกม
ทุกเกมบน Steam
ผู้เล่นสามารถเปลี่ยนการแมปอินพุตทางกายภาพต่าง ๆ ให้กับอินพุตทางกายภาพอื่น ๆ ได้ เช่น การกำหนดให้ปุ่ม "A" ทำงานเหมือนปุ่ม "Enter" ของคีย์บอร์ด หรือกำหนดให้การดึงทริกเกอร์แอนะล็อกซ้ายจนสุดทำงานเหมือนการคลิกเมาส์ เป็นต้น โหมดนี้ทำงานร่วมกับอุปกรณ์ที่รองรับอินพุต
อื่น ๆด้วย ไม่ใช่แค่เพียง Steam Controller เท่านั้น
โหมดเลกาซี่เหมาะสำหรับใช้กับเกมที่ไม่เคยมีการรองรับ API เลย แต่โหมดนี้ก็มีข้อจำกัดในการทำงานอยู่ ปัญหาอย่างหนึ่งก็คือ เกมที่เขียนโปรแกรมโดยตั้งสมมุติฐานว่าการควบคุมของเกมแพ็ดกับเมาส์จะไม่มีทางทำงานพร้อมกัน จะเกิดข้อผิดพลาดมากมาย เมื่อการกำหนดค่าของคุณละเมิดสมมุติฐานดังกล่าว นอกจากนี้ เกมจะไม่ทราบเลยว่าคุณใช้เครื่องมือการตั้งค่า (เพราะเกมแค่รับอินพุตระดับต่ำจากฮาร์ดแวร์ที่เครื่องมือกำหนดค่าจำลองให้) ดังนั้นภาพสัญลักษณ์สำหรับอินพุตของคอนโทรลเลอร์ที่ปรากฏบนหน้าจออาจจะไม่ตรงกับปุ่มที่กดจริง ๆ
โหมดเนทิฟ
ในโหมดเนทิฟนี้ เกมจะรับข้อมูลอินพุตจากเครื่องมือกำหนดค่าโดยตรงในรูปแบบของ "แอ็กชั่น" แนวคิดการทำงานรูปแบบนี้ก็คือ เกมจะไม่ทราบว่าอินพุตที่แท้จริงตัวใดทำหน้าที่ขับเคลื่อนแอ็กชั่นดังกล่าว แต่จะรู้แค่ว่าแอ็กชั่นกำลังเกิดขึ้น ทั้งนี้จะมอบหน้าที่ในการกำหนดค่าและการตั้งค่าการควบคุมทั้งหมดให้แก่เครื่องมือกำหนดค่า Steam Input ดังนั้น เกมจะสามารถขอข้อมูลผ่านการเรียก API พิเศษ เพื่อรับทราบว่าการควบคุมเชิงกายภาพใดเชื่อมโยงกับแอ็กชั่นใดบ้าง โดยมีจุดประสงค์เพียงเพื่อแสดงภาพสัญลักษณ์บนหน้าจอให้ถูกต้องเท่านั้น
API ของ Steam Input
API ของ Steam Input เป็นอินเตอร์เฟซการเขียนโปรแกรมแอปพลิเคชันที่ผู้พัฒนาเกมใช้ติดต่อสื่อสารกับเครื่องมือกำหนดค่า Steam Input ในโหมดเนทิฟโดยตรง หากต้องการรองรับโหมดเลกาซี่ คุณไม่จำเป็นต้องใช้ API
คุณสามารถดูเอกสารฉบับเต็มได้ที่นี่:
ISteamInputการกำหนดค่าคอนโทรลเลอร์
ผู้เล่นสามารถตั้งค่าการแมปอินพุตได้เองอย่างเต็มรูปแบบให้กับเกมใดก็ได้ในคลังของตนโดยใช้โหมดเนทิฟ, โหมดเลกาซี่ หรือทั้งสองโหมดพร้อมกันก็ได้ การแมปอินพุตเหล่านี้เรียกว่า "การกำหนดค่าคอนโทรลเลอร์" และผู้เล่นสามารถสร้างชุดกำหนดค่าหลายชุดให้กับเกมหนึ่งเกม หรือแชร์ให้ผู้เล่นอื่น ๆ ทางออนไลน์ก็ได้
ลำดับชั้นของอินพุต
อินพุตทางกายภาพ
"อินพุตทางกายภาพ" คือกลไกทางกายภาพตามความเป็นจริงของอุปกรณ์อินพุตซึ่งผู้ใช้สามารถกระทำได้ เพื่อสร้างข้อมูลอินพุตให้กับคอมพิวเตอร์ของตน กลไกเหล่านี้อาจเป็นได้ทั้งแบบดิจิทัลและแอนะล็อก เช่น ปุ่มกด, จอยสติ๊ก, Dpad, บัมเปอร์, ทริกเกอร์, สวิตช์, แฮต, แทร็กบอล, แทร็กแพ็ด, ไจโรสโคป และอื่น ๆ
ต่อไปเราจะกล่าวถึงแนวคิดที่เป็นนามธรรมมากขึ้นกว่าเดิม ดังนั้น จำง่ายๆ ว่า "อินพุตทางกายภาพ" ก็คือองค์ประกอบย่อยต่าง ๆ บนคอนโทรลเลอร์ที่คุณใช้นิ้วมือกดได้ (หรือจะใช้นิ้วเท้าก็ไม่ว่ากัน)
แหล่งที่มาของอินพุต
"แหล่งที่มาของอินพุต" คือบริเวณของอุปกรณ์ที่สามารถพิจารณาได้ว่าเป็นโมดูลขนาดใหญ่ซึ่งสามารถกำหนดโหมดการทำงานได้หลากหลายรูปแบบ เพื่อเปลี่ยนเอาต์พุตที่ส่งออกมา
เห็นไหม บอกแล้วว่าเราจะคุยเรื่องนามธรรมกัน!
เราจะยกตัวอย่างให้เข้าใจง่ายๆ: Dpad และปุ่มด้านหน้า 4 ปุ่มที่เรียงกันเป็นข้าวหลามตัดนั้นมีความแตกต่างกันอย่างไร?
อินพุตทั้งสองชุดมี "ปุ่มกด" แบบดิจิทัลจำนวน 4 ปุ่มเหมือนกัน แต่ส่วนใหญ่ Dpad ได้รับการออกแบบทางกายภาพมาเพื่อป้องกันการกดปุ่ม ขึ้น+ลง หรือ ซ้าย+ขวา พร้อมกัน แต่สำหรับชุดปุ่มด้านหน้า คุณสามารถกดปุ่มใดก็ได้อย่างอิสระ อย่างไรก็ตาม Steam Input ช่วยให้คุณสามารถกำหนดข้อบังคับของดีแพดกับชุดปุ่มกดด้านหน้าได้
ดังนั้น แม้ว่ากลุ่มของ Dpad และปุ่มด้านหน้าจะประกอบด้วย "อินพุตทางกายภาพ" 4 ปุ่มแยกจากกัน แต่การพิจารณา "Dpad" และ "ปุ่มด้านหน้า" เป็นชุดอินพุตชุดหนึ่งจะให้ความสะดวกมากกว่า เพื่อที่เราจะได้เปลี่ยนพฤติกรรมของอินพุตดังกล่าวพร้อมกันทั้งชุด
รายการ "โหมดแหล่งที่มาของอินพุต" ทั้งหมดที่ใช้งานได้ ได้แก่:
- แทร็กแพดซ้าย
- แทร็กแพดขวา
- แทร็กแพดกลาง
- จอยสติกซ้าย
- จอยสติกขวา
- ปุ่ม ABXY
- DPAD
- ทริกเกอร์ซ้าย
- ทริกเกอร์ขวา
- ไจโร
- สวิตช์
หมายเหตุ:แหล่งที่มาของอินพุต "สวิตช์" มีไว้สำหรับอินพุตทางกายภาพที่เหลือทั้งหมดที่ไม่ตรงกับกลุ่มอื่น เช่น ปุ่ม Back และปุ่ม Start ปุ่มที่สันด้านซ้ายและขวา และปุ่มตรงที่จับด้านหลัง
รับข้อมูลเพิ่มเติมได้ที่:
โหมดแหล่งที่มาของอินพุต
คุณสามารถกำหนดโหมดการทำงานต่างๆ ให้กับแหล่งที่มาของอินพุตได้ เพื่อเปลี่ยนพฤติกรรมการทำงาน แม้ว่าโหมดเหล่านี้จะมีประโยชน์สำหรับอินพุตแบบดิจิทัล แต่คุณจะได้ใช้ "โหมดแหล่งที่มาของอินพุต" บ่อยที่สุดกับอุปกรณ์ควบคุมแบบแอนะล็อก โดยเฉพาะอย่างยิ่งกับแทร็กแพด ซึ่งสามารถกำหนดค่าได้หลายรูปแบบ
รายการ "โหมดแหล่งที่มาของอินพุต" ทั้งหมดที่ใช้งานได้ ได้แก่:
- Dpad
- ปุ่มกด 4 ปุ่ม
- เมาส์แบบสัมบูรณ์
- เมาส์แบบสัมพัทธ์
- การเลื่อนจอยสติก
- เมาส์จอยสติก
- กล้องจอยสติก
- ล้อเลื่อน
- ทริกเกอร์
- เมนูแบบสัมผัส
- จอยสติกเมาส์
- บริเวณการควบคุมเมาส์
- เมนูแฉกรัศมี
- สวิตช์
รับข้อมูลเพิ่มเติมได้ที่:
สรุปเนื้อหาโดยย่อ:
อินพุตทางกายภาพ:
ส่วนประกอบทางกายภาพบนอุปกรณ์ที่คุณใช้งานจริง ๆ เช่น: ปุ่ม A, อินพุต "ขึ้น" บน Dpad และอื่น ๆ
แหล่งที่มาของอินพุต:
กลุ่มอินพุตทางกายภาพที่ใหญ่ขึ้น ซึ่งสามารถรวมเป็นหน่วยโมดูลได้ Dpad ทั้งชุด, ปุ่มด้านหน้า 4 ปุ่ม, ชุดจอยสติกซ้ายทั้งชุด เป็นต้น
โหมดแหล่งที่มาของอินพุต:
พฤติกรรมเฉพาะที่คุณกำหนดให้กับแหล่งที่มาของอินพุต เช่น "กำหนดให้ปุ่มด้านหน้าทำหน้าที่เหมือน Dpad", "ทำให้จอยสติกซ้ายทำหน้าที่เหมือนปุ่มด้านหน้า 4 ปุ่ม" เป็นต้น
แอ็กชัน
คำสั่งคือเหตุการณ์ที่ API ของ Steam Input ใช้เพื่อควบคุมทุกสิ่งทุกอย่าง ในโหมดเนทิฟ เกมของคุณจะไม่เข้าใจเหตุการณ์ "กดปุ่ม A" แต่จะเข้าใจแค่เหตุการณ์ "กระโดด" (หรืออะไรก็ตาม) ส่วนอินพุตชนิดใดที่ทำให้เกิดการ "กระโดด" นั้นขึ้นอยู่กับผู้เล่นเป็นคนกำหนด
แอ็กชันแบบดิจิทัล
แอ็กชันแบบดิจิทัลคือแอ็กชันที่ง่ายและนิยมใช้มากที่สุด สถานะของแอ็กชันมีเพียงเปิดกับปิดเท่านั้น ดังนั้นเกมจึงมีหน้าที่แค่โพลซ้ำไปเรื่อย ๆ และรอสถานะของแอ็กชันเหล่านี้
แอ็กชันแบบแอนะล็อก
แอ็กชันแบบแอนะล็อกจะมีแกนข้อมูลมากกว่า 1 แกน เพื่อการทำสิ่งต่าง ๆ เช่น การขยับตัวละครอย่างราบรื่น การเลี้ยวรถยนต์ หรือการควบคุมกล้อง เป็นต้น โดยทั่วไปแล้ว แอ็กชันที่เกิดจากจอยสติกและเมาส์มาตรฐานจะมี 2 แกน ได้แก่ X และ Y แต่ก็สามารถรับแอ็กชันแอนะล็อกแบบแกนเดียวได้เช่นกัน (เช่น แอ็กชันที่มักเชื่อมโยงกับทริกเกอร์แอนะล็อก) ในกรณีนี้ คุณจะยังได้รับรายงานข้อมูลแอ็กชัน 2 แกน แต่แกน Y จะมีค่าเป็นศูนย์เสมอ
ชื่อของแอ็กชัน
แอ็กชันทั้งหมดจำเป็นต้องมีชื่อไว้ระบุความหมาย เช่น "กระโดด" หรือ "ต่อย" ค่าสตริงเหล่านี้จะแยกจากข้อความที่ผู้เล่นเห็น (ข้อความเหล่านั้นเรียกว่า "ป้ายกำกับของแอ็กชัน" ซึ่งสามารถแปลเป็นภาษาอื่นได้)
ตัวจัดการการดำเนินการ
การโพลการดำเนินการด้วยชื่อในรูปแบบสตริงนั้นสิ้นเปลืองทรัพยากรและไม่มีประสิทธิภาพ ดังนั้นเมื่อเกมบูตสแตรป API เกมจะต้องลงทะเบียนการดำเนินการทั้งหมดตามชื่อ แล้วรับตัวจัดการการดำเนินการที่เป็นเลขจำนวนเต็มกลับคืนมา
ต้นกำเนิดของแอ็กชัน
"ต้นกำเนิดของแอ็กชัน" คือสตริงที่ระบุว่าอินพุตประเภทใดที่เชื่อมโยงกับแอ็กชันที่กำหนด ในการกำหนดค่าคอนโทรลเลอร์ของผู้เล่น
ชุดแอ็กชัน
ชุดแอ็กชัน คือ การจัดกลุ่มเชิงตรรกะของแอ็กชันที่เกี่ยวข้องกัน อุปกรณ์อินพุตที่กำหนดสามารถมีชุดแอ็กชันทำงานอยู่ได้เพียงชุดเดียวเท่านั้นในขณะเวลาหนึ่ง ตัวอย่างเช่น คุณสามารถสร้างชุดแอ็กชัน "เมนู" ซึ่งทำงานเฉพาะระหว่างการใช้งานเมนูเท่านั้น รวมถึงชุดแอ็กชัน "ขับรถ" "เดิน" และ "ขับเครื่องบิน" สำหรับเกมอย่าง GTAV ซึ่งมีโหมดการขับขี่ยานพาหนะและการเคลื่อนที่หลายรูปแบบ สามารถใช้ชุดแอ็กชันได้ทั้งในโหมดเนทิฟและเลกาซี่ ในโหมดเนทิฟ ผู้พัฒนาเกมจะนิยามชุดแอ็กชันไว้อย่างชัดเจน และเกมจะเรียก API เพื่อกำหนดว่าชุดแอ็กชันใดที่กำลังทำงานอยู่ ในโหมดเลกาซี่ ผู้เล่นจะต้องสั่งเปลี่ยนชุดแอ็กชันด้วยตนเอง ในทั้ง 2 กรณี ชุดแอ็กชันคือวิธีที่ช่วยประหยัดเนื้อที่ของคอนโทรลเลอร์ เพราะคุณไม่จำเป็นต้องเชื่อมโยงทุกแอ็กชันที่อาจเกิดขึ้นในทุกจุดของเกมอย่างถาวร และเปิดใช้งานแอ็กชันตลอดเวลา
เลเยอร์ชุดคำสั่ง
เลเยอร์ชุดคำสั่งเป็นชุดตัวเลือกของการเชื่อมโยงแอ็กชั่นที่สามารถซ้อนทับได้บนชุดควบคุมที่มีอยู่ ซึ่งตรงกันข้ามกับชุดของแอ็กชัน เลเยอร์จะนำแอ็กชันจากชุดของแอ็กชันที่มีอยู่แล้วภายในมาใช้ โดยจะไม่นำไปแทนที่แบบจำนวนมากกับแอ็กชันที่เปิดใช้งานอยู่แล้วเมื่อเปิดใช้ แต่มีการปรับเปลี่ยนเล็กน้อย แอ็กชันเหล่านี้สามารถประกอบด้วยการปรับเปลี่ยนการตั้งค่าพร้อมกับการเพิ่มหรือการลบการเชื่อมโยงจากชุดคำสั่งฐาน มีมากกว่าหนึ่งเลเยอร์ที่สามารถนำมาใช้ได้ในแต่ละครั้งและจะนำมาใช้ได้อีกอย่างต่อเนื่อง
สำหรับข้อมูลเพิ่มเติม กรุณาอ่าน
เลเยอร์ชุดคำสั่งข้อเสนอแนะทางกายภาพ
นอกเหนือจากสิ่งที่เกิดขึ้นบนหน้าจอ อุปกรณ์อินพุตบางรุ่นอาจส่งข้อเสนอแนะให้กับผู้เล่นผ่านการสั่นและแสง
แฮปติก
แฮปติกจะช่วยในการมอบสัมผัสทางกายภาพระดับละเอียด เพื่อช่วยชี้นำการวางมือและนิ้วบนผิวสัมผัสขนาดใหญ่ รวมทั้งการบ่งบอก เช่น โมเมนตัมเสมือนของแทร็กบอลจำลอง แฮปติกสามารถใช้ได้บน Steam Controllers และคอนโทรลเลอร์นินเทนโด สวิตช์ บางรุ่น สำหรับอุปกรณ์ที่ไม่รองรับจะเพิกเฉยกับการเรียก API สำหรับแฮปติก
รัมเบิล
ข้อเสนอแนะทางกายภาพแบบดั้งเดิมที่คุ้นเคยกันมากกว่า รัมเบิลเกิดจากการหมุนมอเตอร์ภายในเพื่อให้คอนโทรลเลอร์สั่น คอนโทรลเลอร์ PlayStation 4 และ Xbox รองรับคุณสมบัตินี้ (รวมถึงอุปกรณ์ทั่วไปหลายรุ่นที่รองรับ Xinput) Steam Controller ไม่มีคุณสมบัติรัมเบิลที่แท้จริง แต่สามารถจำลองการทำงานที่ใกล้เคียงได้โดยใช้ระบบแฮปติกที่มี (ดังนั้น จึงตอบสนองกับการเรียก API สำหรับรัมเบิล)
LED
ทั้ง Steam Controller และคอนโทรลเลอร์ PlayStation 4 มีไฟ LED อยู่ในตัวคอนโทรลเลอร์ หลอดไฟของ Steam Controller จะมีสีขาวเสมอ ส่วนคอนโทรลเลอร์ PlayStation 4 นั้นมีหลอดไฟสี LED ที่ตั้งโปรแกรมได้อย่างเต็มรูปแบบ อุปกรณ์ทั้ง 2 ชนิดตอบสนองการเรียก API เพื่อเปลี่ยนสีของแสงไฟ แต่ Steam Controller จะส่องแสงเพียงสีเดียว และใช้ในการควบคุมความสว่าง ส่วนคอนโทรลเลอร์ PlayStation 4 จะสามารถใช้เพื่อควบคุมได้ทั้งสีและความสว่าง อุปกรณ์ที่ไม่รองรับจะเพิกเฉยกับการเรียก API สำหรับไฟ LED